Nella disciplina del Test Driven Development, il mutation testing è un concetto abbastanza semplice.
Errori (o mutazioni) sono automaticamente iniettati nel codice, e poi vengono eseguiti i test. Se i test falliscono la mutazione viene scartata; se i test hanno successo la mutazione sopravvive.
La qualità di un test può quindi essere desunta dalla rispettiva percentuale di mutazioni uccise.