Currently, I'm handling QA for umpteen number of projects (web and mobile). All these projects have multiple features being rolled out on a daily basis. The number of production bugs increased organically in the past few months. To mitigate the same, we started smoke testing post releases for a couple of projects and made it rule of thumb. This has resulted in significant reduction of production failures. What other strategies, practices we can adopt to further reduce production failures?
As the first step I'd try to understand the root cause of bugs, categorise and measure them constantly.
- If bugs are there because each component/service/product is not test correctly, talk to the responsible team and explain why you believe they need to test better e.g more Unit Test, Integration Test etc.
- If the problem comes from higher level e.g integration between Mobile and Backend, go with more generic way e.g Contract Testing.
- If there are test cases that can not be catch by previous steps, go with minimum end-2-end test (of course Automated preferably).
- Anything stays out should be done via e.g (Manual) regression testing before each release.
- (Bonus) if your team are confident enough go with testing on production.
- Test automation to reduce regression issues
- Retrospective analysis of why that particular defect leaked to production. What had we missed in testing.
- Assign relevant tags to your defects so that you could track the defect's dynamics more clearly in correlation with the changes you undertake in your process.
- Encourage end-users to report even low-severity defects. Make reporting process easy and user-friendly.
- Poll your stakeholders, devs and probably end-users on what could be done better