Reducing the time spent on testing is all about effectiveness, not only for the testing process, but the entire development process. The further upstream that defects are found and eliminated, that means less defects found in testing or less defects to be found in testing. Therefore, by deduction, less time spent in testing.
Defects – Not Just in the End Product
In terms of finding defects further upstream, most organizations don’t think of the term ‘defects’ until there is a final product to find fault in, but the term defect can be used for any mistake in the process that would lead to a defect in the end product. This means everything from a drawing from a product designer to a test case that doesn’t fully test a requirement.
Research literature shows, and many tout the benefits of finding defects in requirements, but few organizations have the discipline and process in place to find defects early in the development lifecycle. And with development lifecycles becoming shorter with newer development tools and methodologies (like Agile), this puts further time pressures not only on testing, but the entire process.
So getting back to the original question on ‘How to reduce the time spent on testing”? The answer lies in testing early, and not thinking of testing in the traditional sense of finding defects in the end product. Testing should be viewed as the verification of correctness and completeness of all the intermediate products from inception to the final product.
Where to Test?
This means that more than just the end product can be ‘tested’ early in the process thereby reducing the need for and increasing the speed of traditional testing. Testing can be done for:
- User stories
- Documentation (specifications and end user documentation)
- And much more…
Should you not be able to reduce the time for testing by inspection as I’m suggesting here, the remaining question is how to reduce time spent in regression testing. We’ll save that for another day.