PyCon Lithuania 2024

Kill All Mutants! (Intro to Mutation Testing)
2024-04-04 , Room 228

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 -- history, why it's so CPU/RAM intensive, and more if time allows
- Unusual applications, if time allows
- Wrapup
- Q&A


Would your test suite 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 what mutation testing is, how it works, how to use it, and its benefits, drawbacks, and history. There will be multiple examples, and a list of tools for many popular languages (and others).

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

Dave is a semi-retired software development consultant (writing code and giving advice about it), with 38 years of professional experience in a wide variety of languages, techniques, domains, etc. He is the T. Rex of Codosaurus, LLC (his one-person consulting firm, which explains how he can get such a cool title, at https://www.Codosaur.us/) near Washington, DC, USA. His main focus in software lately is to spread the gospel of quality, including defining what that even means, and talking about techniques to achieve it. In his spare time, he brews mead, teaches others how -- and speaks at conferences.