The Mutorium Labs Book of Mutation Testing
A programmer-focused book on mutation testing — from fundamentals to Rust and ZK circuits.
This is a work in progress. Chapters will be published as blog posts first. As the library grows, this page acts as a living table of contents.
Table of contents
Each chapter is designed to be practical: minimal theory, concrete examples, exercises, and reusable patterns.
Module 0 — Foundations
The mental models and workflow you need to use mutation testing as a measurement instrument (not just another tool).
- Coverage vs Mutation: when 100% coverage lies Planned
- How to read mutation results (killed / survived / invalid) Planned
- Equivalent mutants: when “survived” doesn’t mean weak tests Planned
- How to systematically kill survivors (assertions, boundaries, invariants) Planned
-
Context chapter (optional): where mutation testing fits among tests, fuzzing, audits, and formal methods.
Module 1 — Mutation Testing in Rust
Practical mutation testing with cargo-mutants — plus the testing patterns that reliably turn survivors into killed mutants.
- Mutation genres and what they reveal Planned
- Reports & automation (mutants.out, JSON, diffs, CI gating) Planned
- Scaling: flakiness, timeouts, determinism, sharding Planned
Module 2 — Mutation Testing for ZK Circuits (Noir) with zk-mutant
Source-level mutations for Noir projects, CI-friendly outputs, and (eventually) high-signal operator design for circuits.
- Why mutation testing is especially useful for circuits Planned
- zk-mutant workflow mastery (scan / list / run + deterministic CI) Planned
- Artifacts & consumption (run.json, mutants.json, outcomes.json) Planned
- Announcing zk-mutant v0.1.0 Published
Current state of the tool + artifacts + near-term roadmap.
- High-signal Noir mutation operators (taxonomy by bug class) Planned
- Equivalent mutants in ZK + how to handle them Planned
- Performance + roadmap (grounded, practical) Planned
Future modules
Planned, but not started. We’ll add these once the core modules above are solid.
- Mutation Testing for Solidity (planned) Planned
How to read this book
- Start with Module 0 to learn how to interpret survivors and what to do next.
- Use Module 1 to build a repeatable Rust workflow (local + CI).
- Use Module 2 to apply mutation testing to Noir projects with zk-mutant.