go-mutesting vs muttest
go-mutesting
github.commuttest
jakubsob.github.ioSide by side
| Figure | go-mutesting | muttest |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Mutation Testing Tools | 8.0 (#6) | 7.1 (#19) |
| License | The repository identifies the project as MIT licensed. | The package is licensed under MIT plus a LICENSE file. |
| Mutation score | It reports a mutation score based on the proportion of mutations killed by the test suite. | The mutation score is the percentage of mutants killed or errored among killed, survived, and errored mutants; mutants with no test coverage are excluded. |
| Mutators | Implemented mutators cover branches, comparisons, boolean expressions, statement removal, and Cosmos SDK arithmetic and comparisons. | Available mutators include operator, boolean, NA or NULL, function-call, string, numeric, index, condition, negation, and return-value changes. |
| Purpose | go-mutesting performs mutation testing on Go source code to find code that is not covered by tests. | muttest measures test quality by applying small changes to code and checking whether the test suite catches them. |
Plans
In their own words
go-mutesting
go-mutesting is a framework for mutation testing Go code to identify parts of a program that tests may not cover. It changes source code in controlled ways, runs tests, and reports whether each mutation is killed or survives; surviving mutations are accompanied by a source patch. Its mutation score reflects the share of generated mutations killed by the test suite. Targets may be Go files, directories, or packages, including recursive `...` patterns, while `_test` files are excluded. By default, it replaces the original file with a mutation and runs that package’s tests. Alternatively, an external command can test each mutation, with environment variables describing the change and exit codes indicating the result. Built-in mutators cover branches, comparisons, boolean expressions, statement removal, and Cosmos SDK arithmetic and comparisons. Custom mutators can be registered through the Mutator interface. The MIT-licensed tool is free and runs on Linux or in self-hosted environments. Its README positions mutation testing as a supplement to automatic test suites and cautions that false positives can occur.
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.