As organizations move toward agile, they find that testing is not just at the end anymore. Rather, it’s all throughout the development cycle. But then the question is, well if testing is throughout the entire cycle, will it be more expensive than just testing at the end? But this premise is faulty because testing at the end leads to problems or defects found at the end, which in turn can be very costly. Not to mention downstream costs if critical defects reach production. Given that, we’ve come up with a list of some of the ways that we work with our clients to either reduce the cost of software testing and/or make the testing effort more focused and productive/efficient.
Top 10 Ways to Reduce the Cost of Software Testing
- Test with developers side by side, making sure requirements are tested as the product is getting developed to reduce show-stoppers at the end (usually more expensive to fix). Show-stoppers may not necessarily be bad code, but code that doesn’t do what it was supposed to do.
- Start performance and security testing early, rather than wait to the end and find a big problem. Again, big problems are expensive to solve at the end. Especially with performance and security, if the code is not structured well in the beginning, you can spot problems right away. So, spend time early to avoid spending a lot of time later.
- Determine “stable” and “well tested” areas of the application to minimize testing in these areas. Implement automation in those areas for regression that you run with each build integration.
- Analyze test scripts (automated) and test cases to remove redundancy and tests that don’t find defects. Reduce the test case repository as small as possible.
- Reduce rigid scripted testing methods and replace with exploratory testing methods (which typically find more defects faster).
- Test in small and frequent cycles in a targeted product area or function.
- Reduce test plans and long testing reports to bare-bones reporting where action will be taken based on the results of the reports. If there is no resulting action, then the reports are useless.
- Use an informal/quick defect triages to reduce the defect management cycle time.
- Categorize and organize your tests carefully so you can pull exactly what you need for the testing task at hand.
- Reduce your test platform matrix using the 80/20 rule if possible. Work with product management to determine the real commercial impact of platforms requiring support. To them, they may think Windows XP is important, or Android 2.2, but in reality, after careful examination, they may not be.
Reducing the cost of software testing goes far beyond just testing and can reach deep into the organization. Testing is, after all, just one element of quality, and reaching the best quality we can given our financial resources is what we’re after.