Human Or Tooling—is it either/or?
When people talk about test automation, in particular customer-facing test automation, they likely mean a few specific things:
- When I, as a technical person, click a button:
- This may cause The building and deployment of the software to occur
- This may cause a refresh of the test code from version control
- The tests run against the build
- The tests report the status of the software
The term test automation, examined this way, might be more accurately described as unattended test execution, evaluation, and reporting. When people talk this way, they usually don’t mean automated test design or selection. Likewise, the reporting is rarely good enough to give to programmers to fix. Instead, failing tests need to be investigated and adjusted based on the changing software. Sometimes the test code needs to be updated to match the changed production code and sometimes the test code is flaky (more on this in Chapter 11). Even...