Dave is a semi-retired software development consultant (writing code and giving advice about it), with 40 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.
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!
Without a good definition of software quality, you'll have a tough time achieving it, and if you don't share your definition with someone, you'll have a hard time convincing them that you have achieved it!
This talk introduces ACRUMEN, my simple yet fairly comprehensive definition, that you can use with any tech stack, for free. It stands for the idea that software should be Appropriate, Correct, Robust, Usable, Maintainable, and Efficient. (Come to the talk to see what the N stands for!) I will explain why we need a new definition, and how to apply this one, then explore each aspect in turn, including further nuances and immediately useful tips on how to achieve each one.
You will come away better equipped to analyze the quality of anybody's software, give precise feedback on its shortcomings, teach the next generation of developers how to produce high-quality software, and most importantly, improve the quality of your own software.
Searching for speaker images...