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)

Reply via email to