Lewis John McGibbney created NUTCH-3172:
-------------------------------------------
Summary: Introduce PIT Mutation Testing into the CI Pipeline
Key: NUTCH-3172
URL: https://issues.apache.org/jira/browse/NUTCH-3172
Project: Nutch
Issue Type: Improvement
Components: ci/cd, test
Reporter: Lewis John McGibbney
Integrate [PIT mutation testing|https://pitest.org/] into Nutch's GitHub
Actions CI pipeline to measure true test effectiveness beyond what line/branch
coverage (JaCoCo) currently reports.
Nutch already collects JaCoCo code coverage via the jacoco-report Ant target,
and this data is forwarded to SonarCloud for quality gate analysis
(.github/workflows/sonarcloud.yml). However, line coverage is a weak proxy for
test quality — a test suite can achieve 80 % branch coverage while still
failing to detect trivial logic errors (off-by-one, flipped conditions, removed
null-checks, etc.).
Mutation testing addresses this by systematically introducing small, realistic
code faults ("mutants") and verifying that at least one test fails as a result.
The percentage of mutants killed is the mutation score — a far stronger
indicator of test suite effectiveness than coverage alone.
PIT (PITest) is the de-facto standard mutation testing tool for Java.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)