Does Agile Testing Stimulate Faster Development?

Is Agile Testing Worth the Investment?

The Agile methodology has produced a lot of noise in recent years. Some teams swear by it and others hate it. However, it has ensured testing is no longer an afterthought.

The Cost of Finding Bugs Downstream

Within Agile, testing must be examined during the software development pipeline. Does consideration of testing throughout a development sprint slow the team down and increase costs? Delaying the implementation of end-to-end testing is costly, as bugs at the end of a sprint are harder to remediate. Furthermore, bugs are more likely to make it into production when testing is delayed.  The damage to a brand can outweigh the cost of singular errors in production. At Functionize, we’ve learned many ways our clients are getting more out of testing and speeding up their development sprints. No team wants to waste time. Below is a sampling of insights:

Top 8 Ways to increase the speed of software testing

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Reduce rigid scripted testing methods and replace with exploratory testing methods (which typically find more defects faster).
  6. Test in small and frequent cycles in a targeted product area or function.
  7. 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.
  8. Use an informal/quick defect triages to reduce the defect management cycle time.
  9. Categorize and organize your tests carefully so you can pull exactly what you need for the testing task at hand.
  10. 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.