Verify test quality by injecting mutations into code and measuring catch rate. Calculate mutation score (0.00-1.00) showing test effectiveness. Auto-generate missing tests to improve coverage...
Measure test effectiveness by injecting mutations (intentional bugs) into code and tracking how many your tests catch. Calculates mutation score (0.00-1.00) to quantify test coverage gaps. Auto-generates additional tests targeting uncaught mutations. Integrates with Serena MCP for continuous tracking and trend analysis.
Mutation Score Calculation:
Score = (Killed Mutations / Total Mutations) × 1.0
Range: 0.00 (no tests catch bugs) to 1.00 (all bugs caught)
Score Interpretation:
Serena Push Example:
{
"metric_type": "mutation_score",
"project": "task-app",
"value": 0.87,
"components": {
"auth": 0.92,
"api": 0.85,
"ui": 0.79
},
"killed": 156,
"escaped": 23,
"timestamp": "2025-11-20T10:30:00Z"
}
Auto-Generated Test Example:
# Escaped mutation: changed > to >= in boundary check
# Auto-generated test catches this:
def test_score_boundary_at_90():
"""Catches mutations in >= vs > comparisons"""
assert get_grade(90) == 'A' # Catches >= → > mutation
assert get_grade(89) == 'B' # Catches >= → > at boundary
def test_null_mutations():
"""Catches null/None comparison mutations"""
assert validate_email(None) == False # Catches is None → == None
assert validate_email("") == False # Catches == "" mutations
E-Commerce Cart System:
Financial API:
✅ Mutation score ≥0.80 for critical code ✅ No score regression >0.05 between commits ✅ Auto-generated tests all pass ✅ Serena tracking shows improvement trend ✅ Gap analysis identifies specific weak patterns