~/talk

Coverage, quality, and Goodhart's Law

Talkat NDC TechTown 2025 · 2025-09-22..09-25· [testing, engineering-leadership]
links:none on file
slides:none on file

Measures collapse under Goodhart but coverage used well finds real problems: using GCC 15 and zcov on a borrowed binary search shows 15/24 paths covered, a 5,000-input brute force only adds one path, refactoring removes a redundant check and raises coverage to 17/18 then 18/18 with two added tests; MCDC on satellite code uncovers spec and error‑handling faults; techniques include dependency injection, allocation‑failure injection via operator new override and link‑time wrapping, and prioritizing MCDC and path/edge coverage over line percentage.

AI-written summary · about

  1. 0:00Introduction
  2. 1:11Measuring coverage with Zcov
  3. 5:26Fixing poor path coverage in binary search
  4. 9:06Coverage as software tool
  5. 12:18Testing beyond coverage
  6. 13:21Line coverage flaws
  7. 15:33Block and edge coverage
  8. 16:59Goodhart's Law on coverage
  9. 19:51Coverage improves quality
  10. 24:45Code complexity and prime paths
  11. 28:01Coverage-guided programming
  12. 29:34Case study: Leap day detection
  13. 33:56Fixing leap day function with time injection
  14. 39:19Restructuring code for coverage
  15. 40:45Rust and GCC insights
  16. 42:11Duff's device complexity
  17. 44:23Exception handling challenges
  18. 48:04Testing exception paths
  19. 50:17Forcing exception paths
  20. 51:41Dependency injection for errors
  21. 54:13Final thoughts on measurement
  22. 55:39Link-time function wrapping
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.