Can You Trust Your Tests?
summary
Claim: mutation testing shows what tests actually assert by injecting small changes and expecting tests to kill the mutant; if tests still pass the mutant survived. Tools (Ruby mutant, Java PIT/Bit, Python Cosmic Ray, JS tools) run many mutants so naive runs blow up (3s suite → 115 minutes) but test-selection cuts it to ~30s. Watch for equivalent mutants, infinite-loop timeouts, and dangerous side effects like filesystem mutations.
AI-written summary · about
chapters (19)
- 0:00Start
- 5:33Production and Testing Code Qualities
- 6:23Test Quality
- 6:59Code Coverage
- 7:23Types of Code Coverage
- 8:27Cyclomatic Complexity
- 9:38Line Coverage
- 15:34A Failing Test
- 16:58Mutation Testing
- 19:35High Computational Cost
- 20:15Infinite Loops
- 20:27Equivalent Mutations
- 21:04How To Deal with Infinite Runtime
- 23:35Continuous Integration
- 23:55Adding to Your Legacy Code
- 25:06Tools
- 26:46Test Selection
- 27:25Maven Usage
- 28:40What about Tdd
related talks
41mMutation testing in practice
07mWho is Testing the Tests?
01h 00mKill Evil Mutants!
01h 06mKill All Mutants! (Intro to Mutation Testing)
22mKill All Mutants! (Introduction to Mutation Testing)
52mKill All Mutants! (Intro to Mutation Testing)
41mMutation Testing with Mutant
17mThe Mutants Are Coming — Will Your Tests Withstand?
