Tests are designed to test development work products. A lot depends on these tests and their evaluation of the software system or components being tested. However, like the software work products, tests too are an output of human endeavor and humans are prone to making errors. Since, the entire organization relies on the tests that testers develop, it is important that these tests be first tested well.
All test artifacts, such as the test cases, automation suites, etc, should be tested extensively. Test the tests first so they can then test effectively. Examples of testing tests include, reviews by peer testers as well as development counterparts, execution with controlled inputs, verifying test steps and validating output. Similarly test automation suites need to be treated with the same care as a regular development project and be subject to the similar software development standards and practices. These suites should be subject to similar levels of testing and QA like the regular software products that the organization produces.
For testware to inspire confidence in their ability to suitably test software, they must first be tested.
All test artifacts, such as the test cases, automation suites, etc, should be tested extensively. Test the tests first so they can then test effectively. Examples of testing tests include, reviews by peer testers as well as development counterparts, execution with controlled inputs, verifying test steps and validating output. Similarly test automation suites need to be treated with the same care as a regular development project and be subject to the similar software development standards and practices. These suites should be subject to similar levels of testing and QA like the regular software products that the organization produces.
For testware to inspire confidence in their ability to suitably test software, they must first be tested.