qa-mutation-testing
Mutation testing with StrykerJS, Stryker.NET, PIT, mutmut and Mull: one canonical tool per language, plus triage of surviving mutants. Survivor triage classifies why each mutant lived (missing case, weak assertion, equivalent mutant) and drafts the tests that kill it.
/plugin install qa-mutation-testing@testland-qaFirst time? Add the marketplace with /plugin marketplace add testland/qa
- Category
- Functional testing
- Version
v1.3.4- Contents
- 6 skills
- Part of
- qa-role-sdet
Skills6
mull-mutationUse when a C or C++ project built with Clang needs mutation testing.skillmutant-survival-triageUse when a mutation testing run (StrykerJS, PIT, mutmut or Mull) has finished and surviving mutants need explaining.skillmutmut-mutationUse when a Python pytest or unittest suite needs mutation testing to show whether the tests catch bugs.skillpitest-mutationUse when a Java or Kotlin test suite needs mutation testing.skillstryker-mutationUse when a JavaScript or TypeScript suite has high coverage but bugs still slip through, and the team wants mutation testing to find weak tests.skillstryker-net-mutationUse when a .NET (C#) test suite needs mutation testing to show whether the tests catch bugs.skill
About qa-mutation-testing
Mutation testing across the major language ecosystems. Mutation testing inserts small bugs (mutants) into production code; if tests pass, they don't actually catch the regressions. Surviving mutants reveal weak assertions and missing edge-case tests that coverage hides.
Choosing a tool
One canonical mutation tool per language - detect the language from the project root and pick the matching row:
| Project signal | Language | Tool | Skill |
|---|---|---|---|
package.json (with or without TypeScript) | JavaScript / TypeScript | Stryker | stryker-mutation |
*.csproj / *.sln | .NET | Stryker.NET | stryker-net-mutation |
pom.xml / build.gradle* / *.java | JVM (Java, Kotlin) | PIT (PITest) | pitest-mutation |
pyproject.toml / setup.py / requirements.txt | Python | Mutmut | mutmut-mutation |
CMakeLists.txt / Makefile with C/C++ sources | C / C++ | Mull (needs an existing test binary) | mull-mutation |
Notes: polyglot repos run one tool per language as separate CI jobs (Stryker and Stryker.NET are separate codebases with separate mutator catalogs). Languages outside this table (Rust, Go, Ruby, PHP, Elixir) are not covered - look for language-native alternatives. Start with the 1-2 most critical modules, not the whole codebase; gate CI at the team's baseline + N%, not 100% (scores plateau at 70-85% for well-tested code - see mutant-survival-triage on equivalent mutants).