Mutatest vs muttest
Mutatest
mutatest.readthedocs.iomuttest
jakubsob.github.ioSide by side
| Figure | Mutatest | muttest |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Mutation Testing Tools | 8.7 (#1) | 7.1 (#19) |
| Maintainer | PyPI names Evan Kepner as the author and lists one maintainer account, ekepner. | The CRAN package listing names Jakub Sobolewski as author and maintainer. |
| Parallel execution | Multiprocessing is supported on Python 3.8; parallelization is not supported on Python 3.7. | The maker’s July 2026 update describes parallel execution as a muttest capability. |
| Purpose | Mutatest is a diagnostic command-line tool for assessing test coverage by checking whether tests detect small code mutations. | muttest measures test quality by applying small changes to code and checking whether the test suite catches them. |
| Reporting | The API reference documents result summaries containing mutation results, identified and mutated-location counts and total runtime. | The package includes HTML and JSON reporting. |
Plans
In their own words
Mutatest
Mutatest is a free command-line tool for Python projects that checks whether tests catch small changes to code. It creates valid mutations from Python’s Abstract Syntax Tree grammar and applies them to local __pycache__ files rather than changing source files. If coverage data is available, it can limit targets to lines marked as covered. Mutations are sampled randomly, with a seed available to make runs reproducible. Command-line controls include run modes, mutation categories, file exclusions, timeouts, reports, and thresholds for surviving mutants; an API supports custom controls. The documentation describes using test commands such as pytest and coverage data to filter targets. Mutatest can raise an exception when surviving mutants meet a configured threshold, including in automated runs such as CI. It supports Linux, macOS, and Windows, and is free under the MIT License. Installation requires Python 3.7 or 3.8; multiprocessing is available on 3.8, but not 3.7. Repeated test runs can be slow, so it is intended for diagnostics rather than every commit across an entire codebase.
muttest
muttest is a free R package for mutation testing: it changes selected parts of R code and runs tests to measure which changes the test suite catches. Its mutation score reports the percentage of mutations caught, helping identify weak assertions. Users can choose what to change and where, with mutators for operators, boolean and NA or NULL values, function calls, strings, numbers, indexes, conditions, negation, and return values. Presets group common mutation types, including arithmetic, comparison, logical, numeric, string, and condition changes. Examples use testthat and show how changing comparison operators can expose untested boundary cases. Reports are available in HTML and JSON, with feedback on files that may need stronger assertions. Documentation links a guide for running checks in CI, including GitHub Actions, score badges, and thresholds. A July 2026 update describes parallel execution. The package supports Linux, macOS, and Windows, is licensed under MIT plus a LICENSE file, and requires R version 4.1.0 or later according to its CRAN listing.