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.