CAN WE WRITE PERFECT TESTS? - MAYBE!
summary
Explains mutation testing as an AST-based mutator that alters code, reruns tests and marks changes killed or alive, with the mutant tool using forking sandboxing and selective test execution to cut runtime from a day to ~30 minutes on a focused component. Describes ~91 mutation operators, real use on the exom project aiming for 100% mutation coverage, practical limits like equivalent mutants and infinite-loop mutations, and an example where fuzzing mutation-like tooling helped find an SQLite bug.
AI-written summary · about
chapters (15)
- 0:00Introduction to mutation testing
- 1:17Why test your tests?
- 5:55What is mutation testing?
- 8:07Abstract syntax trees in mutation
- 9:32Practical mutation examples
- 12:04Mutation testing performance
- 14:34Real unit tests matter
- 15:59Mutation testing challenges
- 18:04When to use mutation testing
- 21:57Mutation vs property-based testing
- 23:01Success story in SQLite
- 25:04Mutation testing in workflow
- 26:09Common mutation failures
- 27:35Refactoring for mutation coverage
- 28:20Q&A session
related talks
29mKill All Mutants! (Intro to Mutation Testing)
37mAre your tests good enough?
35mKill All Mutants! (Intro to Mutation Testing)
01h 06mKill All Mutants! (Intro to Mutation Testing)
07mWho is Testing the Tests?
31mCan You Trust Your Tests?
45mMutation Testing
20mUnleashing the Power of Mutation Testing: Supercharging Software Quality and Resilien...
