Saturday, February 26, 2011

Review of - The Selenium Testing Tools - Beginner's Guide

As mentioned in one of previous post, I got an opportunity to review a book on Selenium call - The Selenium Testing Tools - Beginner's Guide from PACKT Publishing.

Selenium 1.0 Testing Tools: Beginner’s Guide

I had used Selenium in lot of my projects, I thought, I knew selenium quiet well before reading the book.  After reading the book, I realized that, I had only partial knowledge about Selenium.  I knew how to do things, but the book taught me, how to do them in many different ways and what was the best way in a given situation.

The book, taught me lot of new things about Selenium.  For example, I always thought that, using Selenium IDE, one cannot write maintainable tests, but after reading the book, I realized that if one follow the patterns mentioned in the book, one can easily write maintainable tests simply using Selenium IDE.

Moreover, non-programmers can convert the Selenium IDE tests to programming API tests in a matter of few clicks!

There are may good things that, I could take away from the book, here are a few that stood out:

  • Starts of from the very basics.  The book start with installation of Selenium IDE, Firebug and Firefinder add-ons to Firefox.  Because of this, someone who has never worked with selenium before, can quick start and write their first selenium tests in a matter for minutes
  • While reading some books, I get lost and have to figure out how to do a certain step.  But things are different with this book, there are screenshots for almost every thing.  For every step that book shows there is a Screenshots.  This helps us understand the concepts in a much better way.
  • Book encourages the use of best practices.  For example, book clearly explains why the test cases should be independent of each other and how one could achieve that.  Book encourages the use of Firebug and Firefinder.  These are two tools which every web-develop/web-QA should know for sure!
  • Explains how one can convert Selenium IDE test to programming tests using just the Selenium IDE.  I did try it and it does work!
  • Book Explains how we could use Selenium Grid to parallelize our tests.  Using Selenium Grid we could target our tests to run on a certain browser on a certain OS.  For example, we could configure that Test1 should run on "Firefox on Mac" or "IE on Windows".  Using this feature you can test your application on lot of platforms and browsers without a lot of pain!
  • Demonstrates advanced techniques like Cookie handling using Selenium API
  • A full chapter dedicated to Selenium 2
  • At various steps, the book presents the user with Popup Quizzes, these are helpful to test what we have learned!
  • Explains the Page Pattern.  While writing the Selenium tests using the Programming API, its extremely important that we do not repeat code for every test.  Book explains how we could achieve maximum reuse of code.  End result, more maintainable and easy to write/read tests!
  • Explains various techniques like xpath, regexp, css and javascript to locate an element.  Its extremely necessary that we learn how to locate the element efficiently.  Using the right technique at the right place could result in faster and easy to read tests.  For example using xpath at a place where css could have been used would result in slower tests!
  • Explains the use of user extensions.
Those are some of the take away's for me from the Book.  

The book has much more to offer than, what I have described here.  Take my advice, do not waste any time and grab a copy of the book from here!

13 comments:

  1. I am a QA manual tester having 2 years experience.I dont have any programming knowledge.Should I learn Selenium

    ReplyDelete
  2. Hello Shuchi,

    I would definitely recommend learning Selenium to any QA. It would definitely add value to your resume.

    Moreover its not required that you should have any programming knowledge for learning Selenium. You can start off with Selenium IDE.

    Regards

    Deep Shah

    ReplyDelete
  3. hello deep,

    i known that qtp is better than selenium so which would i select to learn for further scope in testing area

    ReplyDelete
  4. If you are working as a QA it would not harm to learn as many tools as possible.

    ReplyDelete
  5. Hi Deep, im a manual tester and my understanding of Selenium is, it is a suite having many parts to it. Selenium IDE & RC are supposed to be core of this suite. Correct me if im wrong, Selenium IDE is reasonably easy to learn, where as to learn Selenium RC, one has to know a programming language (like .Net, java, perl, php, python and ruby), right?

    So, can we safely say that Selenium IDE can be used for just record & play, where as Selenium RC is for more complex tests?

    Regards,
    Prasanna

    ReplyDelete
  6. Hello Prasanna,

    You are correct in your understanding.

    Thanks

    Deep Shah

    ReplyDelete
  7. Hi Deep,

    I am working as a java developer. I have 4+ years of experience .But in few projects got opportunity to work in manual testing. Planning to move to the testing area. So could you please guide me which testing tools should I select to learn for future scope.

    Thanks,
    Sunita

    ReplyDelete
  8. Hello Sunita,

    You can start with Selenium and Fitness. As you progress you can learn other tools.

    Thanks
    Deep Shah

    ReplyDelete
  9. Hi Deep,

    I want to learn to learn selenium testing. Can you tell me the future of selenium tool. In present market which tool is best? selenium or any other?

    ReplyDelete
  10. Selenium is an excellent tool when it comes to automated testing its a good tool to learn. There are other tools but you can start with selenium.

    ReplyDelete
  11. Selenium is an excellent tool when it comes to automated testing its a good tool to learn. There are other tools but you can start with selenium.

    ReplyDelete
  12. Selenium is an excellent tool when it comes to automated testing its a good tool to learn. There are other tools but you can start with selenium.

    ReplyDelete
  13. Hi,
    I am planning to learn Selenium and JMeter. As per the above discussion, Selenium is a good tool to start over with. What about JMeter?

    Which are the other tools I should learn for automation testing?

    Is is possible to have a good career in testing without having strong programming skills?

    Thanks

    ReplyDelete

Have some Fun!