Overview
Explore testing strategies for complex logic in a Scala Days conference talk. Dive into example-based, property-based, and mutation testing techniques. Learn how to detect and create mutants, traverse trees, and define mutations. Discover the "spellbook" for summoning mutants and running experiments using sbt. Examine HTML reports, performance considerations, and mutation switching. Gain insights into usage patterns, non-compiling mutants, and future ideas for testing in Scala. Equip yourself with advanced testing knowledge to ensure robust code quality in complex systems.
Syllabus
Intro
Complex logic in need of a test
Still 100% branch coverage
Characteristics of a strong test suite
Example-based testing
Property-based testing
Mutation testing
From mutation to mutant
Detecting a mutant
Missing a mutant
Traversing a tree
Defining a mutation
The spellbook
Summoning mutants
Running an experiment
$ sbt salander Mutanderer
A slight case of thread necromancy
Supported mutations
HTML report
Performance
Mutation switching
Usage patterns
Non-compiling mutants
Ideas and plans
Links
Thank you! Questions?
Taught by
Scala Days Conferences