Practice
When branch coverage misleads
Branch coverage feels precise because it counts decisions. That precision can flatter. Here are three patterns we meet often in clinics with teams around Korea’s fintech and marketplace corridors.
Generated guards
Protobuf stubs and OpenAPI clients emit exhaustive switches that tests touch incidentally. The branch count climbs while product risk stays untouched. Annotate generated trees as advisory, not blocking.
Defensive defaults
Fallback branches written for “should never happen” paths get exercised by synthetic fixtures. The metric smiles; production still never hits the branch with realistic inputs. Pair those branches with a risk tag of “observability only.”
Feature-flag forests
When every flag multiplies branches, a suite that toggles flags in setup can look thorough while leaving combinations unexplored. Track flag-aware suites as their own cohort instead of folding them into the company average.
None of this argues against branch metrics. It argues for captions. Application analytics for testing coverage insights thrives when numbers arrive with footnotes.