test-coverage-analyzer

Original🇺🇸 English
Translated

Analyzes test coverage reports, identifies gaps, and recommends priority areas for testing. Use when reviewing coverage, finding untested code, or planning test improvements.

4installs
Added on

NPX Install

npx skill4agent add armanzeroeight/fastagent-plugins test-coverage-analyzer

Test Coverage Analyzer

Analyze test coverage and identify testing gaps.

Quick Start

Run coverage and analyze results:
bash
# JavaScript/TypeScript
npm test -- --coverage

# Python
pytest --cov=src --cov-report=term-missing

# Go
go test -cover ./...

Instructions

Step 1: Generate Coverage Report

JavaScript/TypeScript (Jest):
bash
npm test -- --coverage --coverageReporters=text --coverageReporters=lcov
JavaScript/TypeScript (Vitest):
bash
vitest run --coverage
Python (pytest):
bash
pytest --cov=src --cov-report=html --cov-report=term-missing
Go:
bash
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

Step 2: Analyze Coverage Metrics

Review these key metrics:
  • Line coverage: Percentage of lines executed
  • Branch coverage: Percentage of conditional branches tested
  • Function coverage: Percentage of functions called
  • Statement coverage: Percentage of statements executed
Target thresholds:
  • Critical code: 80%+ coverage
  • Standard code: 60%+ coverage
  • UI/Config: 40%+ coverage

Step 3: Identify Gaps

Look for:
  • Uncovered functions: Functions with 0% coverage
  • Partial coverage: Functions with <50% coverage
  • Missing branches: Untested if/else paths
  • Error paths: Untested catch blocks
  • Edge cases: Boundary conditions not tested

Step 4: Prioritize Testing

High Priority (test first):
  • Business logic with 0% coverage
  • Security-critical functions
  • Payment/transaction code
  • Data validation logic
  • Error handling paths
Medium Priority (test next):
  • API endpoints
  • Database operations
  • Utility functions
  • Configuration logic
Low Priority (test if time permits):
  • Simple getters/setters
  • UI presentation logic
  • Type definitions
  • Generated code

Step 5: Create Action Plan

For each gap:
  1. Identify the untested code
  2. Determine test type needed (unit/integration/e2e)
  3. Estimate effort (small/medium/large)
  4. Assign priority (high/medium/low)
  5. Create test implementation tasks

Common Patterns

Pattern: Find untested files
bash
# Jest
npm test -- --coverage --collectCoverageFrom='src/**/*.{js,ts}' --coverageThreshold='{"global":{"lines":0}}'

# pytest
pytest --cov=src --cov-report=term-missing | grep "0%"
Pattern: Check specific module
bash
# Jest
npm test -- path/to/module --coverage

# pytest
pytest tests/test_module.py --cov=src.module --cov-report=term-missing
Pattern: Enforce coverage thresholds
json
// package.json (Jest)
{
  "jest": {
    "coverageThreshold": {
      "global": {
        "branches": 70,
        "functions": 70,
        "lines": 70,
        "statements": 70
      }
    }
  }
}

Advanced

For detailed information, see:
  • Coverage Tools - Tool-specific configuration and usage
  • Testing Patterns - Common testing patterns and best practices