Chapter 9. Automating validation without changing specifications

 

After we refine the specification of a feature, it becomes a clear target for implementation and a precise way to measure when we’ve finished. The refined specification also allows us to check in the future whether our system still has the required functionality, every time we change it. Because of the level of detail that we get from illustrating the specifications using examples, it becomes impossible to manually run all the checks within short iterations, even for midsize projects. The solution is obvious: We have to automate as many of these checks as possible.

The right automation for validating specifications with examples is quite different from traditional test automation in software projects. If we have to significantly change the specification while automating it, the telephone game starts all over again and the value of refining the specification is lost. Ideally, we should automate the validation processes for our specifications without distorting any information. This introduces an additional set of challenges on top of the usual test automation issues.

Is automation required at all?

Starting with automation

Managing the automation layer

Automating user interfaces

Test data management

Remember