Mutation Gotchas

Mutation testing currently still has very blunt  tooling.
They require a discerning eye when interpreting surviving mutants.

Every Line is Necessary

Mutation testing drags the assumption any possible line of code is important in defining some aspect of your program's behavior.

 

Mutants want your code to be either relevant or dead.

Testing strings

writting tests to confirm arbitrary strings is an anti-pattern

Relevant string killed,

trivial string marked.

Testing Strings

(cont) promoting low value tests

Third Party Code

unused variation

The SUT has no intention of ever cloning into checked out (non-bare) repositories.

Third Party Code

(cont) non-functional variation

Third Party Code

begging the question

Understanding

equivalent mutants

Understanding

combinatorical explosing

Mutation Testing Tools tend to be brute force, and computationally expensive.

Understanding

conclusions

Low barrier to entry, but high cost in running and evaluating each survivor.

mutation gotchas

By Rodolfo Hansen

mutation gotchas

  • 146