Kill All Mutants! (Intro to Mutation Testing)
How good is your test suite? Would it all still pass if the tested code was changed? If so, there may be problems with your code, your tests or both!
Mutation Testing reveals these cases. This talk will tell you how to use mutation testing, its benefits, drawbacks, inner workings, and history. There will be several examples and a list of tools for many popular languages.
You will come away equipped with a powerful new technique for making sure your tests are strict and your code is meaningful.
OBJECTIVES
Tell people:
what mutation testing is
why mutation testing is helpful
how to do mutation testing
some tools for doing mutation testing
AUDIENCE
Senior devs, and occasional intermediate developers, who are comfortable with unit testing and, ideally, are already familiar with more abstruse concepts like an Abstract Syntax Tree, but that's not absolutely required. Where experience helps is more in being able to connect the results of a particular case with what you should do about it.