Overview
This course covers the following learning outcomes and goals: understanding complex logic testing, achieving 100% branch coverage, creating a strong test suite, implementing example-based and property-based testing, conducting mutation testing, detecting mutants, and traversing trees.
The course teaches individual skills such as defining mutations, summoning mutants, running experiments, generating HTML reports, and handling non-compiling mutants.
The teaching method includes theoretical explanations, practical examples, and hands-on exercises.
The intended audience for this course is software developers, particularly those interested in testing methodologies and tools in the context of Scala programming.
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