~/talk

The state of code coverage for Kotlin

Talkat AndroidMakers by droidcon 2024 · on Thursday, 2024-04-25· at 15:00· [testing]
slides:none on file

Team coverage target drops from 95% to 85% after switching to Kotlin; concrete reasons appear: bytecode-generated null checks, string-switch hash checks, inlining and optimizer removals, and R8 plus coverage instrumentation breaking structured locking. Reports compare JaCoCo, JetBrains coverage engine and PIT mutation testing (PIT shows surviving mutants missed by line coverage). Measured overhead: baseline 57s, JaCoCo ~1m20s, JetBrains ~1m23s, PIT initial run ~1h20m7s. A commercial plugin Arcmate claims better Kotlin filtering.

AI-written summary · about

  1. 0:00Introduction
  2. 2:01Understanding code coverage
  3. 4:04Evolution of coverage tools
  4. 6:45Tooling overview
  5. 9:43Analyzing coverage behavior
  6. 18:34Inline functions challenges
  7. 24:18Coroutines and testing
  8. 26:21Android and composables
  9. 29:26Observer effects and risks
  10. 33:57Performance overhead
  11. 35:46Conclusion and future
~/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.