

SE Radio 632: Goran Petrovic on Mutation Testing at Google
4 snips Sep 5, 2024
Goran Petrovic, a Staff Software Engineer at Google, delves into the world of mutation testing. He explains how this technique introduces artificial flaws to assess the effectiveness of test suites, surpassing traditional coverage metrics. Goran discusses Google’s unique infrastructure for mutation testing, detailing its role in enhancing software quality and developer productivity. He highlights innovative strategies like sophisticated caching and suppression heuristics that improve bug detection. Listeners gain insights into adopting this vital practice in engineering teams.
AI Snips
Chapters
Transcript
Episode notes
Mutation Testing Improves Test Suites
- Mutation testing assesses test suite effectiveness by checking if tests detect small, injected faults (mutants).
- This goes beyond code coverage, ensuring tests have meaningful assertions and catch real bugs.
Programming as Bug Introduction and Removal
- Goran Petrovic highlights that programming often involves introducing and then fixing bugs.
- He uses this observation to justify why intentionally inserting bugs via mutation testing is valuable.
Correlation Between Mutants and Real Bugs
- While mutants may not resemble real-world bugs, they correlate with them.
- Preventing mutants from surviving tests increases the likelihood of also catching actual bugs.