Mutation Testing
Technique that deliberately introduces small errors into the code to check how meaningful the tests are.
A mutation test deliberately alters the code minimally at individual places – for example a comparison operator is swapped or a constant is changed – and checks whether the existing test suite notices this change, the so-called mutation. If no test fails, the mutation has “survived”, and the tests, when in doubt, do not cover that spot sufficiently.
Mutation tests address a gap that test coverage alone leaves open: code can be run through without any test actually checking whether the result is correct. Because every mutation runs the complete test suite again, the technique is computationally expensive and in practice often does not run on every commit.
What Provimedia uses it for
Provimedia uses mutation tests in selected projects as a local gate to uncover blind spots in its own test suite.
Want to use Mutation Testing for your project?
In a free conversation, let's find out how we can implement this for you.
More from Software quality
Clean Code
Guiding idea for code that is designed to be understandable for humans and not just for the compiler.
Learn moreCode Review
Systematic examination of code by other developers before it is merged into the main branch.
Learn moreCode Smell
Conspicuous pattern in code that is not necessarily wrong but points to a deeper problem.
Learn moreDefinition of Done
Written list of criteria agreed in the team that a task must meet in order to count as done.
Learn moreLinting
Automated checking of code for style and formatting errors according to fixed rules.
Learn moreQuality Gate
Check stage in the development pipeline that lets a change pass only if fixed criteria are met.
Learn moreRefactoring
Targeted restructuring of existing code without changing its external behavior.
Learn moreRegression Test
Re-testing of existing functions after a change in order to detect newly introduced errors.
Learn more