~/talk

Kill Evil Mutants!

Talkat NDC Oslo 2019 · 2019-06-17..06-21· [testing]
slides:none on file

Mutation testing makes tiny controlled changes to code, runs the function’s tests against each clone, and flags any surviving evil mutants that keep all tests green. Practical runs quickly explode (example: ten modules × ten functions × five mutation points × 20 variants ≈ 100,000 mutants) so tools like mutant (Ruby) and mud (Python) use incremental runs and semantically equivalent pruning (often cutting ~2/3). Examples: a single test assert 2*2==4 yields mutants (addition, swapped operands) that survive until adding 2*3==8; loop-removal mutants reveal unexercised large-message paths; some mutants require timeouts or process isolation to kill.

AI-written summary · about

  1. 0:00Mutation testing intro
  2. 1:55What is mutation testing
  3. 3:45Mutation vs chaos testing
  4. 5:10Mutation testing drawbacks
  5. 8:05History of mutation testing
  6. 9:27How mutation testing works
  7. 13:07Evil mutants defined
  8. 14:57Code changes one at a time
  9. 15:18CPU intensive testing
  10. 20:39Mutation testing tools
  11. 25:45Simple code examples
  12. 30:29Complex code examples
  13. 34:59Kill immortal mutants
  14. 38:30False alarms mitigation
  15. 38:53Summary and takeaways
  16. 40:24Q&A
~/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.