mutation-testing
SKILL.md
Mutation Testing
Use PIT mutation testing to identify tests that pass but don't verify behavior correctly.
When to use this skill
- Improving test quality beyond line coverage metrics
- Finding weak test assertions that don't catch bugs
- Validating critical business logic has strong tests
- Setting up mutation testing in CI pipelines
- Analyzing which tests need strengthening
- When asked to "improve test quality with mutation testing"
Skill Contents
Sections
Available Resources
📚 references/ - Detailed documentation
Quick Start
1. Check readiness
bash java/scripts/check-pitest-readiness.sh
2. Apply PIT configuration
Copy java/templates/pitest.gradle to gradle/pitest.gradle and apply in build.gradle.
3. Run mutation testing
# QUICK level - fast feedback
./gradlew pitest -Ppitest.mutators=DEFAULTS
# STANDARD level - recommended
./gradlew pitest -Ppitest.mutators=STRONGER
# COMPREHENSIVE level - thorough
./gradlew pitest -Ppitest.mutators=ALL
4. Analyze results
open build/reports/pitest/index.html
Focus on SURVIVED mutants - these indicate weak tests.
5. Improve tests
Add specific assertions that kill the surviving mutants.
Key Concepts
Mutation Score vs Line Coverage
- Line coverage: Does your test execute the code?
- Mutation score: Does your test actually verify the code works correctly?
High line coverage with low mutation score = tests run code but don't verify results.
Intensity Levels
| Level | Mutators | Use Case | Time |
|---|---|---|---|
| QUICK | DEFAULTS (~11) | Initial analysis, CI | 1x |
| STANDARD | STRONGER (~14) | Regular improvement | 1.5x |
| COMPREHENSIVE | ALL (~30+) | Critical logic | 3-5x |
Mutation Statuses
| Status | Meaning | Action |
|---|---|---|
| Killed | Test detected mutation | Good |
| Survived | Test missed mutation | Improve test |
| No Coverage | No test covers code | Write test |
| Timed Out | Infinite loop | Usually OK |
References
| Reference | Description |
|---|---|
| references/intensity-levels.md | Detailed mutator descriptions |
| references/improving-tests.md | Patterns for killing mutants |
| references/configuration.md | PIT configuration options |
| references/troubleshooting.md | Common issues and solutions |
Related Rules
- java-testing-guidelines - Spock/JUnit patterns
- java-jacoco-coverage - Line coverage configuration
Related Skills
| Skill | Purpose |
|---|---|
| java-testing | Test configuration |
| java-coverage | JaCoCo coverage |
Weekly Installs
9
Repository
bitsoex/bitso-javaGitHub Stars
36
First Seen
Jan 24, 2026
Security Audits
Installed on
claude-code7
gemini-cli6
antigravity6
windsurf6
codex6
opencode6