test-coverage-analyzer
Test Coverage Analyzer
Analyze test coverage and identify testing gaps.
Quick Start
Run coverage and analyze results:
# 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):
npm test -- --coverage --coverageReporters=text --coverageReporters=lcov
JavaScript/TypeScript (Vitest):
vitest run --coverage
Python (pytest):
pytest --cov=src --cov-report=html --cov-report=term-missing
Go:
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:
- Identify the untested code
- Determine test type needed (unit/integration/e2e)
- Estimate effort (small/medium/large)
- Assign priority (high/medium/low)
- Create test implementation tasks
Common Patterns
Pattern: Find untested files
# 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
# Jest
npm test -- path/to/module --coverage
# pytest
pytest tests/test_module.py --cov=src.module --cov-report=term-missing
Pattern: Enforce coverage thresholds
// 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
More from armanzeroeight/fastagent-plugins
gcp-cost-optimizer
Analyzes GCP costs and provides optimization recommendations including committed use discounts, rightsizing, and unused resources. Use when optimizing GCP spending or analyzing GCP costs.
15kubernetes-best-practices
Provides production-ready Kubernetes manifest guidance including resource management, security, high availability, and configuration best practices. This skill should be used when working with Kubernetes YAML files, deployments, pods, services, or when users mention k8s, container orchestration, or cloud-native applications.
11schema-designer
Design database schemas with proper normalization, relationships, constraints, and indexes. Use when creating database tables, modeling data relationships, or designing database structure.
11api-documentation-generator
Generate OpenAPI/Swagger specifications and API documentation from code or design. Use when creating API docs, generating OpenAPI specs, or documenting REST APIs.
9goroutine-patterns
Implement Go concurrency patterns using goroutines, channels, and synchronization primitives. Use when building concurrent systems, implementing parallelism, or managing goroutine lifecycles. Trigger words include "goroutine", "channel", "concurrent", "parallel", "sync", "context".
9inventory-manager
Organizes Ansible inventory files, manages host groups, and configures dynamic inventory. Use when organizing Ansible inventory, managing host groups, or setting up dynamic inventory sources.
9