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?
-
I think you mixed up "smoke test" with "automated regression test". Smoke testing is simple check that confirms that generally website/application is working/can be accessed. Automated regression test reruns tests over and over to make sure that previously developed features are still working.– kriscorbusApr 12, 2019 at 7:53
-
It would help if you provided a bit more background on how your development and testing is organised. What is tested? What not? How is testing and development integrated?– Ray OeiApr 12, 2019 at 13:54
2 Answers
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