How to Explain Test Coverage Gaps to a Manager in English
Learn how to explain untested code to a manager in English — being honest about risk without sounding alarmist, and proposing a realistic plan instead of just flagging the problem.
Explaining a test coverage gap well is different from just reporting a number. A manager doesn’t need “coverage is at 62%” — they need to know which 38% is untested, whether that matters, and what you’re actually going to do about it. This is the vocabulary for that conversation.
Key Vocabulary
Coverage number (and why it’s a proxy) — the percentage of code exercised by tests, explicitly framed as an imperfect proxy for confidence, not a direct measure of correctness, since 100% coverage with weak assertions offers less real protection than 70% coverage on the paths that actually matter. “The coverage number alone doesn’t tell the full story — we’re at 78%, but that includes a lot of getter and setter code. The payment calculation logic, which is what actually matters here, is closer to 40%.”
Critical path (untested) — a specific, business-important code path that lacks meaningful test coverage, named explicitly rather than buried in an aggregate percentage, since this is the detail a manager actually needs to assess real risk. “The critical path I’d flag specifically is the refund calculation — it’s untested, it handles real money, and it was last modified six weeks ago without a corresponding test added.”
Regression risk — the danger that a future change silently breaks existing behavior because no test would catch it, the concrete consequence of a coverage gap that makes the abstract percentage matter in practice. “The regression risk here isn’t hypothetical — we already had one incident three months ago where a refactor silently broke this exact code path, specifically because no test existed to catch it.”
Remediation plan — a specific, scoped proposal for closing the highest-priority coverage gaps, distinguished from a vague promise to “improve testing,” since a concrete plan is what turns a risk flag into an actionable conversation. “My remediation plan is to add tests for the three highest-risk paths — refunds, discount stacking, and currency conversion — over the next two sprints, rather than trying to raise the overall percentage across the whole codebase at once.”
Common Phrases
- “The coverage number itself is less important than which specific paths are untested.”
- “The critical path I’d flag is [specific feature], because [specific reason it matters].”
- “The regression risk here is real, not hypothetical — here’s a specific example of it happening.”
- “My remediation plan focuses on [specific highest-risk areas] first, not raising the overall percentage evenly.”
- “I’d rather prioritize depth on the paths that matter than breadth across paths that don’t.”
Example Sentences
Reframing a raw coverage number for a manager: “Our overall coverage is 65%, but that number is misleading on its own — nearly all of the untested 35% is in low-risk utility code. The actual business logic, like pricing, is closer to 90% covered.”
Flagging a specific, meaningful gap: “I want to specifically call out that our subscription-cancellation logic has no test coverage at all. It’s low-traffic, so it hasn’t caused visible problems yet, but a silent regression there would directly cost us revenue.”
Proposing a scoped remediation plan instead of a vague commitment: “Rather than a broad initiative to ‘improve testing,’ I’d propose we specifically target the three payment-related modules first, since that’s where a regression would be most costly, and treat the rest as lower priority.”
Professional Tips
- Always present the coverage number alongside context about what it does and doesn’t include — a raw percentage without qualification either understates or overstates real risk, and managers making resourcing decisions need the qualified version.
- Name any untested critical path explicitly and specifically — a general statement like “some parts aren’t tested” gives a manager nothing to act on, while naming the refund logic specifically gives them something concrete to prioritize.
- Ground regression risk in a real or plausible specific scenario rather than an abstract warning — “this could break” is easy to deprioritize; “this broke three months ago in exactly this way” is not.
- Propose a scoped remediation plan targeting the highest-risk gaps first, rather than a vague commitment to improve coverage generally — a specific, prioritized plan is fundable and trackable in a way a general aspiration isn’t.
- Avoid alarmist framing even when the risk is real — a calm, specific explanation of exactly what’s untested and why it matters is more persuasive, and more credible over time, than language that reads as panicked.
Practice Exercise
- Write a sentence reframing a raw coverage percentage with context about what it actually covers.
- Name a specific untested critical path and explain why it matters in one sentence.
- Draft a scoped remediation plan targeting two specific areas rather than the whole codebase.