Can you anyone explain the What is Bug leakage with example and how to avoid bug leakage in software product development?
Bug Leakage is defined as:
Software bugs/defects that are discovered in the current phase of product that was supposed to be found in an earlier phase of the product.
An example of this would be a customer reports seeing an issue on your product in a production environment after your team tests and deploys it from a staging/testing environment.
Although there are a wide variety of fixes for bug/defect leakage, I would start by looking into your companies current approach to testing. Here are some common issues I have seen while working in my career.
- Lack of product knowledge. (Alleviate this issue with training your testers on the products that they are testing)
- Process review for test cases. (Ensure that test case reviews are happening. Meaning that another person who didn't create the test cases reviews them, and ensures they are of good quality)
- Quality of testing data in your staging/testing environment. (Always strive to have an environment where you have comparable data to a production environment, work with team-members of your company to gain access to what you need)
- Tests are limited to "Happy Path" testing. (Review your test cases to ensure there are some "Edge Case" scenarios that are covered in testing. Another option that has been extremely helpful in the past for me is by adding a few hours of exploratory/ad-hoc testing to a release cycle)
- Some testers might just be "Checking" the requirements and not "Testing" them. (Reach out to your testers and make sure they know you are not just looking for a spot check of requirements, make sure they are digging deeper into the tests to expose flaws. Test cases are a good blue print for the tester, but they miss a lot of details that should be implied with quailty QA testing)
Bug leakage: When a bug is found by the end users or customer, and missed by the QA team while testing the software.
**For example:-**QA team tested the software for a .XX version release on their QA or staging environment. After the release on production, if any valid issue has been found by customer then such an issue termed as Bug Leakage.
Below are the few points need to be followed by QA of any software testing company in order to avoid bug leakage issues:-
- QA Manager/Lead's/BA’s should actively participate, discuss and bring out scenarios that happens in live environment
- Make sure that test case should covers every modules of your software
- Proper review of test cases from the lead and monitoring the test execution cycle
- Change in hands means if in any build cycle Engineer A executing then in another cycle allot to another QA engineer.
- Try to complete the test case execution before the release so QA have time to run adhoc test on the product.
Other answers have defined bug leakage, but the avoid answers seem to be very process specific. They look like generally good ideas, but every company and product is different. Answers like test more and test everything seem unsatisfactory.
I would suggest for every bug that leaked you execute a root-cause analyses. Find the core reason and fix that with whatever is needed to fix that. Don't create extra quality gates in your process too fix symptoms. That will just slow you down and probably waste a lot of resources.