Ad-hoc or scheduled mutation based testing
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
As described in #13661 we want to improve our pre-release testing. I propose we adopt [mutation based testing](https://en.wikipedia.org/wiki/Mutation_testing) using [`cargo mutants`](https://mutants.rs/getting-started.html)
TLDR: mutation based testing try to identify valid mutants of your code and send them through your unit tests. If your unit tests are good, mutants should be "killed" by a test failure. If you have insufficient assertions a mutant can "survive"
See [this](https://github.com/edmondop/arrow-datafusion/actions/runs/13248520757/job/36980712855) example of running mutation based testing
Contributor guide
Research direction
Start by reading issue #13661, the cargo mutants getting-started guide, and the linked GitHub Actions example. Determine how mutation-based testing should fit pre-release and scheduled runs, then define completion as an agreed workflow that runs cargo mutants and reports whether unit tests kill or leave mutants surviving.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- ci-cd, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100