Designing Self-maintaining UI Tests for Web Applications
Test automation scripts are in a constant state of obsolescence. New features are added, changes are made, and testers learn about these changes long after they've been implemented. Marcus Merrell helped design a system in which a "model" is created each time a developer changes code that affects the UI. That model is checked against the suite of automated tests for validity. Changes that break the tests are apparent to the developer before his code is even checked in. Then, when features are added, the model is regenerated and automation can immediately address brand-new areas of the UI. Marcus describes fundamental test design and architecture best practices, applicable to any project. Then he demonstrates this new approach: parsing an application's presentation layer to generate an addressable model for testing. Marcus shows several case studies and successful implementations, as well as an open-source project that can have you prototyping your own model before you leave for home.