Nicolas Frankel is an IT consultant with 10 years experience in Java / JEE environments. He likes his job so much he writes technical articles on his blog and reviews technical books in his spare time. He also tries to find other geeks like him in universities, as a part-time lecturer. Nicolas is a DZone MVB and is not an employee of DZone and has posted 225 posts at DZone. You can read more from them at their website. View Full User Profile

Let Others Work For You With Selenium

  • submit to reddit

With a provocation this big, I hope I’ve caught your attention. So, let’s draw some lines: the objective is, of course, not to let others do you work. It is to share work once between the client, the business analyst and the person that will run the acceptance test.

From my point of view, all these persons do the same work:

  • the client wants features. As such, he will test those features when the product will be delivered
  • the business analyst will describe those features in details. He has to know the intricacies of each use case
  • the person that is in charge of acceptance test will likely run them more than once, probably with each delivery

As such, it is a mistake for these scenarios to be written thrice. At first, the client should describe the acceptance test that he will run: it is on these scenarios that the product will be accepted or not. The business analyst will refine these, when he describes the business. And then the acceptance test will be run.

Selenium LogoWhy not let the one of the actors do the work? In fact, in a webapp, such thing is possible with Selenium. Selenium is a suite of tools to automate your web acceptance tests. Let’s just say that one of them, Selenium IDE, is a neat little plugin that finds its way into Firefox (one more reason to use it) and acts as a recorder for interactions and page flow. The record can be exported in many formats (JUnit and TestNG for Java, but other languages are supported), modified, then put in a continuous build.

Let’s imagine that one of our trio records the use-cases. He can then share them with the other two, so that all three have the same scenarios to run.

On one of my latest project, I convinced the project manager to use Selenium IDE. He seems quite happy with it so I hope I will be able to go further the route I described earlier. I would be very interested in your own experience in this field.


Published at DZone with permission of Nicolas Frankel, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)