Whitepaper · Test Reporting
Standard test dashboards — tests run, tests passed, bugs open — are at best an indirect measure of quality. A risk-aware release decision needs a direct one. This article covers four ways to report test results framed in risk terms, from a lightly-reorganized table up to the residual-risk trend chart that puts planned and actual risk reduction side-by-side with the schedule.
Read time: ~11 minutes. Written for test managers, release managers, and engineering leaders who are asked to make or approve go/no-go calls under schedule pressure.
Why risk-based results reporting matters
Risk-based testing — allocating test effort and sequencing test execution by the priority of the underlying quality risks — produces several benefits on its own. Testing effort is calibrated to risk reduction. Tests are executed in an order that surfaces serious bugs early. When time runs out, the tests that get cut are, by construction, the ones whose loss costs the least.
But the benefit most organizations want — and consistently struggle to deliver — is a fourth one: the ability to make fully-informed, risk-aware release decisions based on the level of residual quality risk at the point of shipment. That benefit requires traceability from risks to tests to test results to bugs, and it requires reporting that presents the state of the project in risk terms rather than in raw activity counts.
Standard test-management dashboards — charts of tests run, tests passing, bugs open, bugs resolved — are at best indirect and imperfect measures of quality. They're the shadow thrown by a candle in a dark room: flickering, unclear, distorted. Risk-based results reporting, done properly, gives everyone — testers and non-testers alike — a clear, direct, steady picture of residual quality risk.
Four approaches cover the realistic spectrum. Each resolves a specific weakness in the previous one, at the cost of additional complexity. Pick the lightest approach that answers the questions your stakeholders are actually asking.
Approach 1 — Categorized test and bug status
The lightest approach reorganizes the metrics you already collect — test pass/fail status, bug status — by the risk category the tests and bugs relate to. No new data, only new structure.
A hypothetical e-commerce application after four weeks of execution:
| Tests | Bugs | ||||||
|---|---|---|---|---|---|---|---|
| Risk category | Total | Pass | Fail | Not run | Total | Open | Resolved |
| Browsing | 72 | 52 | 0 | 20 | 23 | 5 | 18 |
| Catalog | 81 | 43 | 7 | 31 | 46 | 17 | 29 |
| Shopping cart | 57 | 47 | 1 | 9 | 41 | 1 | 40 |
| Checkout | 66 | 17 | 2 | 47 | 40 | 12 | 28 |
| Performance | 91 | 26 | 6 | 59 | 28 | 27 | 1 |
| Reliability | 69 | 33 | 1 | 35 | 22 | 16 | 6 |
| Usability | 75 | 34 | 3 | 38 | 21 | 14 | 7 |
What this table lets you see:
- Non-functional categories look serious. Performance, reliability, and usability each have a large number of open bugs and unrun tests.
- The low failed-test count in those categories would mislead you if you looked at pass/fail alone. The juxtaposition with open bugs exposes the real risk.
- Catalog is in functional trouble — many open bugs, many unrun tests.
- Browsing and shopping cart look well-controlled.
- Checkout has significant open work but is not as bad as the catalog.
What it doesn't let you see: the levels of the risks behind these categories. If most of catalog's open bugs and unrun tests are tied to very-low-risk items, the real residual risk is smaller than the row makes it look. The next approach fixes that.
Approach 2 — Risk-weighted test and bug status
Weight each test and bug by the risk score of the risk item it maps to. With 5-point likelihood and impact scales, risk scores range from 1 (highest) to 25 (lowest) when multiplied; or, on an ascending convention, from 25 (highest) down to 1 (lowest). Either convention works so long as it's consistent. The score for a category is the sum of the scores of the risk items in it, with their current status weighted accordingly. Dividing by 25 keeps the numbers readable.
The same hypothetical project, risk-weighted:
| Test risk scores | Bug risk scores | ||||||
|---|---|---|---|---|---|---|---|
| Risk category | Total | Pass | Fail | Not run | Total | Open | Resolved |
| Browsing | 16.20 | 15.91 | 0.28 | 0.01 | 3.82 | 0.65 | 3.17 |
| Catalog | 3.75 | 1.05 | 0.27 | 2.43 | 3.07 | 1.41 | 1.66 |
| Shopping cart | 4.32 | 1.86 | 0.02 | 2.44 | 22.50 | 0.90 | 21.60 |
| Checkout | 19.20 | 3.30 | 1.11 | 14.79 | 3.00 | 0.48 | 2.52 |
| Performance | 3.67 | 2.82 | 0.31 | 0.54 | 1.32 | 0.21 | 1.11 |
| Reliability | 95.00 | 79.20 | 3.61 | 12.19 | 0.88 | 0.04 | 0.84 |
| Usability | 25.00 | 9.66 | 0.89 | 14.45 | 0.79 | 0.17 | 0.62 |
Now the story changes:
- Catalog still looks risky — non-trivial weighted score for failed and unrun tests and open bugs.
- Browsing still looks fine — most of the weight is in passing tests.
- Shopping cart is now concerning, which the unweighted table hid. The bug-risk-score total (22.50) is very high, meaning the bugs found in this area have been serious. Most are resolved, but bug clustering says there are almost certainly more serious ones still to find.
- Performance and reliability look less risky than the unweighted table suggested — much of the open work is on lower-risk items.
- Usability is still risky.
Two decimal places of precision is usually enough. More is false precision given the granularity of the underlying risk scale.
The weighted view resolves the distortion of the unweighted one. Its remaining weakness: detail. A real program routinely has 20 or 30 risk categories, not seven. Presenting this level of resolution to executive stakeholders overwhelms them and loses the signal. The next approach compresses.
Approach 3 — Risk-status classification
Keep the risk weighting, but stop reporting test and bug metrics directly. Instead, classify the risk items themselves into three groups based on their current test and bug state:
- Green — all tests for this risk item have run and passed, and any associated bugs are resolved (fixed or deferred).
- Red — at least one test failed and/or at least one bug is still open.
- Black — no tests failed, no bugs are open, but at least one test has not yet run.
(Some teams use yellow or amber instead of black. The color choice isn't the point; the three-state model is.)
Then sum the risk scores of the items in each classification and render as a pie chart:
| Classification | % of total risk score | What it means |
|---|---|---|
| Green | e.g. 55% | Risk meaningfully reduced in these areas; tests passed. |
| Red | e.g. 12% | Risk still present; failing tests or unresolved bugs. |
| Black | e.g. 33% | Unknown; tests not yet run. |
Advantages over the tabular approaches:
- More intuitive. Three states, one chart.
- Less distorted. The calculation is on the risk items themselves, not abstractions like bug counts or test counts.
- More fine-grained. The calculation happens at the individual risk item level, not rolled up to a category.
- Drill-down works. The chart is summary; the underlying data lets any stakeholder zoom into a category or a specific risk item to see which tests and bugs drive its status.
The weakness: no time dimension. A single pie chart tells you where you are now. It doesn't tell you whether you are headed in a better or worse direction than yesterday. Small-multiple sequences of the chart over time (Edward Tufte's Envisioning Information is the canonical reference) can show the trend, but the trend line is the natural way to present change, and that's the final approach.
Approach 4 — Residual risk trend chart
The most fine-grained and actionable approach puts two curves on the same chart, over the duration of the test execution period:
- Residual test cases — the count of tests remaining to be run, descending over time.
- Residual quality risk — the cumulative risk score of the risks not yet meaningfully mitigated, descending over time.
If test execution follows risk order, the residual-risk curve should drop faster than the residual-tests curve. Risk reduces faster than test count because the tests run first carry the most weight.
The ideal pattern
risk or tests
^
100%|\
| \
| \. residual tests (linear descent)
| \.
| \.
| \ \.
| \ \.
| \. \.
| \. \.
| \. \. residual risk (drops faster early)
| \. \.
| \. \.
| \. \.
0|_______________\__\____
start end
time
At the halfway point of test execution, a typical ideal profile has approximately half the tests remaining but less than 30% of the risk remaining. The curve flattens toward the end, where only lower-risk tests are left to run.
The real pattern
Real projects don't produce the ideal. A realistic chart adds two concepts the ideal chart leaves out:
- An acceptable-residual-risk threshold. Even perfect test execution doesn't drive risk to zero, because some residual risk is inherent in the product: you cannot reduce the possible impact of a failure without removing features. What you can do is get residual risk below an agreed threshold — the line the stakeholders (especially the release decision owner) accepted as the release gate.
- Planned vs. actual overlays. Plot both the planned test-remaining and planned risk-remaining curves and the actual ones. Divergence between planned and actual is the signal.
Reading the chart for intervention
The chart tells you when to intervene. Three patterns to watch:
| Pattern | Meaning | Intervention |
|---|---|---|
| Actual-risk curve above actual-test curve | Tests are running, but not producing risk reduction at the expected rate. Often caused by high failing-test rates, blocked tests, or being unable to run in risk order due to build / environment issues. | Investigate why; identify the underlying problem (test flakiness, bug blocks, build instability, environment gaps); remediate. |
| Actual-risk curve flat with tests still running | Tests being run are low-risk; high-risk areas are blocked or not yet developed. | Escalate to development + project management; surface the risk-based schedule dependency. |
| Actual-risk curve below actual-test curve (better than plan) | Risk is reducing faster than tests because very high-risk areas are completing cleanly. | Keep going; this is what "working" looks like. |
The chart also gives the release conversation structure. At release candidate cutoff, the question becomes simple: Is the actual residual-risk curve at or below the acceptable-residual-risk threshold? If yes, and the team is aligned on the remaining residual being tolerable, ship. If no, negotiate: slip the date, cut scope, or accept a higher residual with explicit sign-off.
Current tooling
The three prerequisites for any of these reports are the same as they were fifteen years ago: traceability from risks to tests, traceability from tests to results, and traceability from results to defects. What has changed is what's available to implement it.
- Test management systems that natively support risk-item entities and traceability — Xray (in Jira), Zephyr Scale, qTest, TestRail, PractiTest. Most can store a risk score per item and roll it up.
- Issue trackers extended with custom risk-link fields (Jira, Linear, GitHub Issues with projects). The weak point is usually keeping the link up to date; automate it where possible.
- BI tools (Looker, Metabase, Grafana, Power BI) layered on top of the test-management + issue-tracker databases. These are where the trend charts actually live — a pie chart that updates nightly beats a pie chart that lives in a weekly slide deck.
- AI-assisted analysis. LLMs can summarize the narrative behind a spike in residual risk — what failed, which defects, what the team is doing about them — turning the chart into a weekly status note automatically.
None of the tooling produces the reporting for you. Someone still has to define the risk model, wire up traceability, and make sure the links stay current. Budget for that work. It is the difference between a report that is trusted and one that is rationalized away.
Implementation sequencing
If your program is starting from zero, don't jump to Approach 4 immediately. Each approach sets up the next.
- Start with Approach 1 once traceability exists between risk categories and tests / bugs. You'll have a defensible structured dashboard quickly and low cost.
- Add weighting (Approach 2) once the risk scores are stable and the team has agreed on the likelihood/impact scales. Use it internally in the test management team; don't show it to executives yet.
- Move to Approach 3 for executive and stakeholder reporting once the weighted view is stable. The three-state classification is what stakeholders will actually read.
- Add the trend chart (Approach 4) when you have at least one full release of history with the risk model in place. The chart is only useful if the plan line is credible, and the plan line gets credible with practice.
Each step takes typically 1–2 releases to stabilize. Don't rush; moving to Approach 4 on top of unstable risk scoring produces very confident-looking charts that are wrong.
Takeaways
- Standard dashboards (tests passed, bugs open) are indirect measures of quality. Risk-based reporting is direct.
- Four approaches form a progression: categorized → weighted → classified → trend-over-time. Each resolves a weakness in the previous one at the cost of some complexity.
- The trend chart with planned-vs-actual overlays and an acceptable-residual-risk threshold is the shape of a report that can actually drive release decisions.
- Every approach depends on the same thing: traceability from risks to tests to results to defects. Invest in it as a first-class deliverable.
- Current tooling can make this straightforward; it cannot make it correct. A human still has to own the risk model and the links.
Further reading
- Checklist: Test Results Reporting Process — the step-by-step process for producing risk-framed reports on a regular cadence.
- Flagship whitepaper: Quality Risk Analysis — the upstream risk analysis that makes any of this reporting possible.
- Case study: A Risk-Based Testing Pilot: Six Phases, One Worked Example — how a pilot stands up traceability and earns the right to use these reports.
- Talk: Risk-Based Testing — webinar walkthrough — the full methodology.
- Article: Investing in Testing, Part 3 — The Risks to System Quality — how to run the analysis itself (informal, ISO-aligned, FMEA).