What problem does it solve?
Mutation testing identifies behavioral gaps in a test suite by asking whether tests fail when small, realistic changes (mutants) are introduced, revealing where coverage exists but verification is missing.
Core Features & Use Cases
- Mutation-score measurement: compute killed mutants / total non-equivalent mutants to quantify how well tests detect defects.
- Survived-mutant diagnostics: generate a directly actionable list of test gaps (or classify survivors as equivalent mutants or intentional non-tests).
- Selective & incremental strategies: use curated operator subsets and diff-aware execution (e.g., PIT/Stryker) to keep CI runs practical for large codebases.
- Coverage vs verification distinction: explicitly treat coverage as a floor (reach) and mutation as the verification signal (detect), preventing Goodhart-style score gaming.
Quick Start
Use mutation-testing when you want to determine whether your existing tests would catch a defect by running incremental mutation testing on the changed code in your next CI run.