Most QA reports answer the question “how busy was the test team?” Very few answer the question leaders actually care about: “can we ship this, and what will it cost us if we’re wrong?”
That gap is expensive. The Consortium for Information & Software Quality estimated that poor software quality costs the US economy at least $2.41 trillion, with accumulated technical debt of about $1.52 trillion on top. And the data to prevent some of that loss often already exists. The World Quality Report 2025-26 found that 94% of organizations review production data, yet nearly half struggle to turn what they see into actions that improve quality.
So the problem is rarely a lack of numbers. It is a lack of numbers that mean something. This guide covers the 12 software testing metrics we see QA managers get the most value from, the vanity metrics worth retiring, how to build a dashboard people actually use, and the new measurements that AI-generated code now demands.
Why Isn’t the Number of Test Cases Enough?
Test case count is the most common QA metric in status reports, and it tells you almost nothing about quality. A suite of 4,000 test cases can miss the payment flow that breaks in production, while a suite of 400 well-chosen cases can catch it. Count measures effort. It says nothing about whether the effort landed on the risks that matter.
Count also rewards the wrong behavior. When a team is praised for adding test cases, it adds test cases: duplicates, trivial checks, and long scripts that assert very little. The suite grows, execution time grows, maintenance cost grows, and nobody can say whether the product is safer than it was last quarter.
The research backs this up in a less obvious way. In a study of large Java projects that won an ACM Distinguished Paper award, Inozemtseva and Holmes found that suite size correlates with fault detection, but code coverage showed only a low-to-moderate correlation with effectiveness once suite size was controlled for. In plain terms: more tests find more bugs up to a point, but neither the count nor the coverage number tells you which bugs you are still missing. That question needs different metrics.
What Makes a Good QA Metric?
The software testing metrics worth tracking are the ones that change a decision. For most QA managers, that means 12 KPIs across four areas: coverage (test coverage, requirement coverage), defects (density, leakage, severity distribution, resolution time), test execution (pass rate, automation coverage, automated test stability, regression execution time), and outcomes (production defect rate, release quality). Track each one as a trend, pair it with a counter-metric so it can’t be gamed, and show each audience only the metrics it can act on.
A good QA metric earns its place on a dashboard by passing a few simple tests. We use these five when helping teams decide what to keep.
- It drives a decision: If the number moved sharply tomorrow, someone would do something different. If nobody would react, the metric is decoration.
- It has an owner: One named person is accountable for explaining the trend and proposing a response.
- It is paired with a counter-metric: Every metric can be gamed. Pairing pass rate with defect leakage, or automation coverage with test stability, makes gaming visible.
- It is read as a trend: A single value (82% coverage) invites argument. A 12-week trend with release markers invites diagnosis.
- It is defined the same way every time: If “critical defect” means something different in each squad, the rollup is fiction. Write down the definitions and align them with a standard, such as the ISTQB glossary or ISO/IEC/IEEE 29119, where applicable.
Google’s DORA research program gives the same warning about delivery metrics. Its guidance calls out setting a metric as a goal and relying on “one metric to rule them all” as two of the most common pitfalls, and points to Goodhart’s law as the reason. Once a number becomes a target, people optimize the number instead of the outcome. The fix is not fewer metrics. It is metrics that check each other.
Which 12 Software Testing Metrics Should a QA Manager Track?
The 12 KPIs below fall into four groups: coverage, defects, test execution, and outcomes. For each one, we give a working formula and the counter-metric that keeps it honest. If you run CI/CD pipelines, our earlier guide on continuous testing metrics goes deeper on pipeline-level measures such as build success rate and lead time. This list sits one level up, at the point where QA managers report to the rest of the business.
1. Test Coverage: Measuring Risk Covered, Not Lines Touched
Code coverage tells you which lines or branches ran during testing. That is useful for finding untested code, and weak as proof that tested code works. A Google study of almost 15 million mutants found that for 70% of high-priority bugs examined, mutation testing would have flagged a surviving mutant in the change that introduced the bug, even though existing tests already covered that change. The code ran. Nothing checked it properly. Measure branch coverage on changed code, weight it by business risk, and treat low coverage in a high-risk module as a finding, not a score.
- Formula: (Branches executed by tests ÷ Total branches) × 100, reported per module and for each change set
- Pair it with: Mutation score or defect leakage in covered modules
2. Requirement Coverage: Proving Every Commitment Has a Test
Requirement coverage shows the share of agreed requirements, user stories, or acceptance criteria that have at least one linked test that has been executed. It is the metric product owners and auditors understand fastest, because it answers “did we test what we promised?” A traceability matrix makes it possible, and regulated industries often require one anyway. Be strict about the word “executed.” A requirement linked to a test that was never run is not covered.
- Formula: (In-scope requirements with at least one executed, linked test ÷ Total in-scope requirements) × 100
- Pair it with: Requirement-related defects found in UAT or production
3. Defect Density: Finding the Modules That Keep Breaking
Defect density normalizes defect counts by size, so you can compare a large module fairly with a small one. Its real value is locational. When one payment service carries four times the density of everything around it, you know where to put code review time, refactoring budget, and your strongest testers. Size can be measured in thousands of lines of code, function points, or story points, as long as you use the same unit across releases.
- Formula: Confirmed defects ÷ Size of the component (KLOC, function points, or story points)
- Pair it with: Defect severity distribution, so teams aren’t rewarded for logging fewer bugs
4. Defect Leakage: The Bugs Your Process Let Through
Defect leakage measures the share of defects that escaped a testing phase and were found later, usually in production or UAT. It is the most direct test of whether your QA process works, because it counts the failures the process was built to prevent. Fix the counting window (for example, 30 days after release) so numbers stay comparable. Then review every high-severity escaped defect and ask one question: which test, review, or environment should have caught it?
- Formula: (Defects found after the phase or release ÷ Total defects found before and after) × 100, within a fixed window
- Pair it with: Regression execution time, so leakage isn’t cut by making every release slower
5. Defect Severity Distribution: Reading the Shape of Your Bug Backlog
Two teams can each report 60 open defects and be in completely different situations. One has 58 cosmetic issues and two minor bugs. The other has nine critical defects in checkout. Severity distribution shows the shape of the backlog, and the share of critical and high defects is usually what release managers want first. A slow rise in that share over several sprints is one of the earliest warnings that quality is slipping.
- Formula: Defects at each severity level ÷ Total open defects, tracked per release
- Pair it with: Severity reclassification rate, which exposes quiet downgrading before a release
6. Defect Resolution Time: How Long Known Problems Stay Open
Resolution time tracks how long it takes to go from a reported defect to a verified fix. Report it by severity and use the median plus the 90th percentile rather than the average, because one six-month-old bug can badly distort an average. Long resolution times for high-severity defects usually point to capacity or ownership problems, not testing problems, which is exactly why engineering managers need to see this number.
- Formula: Median and 90th percentile of (Verified fix date − Report date), grouped by severity
- Pair it with: Reopen rate, since fast fixes that come back were never really fixed
7. Test Pass Rate: A Health Signal, Never a Goal
Pass rate is the share of executed tests that passed. It is useful as a daily health signal and harmful as a target. Teams told to hit 98% learn to skip failing tests, soften assertions, or mark tests as “known issues.” Report blocked and skipped tests separately so they don’t hide inside the denominator. And pay more attention to sudden drops than to the absolute level.
- Formula: (Passed tests ÷ Executed tests) × 100, with blocked and skipped counts reported alongside
- Pair it with: Defect leakage. A high pass rate with rising leakage means the tests are checking the wrong things.
8. Automation Coverage: Automating the Right Tests, Not the Most Tests
Automation coverage shows how much of your regression scope runs without a person clicking through it. The useful version is scoped by risk tier. Automating 90% of low-risk UI checks while the high-risk settlement logic stays manual looks great on a chart and does little for release confidence. Set separate targets for each risk tier, and leave room for manual exploratory testing, which catches entire categories of problems that scripts miss.
- Formula: (Automated regression cases ÷ Total regression cases in scope) × 100, reported per risk tier
- Pair it with: Automated test stability
9. Automated Test Stability: Whether Anyone Still Trusts a Red Build
An automated suite is only useful if people believe it. Once red builds are routinely dismissed as “probably flaky,” real failures get dismissed too. Google reported that about 1.5% of its test runs produced flaky results and almost 16% of its tests showed some level of flakiness. It described developers writing off legitimate failures as flaky. Measure flakiness per test, quarantine repeat offenders, and track how long tests stay in quarantine, because a quarantine that never empties is just a quieter way of deleting coverage.
- Formula: 100 − (Tests that both passed and failed on the same code within N runs ÷ Total automated tests × 100)
- Pair it with: Quarantine count and average quarantine age
10. Regression Execution Time: The Length of Your Feedback Loop
Regression execution time is the wall-clock time from triggering the release regression suite to having a full result. It sets the pace of everything downstream. If regression takes two days, teams batch changes to avoid running it, and bigger batches make failures harder to trace. Track the median and the slowest runs, and look at where the time goes: environment setup, serial execution, test data loading, or a handful of slow end-to-end tests.
- Formula: Median and 90th percentile of (Regression result time − Trigger time)
- Pair it with: Defect leakage, so speed isn’t bought by quietly trimming the suite
11. Production Defect Rate: What Customers Actually Experience
Where defect leakage looks at one release through the lens of the test process, production defect rate looks at the customer’s experience over time. Normalize it by a metric that reflects usage, such as defects per 1,000 active users, per million transactions, or per deployment, so growth doesn’t appear as a decline. Executives recognize this number because it maps closely to support tickets, churn risk, and incident reviews.
- Formula: Production defects in the period ÷ Usage unit (active users, transactions, or deployments)
- Pair it with: Deployment frequency, to show whether fewer defects came from better quality or from shipping less.
12. Release Quality: Judging Each Release as One Unit
Release quality turns the question “how did that release go?” into a small, consistent scorecard. A practical version combines whether exit criteria were met, the change fail rate, any hotfixes or rollbacks, and severity-1 incidents in the first 14 days. The first two map neatly to DORA’s instability measures, change failure rate and deployment rework rate, which makes the scorecard easy to connect to engineering leadership reporting. Keep the scorecard visible, not blended into a single composite score, so people can see which part failed.
- Formula: Scorecard per release: exit criteria met (yes/no), change failure rate, hotfixes and rollbacks, Sev-1 incidents within 14 days
- Pair it with: Deployment frequency and change lead time
How the 12 Metrics Fit Together
| Metric | Question it answers | Main reader | Counter metric |
| Test coverage | Where is code untested? | QA manager, engineering | Mutation score, leakage |
| Requirement coverage | Did we test what we promised? | Product, audit | Requirement defects in UAT |
| Defect density | Which modules are fragile? | Engineering manager | Severity distribution |
| Defect leakage | What did our process miss? | QA manager | Regression time |
| Severity distribution | How serious is the backlog? | Release manager, product | Reclassification rate |
| Resolution time | How long do known issues stay open? | Engineering manager | Reopen rate |
| Test pass rate | Is the build healthy today? | QA team | Defect leakage |
| Automation coverage | How much regression runs unattended? | QA manager | Test stability |
| Automated test stability | Do we trust our results? | QA and dev leads | Quarantine age |
| Regression execution time | How fast is our feedback? | QA and engineering | Defect leakage |
| Production defect rate | What do customers experience? | Executive | Deployment frequency |
| Release quality | Did this release go well? | All levels | Deployment frequency, lead time |
Look at the counter-metric column, and a pattern stands out. Defect leakage appears three times. That is not an accident. Leakage is the closest thing QA has to ground truth, because it counts real failures rather than activity. If you can only afford to measure one metric well this quarter, measure leakage with a fixed window and a root-cause review for every high-severity escape. The other eleven become easier to interpret once leakage is reliable.
Which Vanity Metrics Should QA Teams Stop Reporting?
Vanity metrics look good in a slide and fail the “does it change a decision?” test. These are the ones we most often recommend for retirement or demotion.
- Total test cases written: Measures volume, rewards duplication, and says nothing about risk.
- Bugs found per tester: Turns colleagues into competitors, encourages splitting one issue into five tickets, and punishes testers working on stable modules.
- 100% pass rate as a target: Pushes teams to skip, soften, or turn off failing tests. A suite that never fails is often a suite that no longer checks much.
- Raw automation percentage: Without risk tiers and stability data, a high number can hide an automated suite full of trivial or flaky checks.
- Coverage as a pass/fail gate for everything: A single project-wide threshold invites low-value tests written only to execute lines. Use coverage to find gaps in risky code instead.
- Hours spent testing: Measures cost and presence, not quality. It belongs in a budget report, not a quality report.
None of these numbers are useless as raw data. The problem starts when you report them upward as evidence of quality. Keep them in the QA team’s working views if they help with capacity planning, and take them off the leadership slide.
How Do You Build a QA Dashboard People Actually Use?
Most QA dashboards fail the same way. They show everything, they update in real time, and nobody opens them after the first month. A useful dashboard is smaller, slower, and built around decisions.
Start with five or six metrics, not twelve. Pick the ones tied to your most urgent problem. A team fighting production incidents might start with defect leakage, severity distribution, production defect rate, and release quality. A team whose releases keep slipping might start with regression execution time, automated test stability, and resolution time. Add the rest once the first set is trusted.
Build it in layers. One view for the QA team with daily detail, one for engineering and product with sprint and release trends, and one summary page for leadership. The layers should use the same definitions and the same data, just at different levels of detail.
Show trends with release markers. A line that dips right after a major release tells a story a single number cannot. Annotate big events such as a framework migration, a new team joining, or a change in the definition of a severity level.
Agree thresholds before you need them. Decide in advance what level of leakage or critical defects triggers a release review. Thresholds set in the middle of a tense release conversation tend to move to wherever the numbers already are.
Pull from the systems of record. Test management, CI results, the issue tracker, and incident management should feed the dashboard directly. Manually assembled spreadsheets drift, and once people doubt the numbers, they stop using them.
Give every chart an owner and a question. If a chart doesn’t have a named owner and a sentence explaining the decision it supports, remove it. Dashboards grow by accident and need to be pruned on purpose.
Which QA Metrics Matter at Each Management Level?
The same metric can be essential to one person and noise to another. Matching metrics to the reader is what turns a dashboard into a decision tool.
QA Manager
The QA manager needs the working detail: automated test stability, regression execution time, test pass rate trends, requirement coverage for the current release, and defect leakage with root causes. These are the levers a QA manager can pull directly, through test design, environment fixes, automation priorities, and staffing. Review them weekly, and before every release decision.
Engineering Manager
Engineering managers care about where quality work lands on their teams. Defect density by module shows where refactoring or extra review would pay off. Resolution time by severity shows whether fixes are getting the capacity they need. Automated test stability matters here too, because flaky tests cost developer hours in reruns and investigation, not just QA hours.
Product Leader
Product leaders need to know whether the release they committed to is safe to ship and what trade-offs remain. Requirement coverage for roadmap items, the severity distribution of open defects in the release scope, and the release quality scorecard answer those questions in their own language. A product leader rarely needs to see pass rates; they need to know which promised features are fully tested and which known issues will ship.
Executive
Executives need a small number of outcome metrics that connect quality to business risk: production defect rate over time, release quality across the last several releases, and the change fail rate. If you can estimate it honestly, add the cost of escaped defects, such as incident hours, support volume, or service credits. Keep this view to one page, show quarterly trends, and explain any sharp change in a sentence.
What QA Metrics Matter in the Age of AI?
AI now writes a meaningful share of code and, increasingly, tests. The 2025 DORA report, based on nearly 5,000 technology professionals, found that 90% use AI at work while 30% report little or no trust in AI-generated code. DORA’s research also found that higher AI adoption is associated with increases in both delivery throughput and delivery instability. More code is shipping faster, and the classic 12 metrics were not designed to tell you which parts of it came from a model or how well a model’s tests actually check anything. Three new measurements help close that gap.
AI-Generated Test Validation
AI tools can produce hundreds of test cases in minutes, which makes test count even less meaningful than before. The question is whether those tests would fail when the code is wrong. Mutation testing answers that directly: introduce small deliberate faults and see whether the AI-written tests catch them. The same Google research cited above found that developers shown surviving mutants went on to write more and stronger tests over time. Track the mutation score of AI-generated tests against human-written tests in the same modules, along with the human acceptance rate: the share of AI-drafted tests a reviewer keeps without major changes.
- Formula: Mutation score = (Mutants killed by AI-generated tests ÷ Total mutants in scope) × 100; acceptance rate = (AI tests kept after review ÷ AI tests proposed) × 100
AI Defect Detection
Many teams now use AI to flag likely defects in code review, logs, or test results. The metric that matters is precision: of everything the AI flagged, how much turned out to be a real defect? Low precision recreates the flaky-test problem, because reviewers learn to ignore the alerts. Also track unique finds, meaning confirmed defects the AI caught that human review and existing tests missed. That number is what justifies keeping the tool in the pipeline.
- Formula: Precision = (AI-flagged issues confirmed as defects ÷ Total AI-flagged issues) × 100; unique find rate = confirmed defects found only by AI ÷ Total confirmed defects
AI-Generated Code Defect Rate
If your team uses coding assistants, tag AI-assisted changes and compare their defect density, leakage, and security findings with a human-written baseline in the same codebase. Measure this separately because AI code tends to fail in ways that look fine at first glance. Veracode’s testing of more than 100 language models found that AI-generated code introduced security flaws in 45% of tasks, and its Spring 2026 update showed syntax pass rates climbing above 95% while security pass rates stayed flat between 45% and 55%. Developers see the same gap in daily work: in the 2025 Stack Overflow Developer Survey, 66% named “almost right, but not quite” AI solutions as their top frustration, and more developers distrusted AI accuracy (46%) than trusted it (33%).
- Formula: Defects (or security findings) per AI-assisted change ÷ Defects per human-written change, over the same period and modules
These three metrics don’t replace the core 12. They sit on top of them. Defect leakage, severity distribution, and release quality still tell you whether customers are safe. The AI-era metrics tell you whether the new sources of code and tests are raising or lowering that safety, which is the conversation every engineering leader is now being asked to have.
Find Out Which of Your QA Metrics Are Telling the Truth
Most teams we talk to don’t need more dashboards. They need to know which numbers they already report are reliable, which ones are hiding risk, and what to measure now that AI writes a growing share of their code and tests. SHIFT ASIA’s QA consultants review your current metrics against the 12 KPIs in this guide, set up defect leakage tracking with root-cause reviews, and add AI-era measures such as mutation-based validation of AI-generated tests and defect tracking for AI-assisted changes.
Our work follows the SHIFT Quality Framework (SQF), the methodology SHIFT Inc. has refined across more than 4,000 projects a year in Japan, aligned with ISTQB and backed by 900+ test criteria updated daily. From our delivery center in Ho Chi Minh City, we pair that Japan-standard rigor with the cost and scale of a Vietnam offshore team. Talk to our QA consultants about a metrics review for your next release cycle.
Frequently Asked Questions (FAQ)
What are the most important software testing metrics for a QA manager?
The most useful set for most QA managers is defect leakage, automated test stability, regression execution time, requirement coverage, defect severity distribution, and release quality. Together they show whether the process catches defects, whether automation can be trusted, how fast the team gets feedback, and whether releases are safe. Add the remaining metrics once these are measured consistently.
What is the difference between defect leakage and production defect rate?
Defect leakage measures the share of all defects for a release that escaped testing and were found later, so it evaluates the test process. Production defect rate measures how many defects customers encounter over time, normalized by usage such as active users or transactions, so it evaluates the customer experience. A team can improve leakage while production defect rate rises if usage grows quickly, which is why both are worth tracking.
Is 100% test coverage a good goal?
Usually not. Code coverage shows which code ran during tests, not whether the tests checked the right behavior. Research by Inozemtseva and Holmes found only a low to moderate link between coverage and test effectiveness once suite size is accounted for. A better approach is to set higher coverage expectations for high-risk modules and changed code, and to check test strength with mutation testing.
How do you measure flaky tests?
A test is flaky when it both passes and fails on the same code. Rerun your automated suite several times on unchanged code, or track results across normal CI runs, and flag any test with inconsistent outcomes. Report the share of flaky tests, quarantine repeat offenders, and track how long each test stays in quarantine so flaky tests get fixed rather than quietly ignored.
How often should QA metrics be reviewed?
QA teams should review working metrics such as pass rate and test stability daily or per build. Defect trends, resolution time, and leakage fit a sprint or release cadence. Executive metrics such as production defect rate and release quality work best as monthly or quarterly trends. Review the metric set itself every quarter and remove anything that no longer drives a decision.
How should teams measure the quality of AI-generated tests?
Measure whether AI-generated tests fail when the code is wrong, not how many tests the AI produces. Mutation testing is the most direct method: inject small faults and check how many the AI-written tests catch, then compare that score with human-written tests in the same modules. Also track the human acceptance rate, meaning how many AI-drafted tests a reviewer keeps without major rework.
ContactContact
Stay in touch with Us

