-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Background
Cargo mutants is an excellent tool for mutation testing that helps identify gaps in test coverage by introducing code mutations and verifying tests catch them. However, it has practical limitations for PR workflows:
- Too slow for PR quality gates: Mutation testing takes significant time
- Developer machine overhead: Running locally consumes CPU/time
- Inconsistent usage: Developers may skip it due to performance impact
Proposed Solution
Set up automated, periodic mutation testing that runs on GitHub infrastructure and provides accessible reports.
Requirements
🕒 Periodic Execution
- Run on schedule (e.g., nightly, weekly)
- Triggered by significant changes to main branch
- Not blocking PR merges (separate from quality gate)
📊 Report Generation & Storage
- Generate mutation testing reports
- Store reports somewhere accessible (GitHub Pages, artifacts, etc.)
- Track trends over time if possible
- Clear indication of test coverage gaps
⚡ Performance Considerations
- Run on GitHub Actions runners (not developer machines)
- Reasonable execution time limits
- Potentially cache/incremental analysis
Implementation Ideas (to explore)
- GitHub Actions workflow with scheduled triggers
- GitHub Pages for hosting reports
- Artifact storage for downloadable reports
- Issue creation for significant coverage regressions
- Badge/status showing current mutation test score
Benefits
- Continuous quality monitoring without slowing development
- Identifies test gaps that manual review might miss
- No developer overhead - runs on CI infrastructure
- Historical tracking of test quality trends
- Actionable insights for improving test coverage
Acceptance Criteria
- Automated cargo mutants runs periodically
- Reports are generated and stored accessibly
- Developers can easily view latest mutation test results
- Process doesn't interfere with normal PR workflow
- Clear documentation on interpreting results
This would provide the benefits of mutation testing without the performance impact on day-to-day development workflow.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels