
Here’s a comprehensive list of the main types of code coverage metrics used in software testing, ranging from basic to advanced:
✅ 1. C0: Line Coverage (Statement Coverage)
- What it measures: Whether each line of code has been executed.
- Goal: Make sure all lines run at least once.
- Example:
if is_valid(user): # Covered if condition is evaluated send_email(user) # Covered if executed
✅ 2. C1: Branch Coverage (Decision Coverage / Condition Coverage)
- What it measures: Whether each decision (like
if,else,case, loop conditions) has been evaluated bothtrueandfalse. - Goal: Ensure all branches of control structures are tested.
✅ 3. C2: Path Coverage
- What it measures: Whether all possible execution paths through a function are executed.
- Goal: Ensure every unique route through the code is tested.
- Note: Path coverage grows exponentially with complexity, so it’s often impractical for large methods.
✅ 4. Condition Coverage (or Predicate Coverage)
- What it measures: Whether each boolean sub-expression in a decision has been evaluated to both
trueandfalse. - Example:
if (A && B)- You must test:
- A = true, B = false
- A = false, B = true
- A = true, B = true
- A = false, B = false
- You must test:
✅ 5. Modified Condition/Decision Coverage (MC/DC)
- What it measures: Whether each condition in a decision has been shown to independently affect the outcome of that decision.
- Used in: Aviation, automotive, medical systems (critical systems testing).
- Example:
- For
if (A && B), test cases must show that togglingAwhile keepingBfixed changes the decision result—and vice versa.
- For
✅ 6. Function Coverage
- What it measures: Whether each function or method is called during execution.
- Useful for: High-level view, especially in unit testing.
✅ 7. Loop Coverage
- What it measures: Whether loops are executed:
- Zero times (e.g. empty loop case)
- One time
- Multiple times
- Example:
for i in range(n): print(i)- Test with
n = 0,n = 1, andn > 1.
- Test with
✅ 8. Call Coverage
- What it measures: Whether function calls between modules/classes are exercised.
- Used for: Integration-level or system-level tests.
✅ 9. Exception Coverage
- What it measures: Whether exception-handling code is covered (e.g.
try,catch,finallyblocks). - Goal: Ensure error paths are tested.
✅ 10. Data Flow Coverage
- What it measures: Tracks variables to see:
- Where they’re defined (assigned),
- Where they’re used (referenced),
- And whether they’re used correctly.
- Types include:
- Definition-use (DU) chains
- All-defs, all-uses, all-paths
✅ 11. Toggle Condition Coverage
- What it measures: Ensures that each condition’s change (toggle from true to false or vice versa) influences the outcome at least once.
Summary Table
| Metric | Focus Area | Practical Use |
|---|---|---|
| C0 (Line Coverage) | Statements | Basic test coverage |
| C1 (Branch Coverage) | Conditions/branches | Ensures if/else tested |
| C2 (Path Coverage) | Execution paths | Exhaustive, mostly theoretical |
| Condition Coverage | Boolean sub-conditions | Logic safety |
| MC/DC | Independence of conditions | Safety-critical industries |
| Function Coverage | Methods/functions | High-level view |
| Loop Coverage | Loop bodies | Loop logic correctness |
| Call Coverage | Inter-module function calls | Integration testing |
| Exception Coverage | Error-handling code | Robustness validation |
| Data Flow Coverage | Variable definition/use paths | Detects potential bugs or dead code |
Would you like a diagram or sample report showing how these look in real tools like SonarCloud, JaCoCo, or Istanbul?
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals