Web regression testing

Lets get back to more technical stuff. The subject is automated testing of web applications. Our industry agrees that having continuous integration and unit tests is good software development practice. My experience is that regression testing on a end user level is equally important. Particularly during the end phases of a project and subsequent maintenance things have a tendency to break.

The pattern is developer needs to fix something in screen a, in making the fix the developer updates a component not realizing that the component is also used in screen b or c. Developer makes the fix and tests screen a. Customer tests application and finds screen b and or c broken and has no confidence whatsoever in the development process and the code.

These things happen all the time and the easy answer is including automated web tests in your continuous integration cycle. The idea is to cover all happy paths of the application. So do not test if every error condition or validation works, instead focus on creating tests that cover each screen. This way you easily find out if something has broken and find it out before the customer sees it.

Two tools that we have been using are Selenium (from the excellent people at Thoughtworks) and WebInject. The latter tends to focus more on monitoring and less on development.

Advertisements

%d bloggers like this: