Ujifunzaji wa Mutation unakagua ubora wa seti ya vipimo kwa kuanzisha kwa makusudi hitilafu ndogo ("mutants") katika kod na kuangalia kama vipimo vinakuzuia. Inapima jinsi vipimo vinavyofanya kazi katika kugundua kasoro — inakwenda zaidi ya coverage, ambayo inapima utekelezaji tu.
Jinsi ujifunzaji wa Mutation unavyofanya kazi
1. A tool makes small changes (MUTATIONS) to the code, e.g.:
→ change + to -, > to >=, true to false, remove a statement, change a constant
→ each mutation = a deliberate "bug" (a MUTANT version of the code)
2. Run the TEST SUITE against each mutant:
→ tests FAIL → the mutant is "KILLED" (good — tests caught the bug) ✓
→ tests PASS → the mutant "SURVIVED" (bad — tests DIDN'T catch the bug) ✗
3. MUTATION SCORE = % of mutants killed → measures how good the tests are at catching bugs
