- Figure out how much of the “test” time is spent documententing. Try to reduce that time.
- Partial automation or scripts can reduce the test time a lot.
- Figure out the risk of NOT running each test. If the risk is small, then the test may be omitted.
- Figure out which tests are covered in other test cases (i.e. if you can’t do a check out without logging in first, then the log-in “Happy path” test is redundant)
- Figure out which tests are close enough to other tests to combine them.
- Figure out which tests are already covered by automation and/or unit testing. These can then be removed. (It is either more than you think or less than you expect)
- For regular releases (i.e. weekly, monthly), only test high-risk areas, or those impacted by the changes. With the remaining time, spot check the rest of the functionality.
Now to what I would do, which may be totally inappropriate for your situation…
I would test the impact of not doing manual regression testing at all, or maybe just from a very short checklist. I would then use the extra 5 hours to run a few exploratory testing sessions for pre-existing functionality. The scripts and tests which you have already created may help with ideas about what and how to test during your sessions.
Compare the results of the three options. How is the product improved by “regression testing” plus overhead? How is the product improved by doing no testing for pre-existing functionality? How about using testing sessions instead of factory-testing? Which process has more overhead (planning, documentation, etc)? Which finds more issues? Which encourages communication with the team? Which provides more coverage (short term AND long term)? Which is less impacted by the pesticide paradox?
Personally, I really prefer session based testing. For me, it increases time spent testing, reduces time spent documenting and updating tests, and allows me to test differently every time, thus increasing coverage in the long term. The big down-side is that there is a chance that some functionality gets missed. So perhaps a combination of techniques?