Reading the Trend Lines: Open, Closed, and the Convergence Test
Four days before release, the team lead asks the question every stakeholder asks: 'are we going to make it?' The honest answer lives in two trend lines — cumulative defects opened and cumulative defects closed — plotted across the test cycle. Their relationship is a forecast, and it is computable from data the tracker already holds.
Release 4.12, a 10-day system test cycle, 137 defects found:
Day: 1 2 3 4 5 6 7 8 9 10
Opened: 12 28 47 63 78 91 102 114 126 137
Closed: 2 9 21 38 57 76 92 108 122 131
Open (net): 10 19 26 25 21 15 10 6 4 6
Three readings come off this table. The open-defect curve peaked on day 4 at 26 and is falling — discovery is tapering (the classic profile: the first third of a cycle finds the bulk of defects) while the fix rate keeps pace. The gap between the curves is narrowing toward zero — the convergence test: if closed catches opened by day 10 with a handful of open majors dispositioned, the exit criteria are reachable. The day-10 uptick from 4 to 6 open is the detail that earns trust in review — it means two late regressions arrived, and pretending the trend was monotonically down would be caught by anyone reading the same chart.
The shapes that should stop a release decision:
| Trend shape | Diagnosis | Action |
|---|---|---|
| Open curve still rising at cycle end | Discovery not finished — testing is incomplete or the build churned late | Extend the cycle or cut scope; exit criteria unreachable |
| Open flat but closed stalled too | Fix capacity deficit — defects arrive but do not leave | Escalate developer allocation, renegotiate scope |
| Both curves high and parallel | Heavy fix traffic, stable defect population | Check regression load; verify fixes are not churning |
| Open converging to a small, triaged remainder | Healthy cycle | Proceed to exit evaluation |
Defect density adds cross-release comparability: 137 defects over 42 changed KLOC is 3.3 per KLOC — against 4.1's 4.9 and 4.10's 3.8, release 4.12 is the team's cleanest, which is the trend that justifies 'the investment in contract testing is paying off'. For agile teams, defects per story point usually lands better than KLOC because size is already estimated; the metric's value is the release-over-release direction, not the absolute number.
Two honesty rules govern trend reporting. Severity-segregate everything: a converging total with an open critical in the corner is not convergence — report the curves per severity band (S1/S2 separate, S3/S4 combined) or the aggregate launders the risk. Never chart without the denominator context: a day-10 chart from a 2-day cycle and one from a 6-week cycle look alike but mean different things, and a small release's percentages swing on three defects. Charts without cycle context invite conclusions the data cannot support — the classic stakeholder trap where 'defects are down 40%' gets quoted from a release that tested 40% of the surface.
Defect Leakage: The Metric That Grades the Whole Test Effort
Everything measured so far describes the cycle; defect leakage (escape rate) grades it. Leakage counts defects found by users in production against the total found by the team before release:
leakage rate = production defects / (production + pre-release defects) × 100
Release 4.11: 3 production / (3 + 57 pre-release) = 5.0%
Release 4.10: 6 production / (6 + 44) = 12.0%
Release 4.09: 8 production / (8 + 42) = 16.0%
The three-release trend (16 → 12 → 5) is a story stakeholders can act on: detection has moved upstream, and the quarterly quality review opens with it. But leakage's power comes with three distortions, and reporting without controlling them is how the metric gets weaponized.
Severity mix is the first control. Three escaped typos and three escaped double-charge bugs produce identical rates with completely different meanings — always report leakage by severity band, and treat S1/S2 leakage as the headline with the overall rate as context. Denominator drift is the second: a quiet release with six total defects shows 16.7% leakage on one escape, wildly higher than last cycle's 5% — annotate the raw counts beside every percentage, or the rate will be quoted alone. The third is attribution honesty: production tickets labeled 'bug' include environment incidents, user errors, and requirement changes; leakage is only meaningful when the production tickets were triaged as real defects — a process the defect lifecycle from Defect Lifecycle States already supports.
The diagnostic follow-up is leakage source analysis: for each escaped defect, answer when the earliest a test could have found it — and did one exist? The categorization that comes out of one quarter's escapes:
| Escape cause | Example | Fix |
|---|---|---|
| Missing test | Requirement had no case | Coverage gap review at exit criteria |
| Weak test | Case existed, passed on bad build | Sharpen assertions; add boundary/partition coverage |
| Environment gap | Prod config/data shape unrepresented in staging | Fix environment parity, not the suite |
| Requirement defect | 'Bug' is actually undesired-but-specified behavior | Requirement review process |
| Genuinely unforeseeable | Third-party outage mid-flow | Accept; document as residual risk |
This table is what turns leakage from a grade into a improvement loop: each cause points at a different repair, and a team that only watches the percentage never learns which repair to buy. It is also your strongest interview artifact for any 'how do you improve test quality?' question — the structured attribution of last quarter's escapes beats every general answer about writing better tests, because it names the specific mechanisms (missing case, weak assertion, env parity, spec ambiguity) with counts attached.
One caution about running leakage numbers: the metric improves best when teams stop optimizing the metric. A release that dodged a hard feature to keep leakage low has not improved quality; it has deferred the test. Pair every leakage review with a scope note — what was tested, what was not — so the number keeps its context. The healthiest usage observed in practice is forward-looking rather than punitive: leakage is reviewed to decide next release's test investment (more contract tests, better staging parity), never to grade an individual cycle's testers. Metrics that punish become metrics that lie, and leakage has both failure modes in its history.
The One-Page Status Report and the Dashboard That Replaces It
The weekly quality email that nobody reads has a familiar shape: six charts, a defect table with 137 rows, and no sentence answering the reader's actual question. Different readers need different compression, and the skill is writing to the question each audience is really asking.
The executive paragraph (three sentences, no jargon): 'Release 4.12 enters exit evaluation Friday with 6 open defects — none critical, two majors under signed deferral for 4.13 (accepted impact: export delay for admin users). Leakage last release was 5%, down from 12%, driven by contract tests added to the payments service. Risk to the release date: low; risk to the launch quality gate: the deferred majors, tracked in the 4.13 plan.' Every clause maps to a decision someone can make: ship, wait, or accept the recorded risk. No metric appears without its interpretation.
The team-level report goes deeper where the work is: open-by-severity with age, the trend chart with cycle context, the top five risks (the defect-named ones from the risk matrix), and the leakage attribution table for the last release. The distinction between the two documents is not length — it is that the executive version reports decisions and residual risk, while the team version reports mechanism.
The dashboard replaces the recurring assembly. The five signals worth automating, and their sources:
| Signal | Source | Update cadence |
|---|---|---|
| Open defects by severity + age | Tracker (Jira/Azure DevOps API) | Hourly |
| Cycle trend: opened vs closed | Tracker, computed per cycle | Daily during cycles |
| Escape rate by severity, last 3 releases | Tracker + production ticket tagging | Per release |
| Suite health: pass rate, flaky count, executed/plan | CI system | Per run |
| Coverage: requirements with passing tests | Test management / BDD reports | Per build |
Automation kills the spreadsheet ritual — and with it, the two failure modes of manual status: staleness (the deck was true Tuesday, the meeting is Thursday) and drift (each cycle's deck quietly measures something slightly different). One discipline keeps the dashboard honest: every metric on it has a definition card — formula, source, and what it deliberately does not claim — reviewed when anything changes. Without definitions, dashboards become folklore: two people quoting 'coverage' from different columns for a year is a common and expensive accident.
The design principle that ties the phase together: metrics are an incentive system before they are a reporting system. Test case count rewards trivial cases; zero-open-defect targets reward rejected reports; raw closure counts reward closing-as-duplicate. Every signal on your dashboard should survive the question 'how would someone game this?' — ratio and trend metrics (leakage by band, age distribution, flaky rate) resist gaming because faking improvement would require actually improving the work. Build the dashboard with that question asked per tile, and the weekly status meeting collapses into two minutes of reading — which is exactly what the metrics were for, and the natural end of the Bug Lifecycle & Reporting phase before manual and exploratory testing technique begins at Manual Web Testing Workflow.
Quiz
1. Mid-cycle the cumulative opened curve is at 78, cumulative closed at 57, and the open count has fallen for three consecutive days. What does this shape indicate?
2. Last release: 3 production defects, 57 pre-release. The release before: 6 production, 44 pre-release. What is the correct statement?
3. A leaked defect is traced to: a test case existed, passed, but asserted only a 200 status while the response body was wrong. Which attribution category and repair apply?
4. Leadership proposes making 'zero open defects' the team's quality target. What is the correct response?
Flashcards
Question
How do you use the opened-vs-closed trend curves to forecast release readiness?
Click to reveal answer
Answer
Plot cumulative opened and closed against cycle days. Healthy: open count peaks early (discovery tapers), then falls as closed catches up — convergence toward a small triaged remainder means exit evaluation can proceed. Alarm shapes: open still rising at cycle end (discovery incomplete), open flat with closed stalled (fix-capacity deficit), high parallel curves (churn). Always severity-segregate: a converging total with an open S1 is not convergence.
Question
The leakage formula and the three controls that keep it honest.
Click to reveal answer
Answer
leakage = production defects / (production + pre-release) × 100. Controls: (1) severity-segregate — S1/S2 leakage is the headline; (2) annotate raw counts — small releases swing on 2-3 defects; (3) attribution honesty — production tickets must be triaged as real defects first, excluding env incidents and requirement changes.
Question
The five leakage-cause categories and the repair each points to.
Click to reveal answer
Answer
Missing test → coverage-gap review at exit criteria. Weak test → sharpen assertions (content/schema checks, boundaries). Environment gap → fix staging parity, not the suite. Requirement defect → the spec was ambiguous; fix requirement review. Genuinely unforeseeable → accept and document as residual risk. Counts per category per quarter make the improvement loop specific.
Question
What distinguishes the executive quality summary from the team-level report?
Click to reveal answer
Answer
Executive: three sentences of decisions and residual risk — ship/wait stance, deferrals with accepted impact, leakage trend with its driver, and named risks to date and quality gates. No naked metrics. Team-level: mechanism — open-by-severity with age, trend chart with cycle context, top defect-named risks, and the leakage attribution table. Same data, different compression.
Question
The five dashboard signals and the governance that keeps a dashboard honest.
Click to reveal answer
Answer
Open defects by severity+age · cycle opened-vs-closed trend · escape rate by severity across the last 3 releases · suite health (pass rate, flaky count, executed/planned) · requirement coverage with passing tests. Governance: every tile carries a definition card (formula, source, what it does not claim), reviewed on change — without definitions, 'coverage' silently means two different things to two readers.
Revision Notes
Key Takeaways
- 1. Opened-versus-closed curves are a forecast: convergence with a triaged remainder means ready; open still rising at cycle end means discovery is unfinished
- 2. Leakage grades the test effort — report it by severity band with raw counts, and attribute every escape to a cause (missing/weak test, env gap, spec defect) so the grade becomes a repair list
- 3. Density and escape rate earn meaning only from release-over-release trends; single-release absolutes invite confident wrong conclusions
- 4. Write status to the question each audience asks: executives get decisions and residual risk, the team gets mechanism
- 5. Dashboards are incentive systems first — build them from ratio and trend signals with definition cards, because every countable metric will be gamed exactly as specified
Interview Tips
- • "Are we going to make the release date?" — answer with the curves: open count peaked and is falling, closed is converging, here is the remainder by severity with dispositions; forecasting from data beats both optimism and vibes
- • "What does defect leakage tell you?" — the formula, then immediately the three controls (severity bands, counts, attribution honesty) and the five-cause repair table; the attribution table is what marks you as someone who converts grades into fixes
- • "Build me a quality dashboard." — the five tiles with sources and cadence, then the governance: definition cards per tile and the gaming question asked per signal; this shows you have seen metrics corrupt behavior firsthand
- • "How do you report quality to non-technical stakeholders?" — three sentences: release stance, signed deferrals with accepted impact, leakage trend with its named driver; state that every metric gets an interpretation or it does not go in the report
Cheat Sheet
Defect Metrics and Stakeholder Reporting
Trend curves (per cycle, severity-segregated):
- Healthy: open peaks early → falls; closed converges; small triaged remainder at exit
- Alarm: open rising at end (incomplete discovery) · closed stalled (fix deficit) · high parallel (churn)
- Day-10 upticks (late regressions) get reported, not smoothed
Density: defects/KLOC or /story-point; value is release-over-release direction (4.9 → 3.8 → 3.3 = investment paying off).
Leakage: prod / (prod + pre-release); trend 16% → 12% → 5% tells the improvement story. Controls: severity bands · raw counts · triaged-as-real-defect attribution.
Attribution table (quarterly): missing test → coverage review · weak test → sharpen assertions · env gap → parity fix · requirement defect → spec review · unforeseeable → documented residual risk.
Reporting compression: executive = decisions + residual risk (ship stance, signed deferrals, leakage driver) · team = mechanism (ages, chart, attribution table).
Dashboard: open-by-severity+age · cycle trend · leakage by band · suite health · requirement coverage — each with a definition card (formula, source, non-claims). Test every tile: 'how would someone game this?'