~/talk

Improving Coverage Analysis

Talkat RubyConf 2016 · 2016-11-10..11-12· [testing]
slides:none on file

Claim: test coverage reports give a false positive. Tools examined: Ruby's Coverage API, SimpleCov, and a newly released gem minitest-coverage that records a baseline of implementation, loads all code, and measures coverage per class under test. A client example drops from 83% to 51% when baseline adds unloaded files, then rises to 62% after fixing naming; the gem helps expose macro, micro, and omission errors but admits mapping heuristics and parallel/edge cases remain unresolved.

AI-written summary · about

  1. 0:00Intro
  2. 0:16Improving Coverage Analysis
  3. 2:23Introduction
  4. 2:33Huge/Messy Implementations
  5. 3:50Without Tests?
  6. 4:00How to Improve Tests?
  7. 4:11What is Code Coverage Analysis?
  8. 4:28The Measure of the Amount of the Code that the Tests execute
  9. 5:17Function Coverage
  10. 6:53Parameter Edge Case Coverage
  11. 7:20Path Coverage
  12. 7:38State Coverage
  13. 8:09Because Fuck Scott Adams
  14. 8:27Leading to Gaming the System
  15. 8:47Proof of Good Tests
  16. 9:38Red Green Refactor
  17. 9:51Natural Fix
  18. 10:08Nobody Knows About It
  19. 11:02Hooks in VM
  20. 11:21tests run code
  21. 12:46Types of Errors
  22. 12:56False Positive
  23. 13:47Numerator Errors
  24. 14:03": Error by Omission
  25. 14:21Denominator Error
  26. 14:36How Coverage Sucks
  27. 16:50New Strategy
  28. 17:07Baseline?
  29. 17:56Map Test Class to Implementation
  30. 18:42Biased Towards False Negatives
  31. 19:04+ Baseline: 51%
  32. 19:15Fixed Type 2s: 62%
  33. 20:20Hook into simplecov's report generator
  34. 20:46Better error handling: type 2 errors on name mismatches
  35. 21:52Need Tools? Need Help? I'm Available!
~/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.