← ClaudeAtlas

atdd-mutatelisted

Use to add a third validation layer to the ATDD workflow — after acceptance tests verify WHAT and unit tests verify HOW, mutation testing verifies the tests actually catch bugs. Triggers — "/mutate", "/kill-mutants", "run mutation testing", "mutate my code", "kill mutants", "check test quality", "find surviving mutants", "run stryker", "run mutmut", "run pitest", "are my tests catching bugs".
swingerman/disciplined-agentic-engineering · ★ 99 · Testing & QA · score 85
Install: claude install-skill swingerman/disciplined-agentic-engineering
# Mutation Testing Add a third validation layer to the ATDD two-stream testing approach. Acceptance tests verify WHAT, unit tests verify HOW, mutation testing verifies that the tests **actually catch bugs**. ## Core Concept Mutation testing introduces deliberate bugs (mutants) into source code, then runs the test suite. If tests fail, the mutant is **killed** (good). If tests pass despite the bug, the mutant **survives** (test gap found). ``` Source code → introduce mutation → run tests ├── tests FAIL → mutant killed ✓ └── tests PASS → mutant survived ✗ ``` A project with 100% code coverage can still have a 60% mutation score — meaning 40% of introduced bugs go undetected by the test suite. ## When to Use Run mutation testing **after both test streams are green**: 1. Acceptance tests pass (WHAT is correct) 2. Unit tests pass (HOW is correct) 3. **Mutation testing** — verify tests actually detect regressions This is Phase 6 in the team-based ATDD workflow, or a standalone quality check at any point during development. ## Approach: Custom Mutation Tool (Preferred) The preferred approach is to **build a custom mutation tool** for the project. This follows the methodology Uncle Bob developed for [empire-2025](https://github.com/unclebob/empire-2025/blob/master/docs/plans/2026-02-21-mutation-testing.md) — a project-specific tool that walks the AST/source tree, applies one mutation at a time, runs