Skip to main content
Run this workflow to measure test coverage, mutation score, and test strength across your project. The report breaks down metrics per module and per class.

Prerequisites

Project requirements

Run the workflow

The workflow:
  1. Detects your build system, language, and modules
  2. Configures coverage and mutation testing tools if not already present
  3. Runs coverage and mutation analysis
  4. Displays a per-module quality report

Filter by module

Limit the assessment to specific modules with --module:

Filter by package or class

Scope the assessment to a specific package or class with --filter:

Understanding the report

The report shows four metrics for each module and class:

What the metrics tell you

  • High line coverage, low mutation score: Your tests run the code but don’t verify its behavior. Assertions may be missing or too weak.
  • Low line coverage, high test strength: The code that is covered is tested effectively, but not enough code is actually covered.
  • Low line coverage: Parts of your code aren’t reached by any test.

Tool configuration

The workflow automatically configures mutation testing tools if they are not already present:
  • Java: Adds the PIT (Pitest) Maven or Gradle plugin
  • Python: Installs mutmut in the virtual environment
Tool configuration changes are committed to your repository only after a successful run. On subsequent runs, the tools are already configured and the workflow skips this step.

Next steps

Address gaps identified in the report by running the Diffblue Testing Agent: