What is Defect Leakage?

Defect Leakage EQengineered.jpg

What is defect leakage? The short answer is that it is a bug that got past the entire team, and any test suites that are in place, winding up in production where users could be impacted.

Definitions (source: Software Testing Help)

Defect Leakage is the metric which is used to identify the efficiency of the QA testing i.e., how many defects are missed/slipped during the QA testing. 

Defect Leakage = (No. of Defects found in UAT / No. of Defects found in QA testing.)

Defects happen. It is a fact of life and as software developers we are in a constant war that we will never fully win. As software developers, we may even create defects purposefully as requirements or timelines require us to make a decision that introduces necessary risk. But how can we eliminate the unwanted defects that make our software difficult to use and tarnish our reputation?

Good test logging, regular reporting, customer involvement, and transparency in your product can go a long way to mitigating defects. You can have the best logging in the world, but it is somewhat worthless if you do not address the defects. More time should be dedicated to handling errors from the production site as the project importance increases. These reports help everyone on the team to understand what problems are being faced by customers.

Depending on how the team best responds, these are some ways to share feedback with the team.

  1. To get a quick sense of the overall health of a mission critical application, develop an understandable, clear report which can be used in communications with and across the business and company leadership.

  2. Automatically log defects from production. This approach can get challenging quickly, so have a separate place to log defects, and then pull in relevant issues.

  3. If your team is large enough, or the project critical enough, create a small SWAT team, or rapid response team that can react to critical issues quickly and cure problems.

  4. And, as a general practice, every developer should be aware of what is happening with their software and be actively engaged and responsible for their code, even when in production.

Keeping track of defects found and repaired prior to release is an indicator of good software development health and maintains a reasonable defect removal efficiency. Equally important is to keep records of all defects found after release and bring those back to the product, development and quality teams so that test cases can be updated, and process adjusted when necessary. Transparency with software defects is just as important as identification and resolution, because your customers want to know that you own the problems and are working to resolve them.

Russ Harding