Session

Kill All Mutants! (Intro to Mutation Testing)

Would your test suite still pass if the tested code was changed? If so, you might have gaps in your test suite, unreachable, redundant, or otherwise ineffective code, or both!

Mutation Testing reveals these cases, and provides some guidance about how to fix them. This talk will tell you what mutation testing is, how it works inside, how to use it, where in your process to use it, and its benefits, drawbacks, and history. There will be multiple examples, and a list of tools for many popular languages (and some others).

You will come away equipped with a powerful technique for making sure your test suite is strict and your code is meaningful!

On the submission forms, I usually pick "advanced" level because it's an introduction to an advanced topic. If forms mean the level *within the topic*, it's more introductory.

I have given this talk many times before (including being voted third best talk out of over 70 at Software Quality Days 2024), and am slated to do more soon. You can see videos in my playlist at https://www.youtube.com/playlist?list=PLMrm16n64Bub8urB-bsyMyHiNPMLG7FAS

Agenda:
- What is mutation testing?
- Why isn't test coverage enough?
- What are its pros and cons?
- How does it work (overview *and* details)?
- Simple example (finding and fixing bad test)
- Complex example (finding and fixing bad/missing test)
- Complex example (finding and fixing redundant code)
- FAQs as time allows, such as: history, why is it so CPU/RAM intensive, where to fit it into dev process, why change code in only one way per mutant, can it help assess the quality of single tests, can it help if we don't have tests yet
- Wrapup
- Q&A

Lastly, if your conference has workshops *afterward*, consider having me do this talk *plus* having Markus Schirp do a workshop, at which I can help convey the concepts to the students.

Dave Aronson

T. Rex at Codosaurus, LLC

Fairfax, Virginia, United States

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top