Large-Scale Selenium-Based Testing

Christiane Philipps and Max Horváth » 03 April 2009 » in Enterprise Case Studies » 7 Comments

This is an abstract for a chapter from a book on Quality Assurance in PHP Projects.

A well established practice in web application development is testing a web-based GUI as a whole in order to ensure its functionality.

At studiVZ, we have to test three different platforms in two languages. There are many platform-specific differences, in both wording and functionality. The scenario is even further complicated by the use of AJAX functionality in some features. With a release cycle of 14 days, this is indeed a challenge for a small quality assurance team.

In addition to Unit Tests, Acceptance Tests are the main part of our automated testing strategy. There are thousands of acceptance tests that have been written since the rewrite of the platform in early 2008. Because of our special requirements (tests have to work for three platforms) we decided not to use one of these capture-and-replay web testing softwares but to write our tests by hand. We chose Selenium RC and the Selenium RC extension for PHPUnit that allows to write and execute acceptance tests in a unit test style.

But writing acceptance tests is a rocky road to success. The main problem with acceptance tests is their fragility: they will break when the code changes. Another challenge is keeping the tests maintainable, foremost readable. This was the motivation to create a domain-specific language for PHP that allows us to write tests in the language of our business rather than in Selenium's language.

We want to share our insight into the specific challenges of acceptance testing and how to handle them. Furthermore we will talk about our experiences and learning curve with a DSL-based framework for Selenium tests.

Christiane Philipps is the Team Lead Quality Assurance and Max Horváth is the Team Lead Mobile Development at studiVZ Ltd.

Trackback specific URI for this entry

7 Comments to "Large-Scale Selenium-Based Testing"

Display comments as (Linear | Threaded)
  1. sobstel
    03/04/2009 at 15:54 Permalink
    More I read about this book, more I want to have it in my hands. Please do not make us wait too long.

    Reply

  2. Jim Plush
    03/04/2009 at 17:11 Permalink
    Looking forward to follow up posts. I've been researching large scaled projects with selenium and have come up rather empty. I've been trying to get our application under two testing paradigms. Unit and Functional. Unit test the business logic and use a web test kid for Functional testing.

    Reply

  3. Steven Van Poeck
    03/04/2009 at 19:07 Permalink
    I'm very interested in what you've learned, how you implemented it as a whole and make it work with your different infrastructures.

    Will the authors be posting their further articles here ?

    Thanks,
    Steven

    Reply

  4. Sebastian Bergmann
    04/04/2009 at 07:53 Permalink
    At the moment we are just publishing the abstracts (once a week, each Friday) of the case studies that will be part of the book.

    The book will be published this fall.

    Reply

  5. Trevan Richins
    04/04/2009 at 06:26 Permalink
    Where are you going to share your insights? Is it in this blog or someplace else?

    Reply

  6. Sebastian Bergmann
    04/04/2009 at 07:54 Permalink
    The abstracts are "just" teasers for the book.

    Reply

  7. Michael
    04/04/2009 at 17:56 Permalink
    Hi, is there a special reason you chose Selenium instead of iMacros except the price? I'm going to evaluate those 2 products and would be interested in your optinion.

    Reply

1 Trackback to "Large-Scale Selenium-Based Testing"

  1. Quality Assurance in PHP Projects 04/11/2009 at 09:36
    It has been quiet on this website since we posted the last contributed chapter abstract in June and it is time to give you an update. But first, allow me to refresh your memory on the list of contributed chapters:Case Studies on QA Processes in CompaniesQ

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.


Submitted comments will be subject to moderation before being displayed.