PushToTest - Open Source Test

Tipping Point Between Record/Playback, Test Objects

Saving Your Organization From The Eventual Testing Meltdown of Using Record/Playback Solely

The screencast of a conversation I had with Adam Goucher on Selenium PageObjects is now available for free viewing. PageObjects is a strong and efficient way to create, maintain and reuse test scripts for testing Web applications. PageObjects bring object oriented programming to test scripts. Click here to watch the screencast.

The Selenium project is caught between the world of proprietary test tool vendors and the software developer community. The proprietary test tool vendors (HP, IBM, SmartBears, MicroFocus, CA, etc.) tell testers not to learn how to code. Don't worry, they promise, we will take care of the complexity and give you a simple record/playback tool. The software developer community urges austerity to build reusable, easily maintained, pattern-based test objects.

Just as IDEs include Wizards to create new applications and classes, tools for testers make it easy to start with record/playback and move into coding. There is a tipping point in tester productivity between record/playback and coding. My open source test tool, TestMaker, delays the tipping point a little by providing the TestMaker Object Designer for record/playback and then also runs test objects written in Java, Ruby, Python, and others once these make sense.

The problem for testers-that-want-to-code happens when they tip into object oriented coding patterns. Selenium does not have a official person or company to designate best practices. Oracle/Sun used to have this role for Java. It espoused EJB as the structure and patterns. HP and IBM have abdicated their responsibility to provide a code, community, and patterns around testing. That is a shame for testers who want to code.

The average tester that wants to code test objects has a variety of competing approaches: Selenium PageObjects, GEB, Fitness, etc. No wonder it is a confusing world for testers.

To make the situation worse, some business managers and test team managers believe that record/playback is sufficient to meet their testing needs solely. For an application with a few dozen workflows to test this makes sense. More common are Web applications serving multiple tenants (customers) with big data and Rich Internet Application (RIA, using Ajax, Flash, and Flex objects) user interfaces. For these environments, record/playback is a terrible choice because of the eventual maintenance the organization will need to do to keep the tests running as the application changes.

Starting with an object-oriented approach such as Selenium Page Objects will save the organization from the eventual testing meltdown of using record/playback solely. TestMaker supports both, and even a hybrid model where recorded test objects interoperate with object-oriented unit tests.

Watch the screencast. It is worthwhile.

-Frank