- Fuzz testing: randomising inputs to validate the mapping to expected outputs.
- Mutation testing: changing code (`+` to `-`, `raise Foo` to `return`, etc.) to complement and validate the coverage metric.