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.
To ensure that defect leakage is avoided and not persistent in the software product, as well as to validate the product’s quality, it is essential for software developers & testers to use several ways to prevent it. This allows them to evade issues in the software development cycle as well as saves their combined testing and development efforts.
Hence, the ways to avoid bug leakage in the software product are:
• Pick a precise area & perform a comprehensive analysis and testing
• Scrutinize for sensitive areas and content
• Check out the exact components that are prone to high-bug leakage
• Consider a rewrite if things are beyond doubt
• Perform rigorous testing on tiniest elements
• Have a closer look at the complete system
• Test the product in real-world like setting
To find defects and to avoid bug leakage is though crucial for effective and proper software development. It can be damaging and terrible if found in abundance or at the wrong time.
It is the responsibility of
Quality Assurance (QA)
software tester team
to uncover all the bugs, defects, flaws, and more from a system at the suitable time, as it will help them build an efficient application or software of top-quality, functionality, performance, and more.
Moreover, the lower the value of bug leakage in software testing, the better is the quality.