Chapter 4. Continuous Testing
A prevalent antipattern I have observed is that organizations care enough about automated testing to hire a few dedicated automation testers, yet the automated tests only reside within the testers’ local machines. Often, the tests may be run when the testers please or only during a release. This defies the purpose of automated testing: it significantly delays the feedback cycle. Automated testing is for the entire team to get fast feedback continuously as they incrementally make changes, and this chapter shows you how to make that happen.
Continuous testing (CT) is the process of validating application quality using both manual and automated testing methods after every incremental change, and alerting the team when the change causes a deviation from the intended quality outcomes. For example, if performance numbers for a new piece of functionality are much lower than expected, the CT process immediately notifies the team and fails the performance tests. This gives the team an opportunity to fix issues as early as possible, when they are still relatively small and manageable. Without such a continuous feedback loop, these issues could go unnoticed for a long time, cascading into deeper levels of the code over time and becoming much harder to fix.
The CT process relies heavily on the practice of continuous integration (CI) to perform automated testing against every change. Adopting CI together with CT allows the team to do continuous delivery (CD). ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access