| name | run-tests |
| description | Execute tests with coverage analysis using bmad-commands, identify coverage gaps, and suggest missing tests. This skill should be used for test execution and quality validation. |
| acceptance | [object Object], [object Object], [object Object], [object Object] |
| inputs | [object Object] |
| outputs | [object Object] |
| telemetry | [object Object] |
Run Tests Skill
Purpose
Execute tests, generate coverage reports, analyze coverage gaps, and suggest missing tests to improve code quality and test completeness.
Core Capabilities:
- Test execution via bmad-commands
- Coverage report generation and analysis
- Gap identification with criticality assessment
- Missing test suggestions with concrete examples
Prerequisites
- Test framework configured (Jest, Pytest, JUnit, Google Test, Cargo, Go Test, or any custom framework)
- Tests written for the code being tested
- bmad-commands skill available at
.claude/skills/bmad-commands/ - Project dependencies installed
Framework Support:
- Auto-detection: Automatically detects Jest, Pytest, JUnit, GTest, Cargo, Go Test
- Explicit: Specify framework with
--framework <name> - Custom: Add custom frameworks via
.claude/config.yaml(see bmad-commands/FRAMEWORK-EXTENSION-GUIDE.md)
Workflow
Step 0: Determine Test Scope
Action: Parse input and identify which tests to run.
Scope Types: Task-based (extract keywords → pattern → find tests), File-based (find corresponding test file), All tests (run all **/.test.)
See: references/templates.md#step-0-scope-determination-templates for complete examples
Step 1: Execute Tests
Action: Use bmad-commands to run tests.
Execute: python .claude/skills/bmad-commands/scripts/run_tests.py --path . --framework auto --output json
Parse Response: Extract success, outputs (passed, total_tests, coverage_percent, failures), telemetry, errors
If tests fail: Report failed tests with details, suggest fixes, do not proceed with coverage analysis
See: references/templates.md#step-1-test-execution-templates for complete response formats and error handling
Step 2: Generate Coverage Report
Action: Parse coverage data and generate reports.
Coverage Metrics: Statements, Branches, Functions, Lines (each with covered/total/percent)
Generate Report: Parse coverage JSON, create text table, check thresholds (≥80% for each metric)
See: references/templates.md#step-2-coverage-report-templates for complete formats and threshold checking
Step 3: Analyze Coverage Gaps
Action: Identify uncovered code and categorize by criticality.
Gap Categories: Error Handling (High), Edge Cases (Medium), Rare Branches (Low)
Criticality Levels:
- Critical: Security, payments, data deletion, auth (Must Test)
- High: Error handling, business logic, state transitions (Should Test)
- Medium: Logging, non-critical errors, minor edge cases (Nice to Test)
- Low: Debug code, dev-only code, trivial getters (Optional)
See: references/templates.md#step-3-gap-analysis-templates for complete examples and assessment criteria
Step 4: Suggest Missing Tests
Action: Generate concrete test suggestions for coverage gaps.
For each gap: File/line, criticality, reason, concrete test example
Prioritization: Focus on HIGH (3-5 suggestions), then MEDIUM (2-3), LOW optional
See: references/templates.md#step-4-test-suggestion-templates for complete suggestion formats with test code
Step 5: Present Summary
Action: Provide comprehensive test execution summary.
Summary Includes:
- Scope, framework, duration, test results (passed/failed/total)
- Coverage report with thresholds (statements, branches, functions, lines)
- Coverage gaps categorized by priority (CRITICAL/HIGH/MEDIUM/LOW)
- Test suggestions with estimated time and coverage gain
- Next steps and recommendations
See: references/templates.md#step-5-complete-summary-templates for formatted output examples
Output
Return structured JSON with test results, coverage data, gaps array (file, lines, criticality, category), test suggestions, and telemetry
See: references/templates.md#complete-json-output-format for full structure
Error Handling
No tests found: Verify test files exist, check scope pattern | Tests failing: Report failures with details, suggest fixes | Coverage below threshold: Identify gaps, suggest missing tests | Framework not configured: Verify installation and configuration
See: references/templates.md#error-templates for complete error messages and solutions
Common Scenarios
Tests passing + good coverage (≥80%): Report success, highlight optional improvements | Tests passing + low coverage (<80%): Identify critical gaps, suggest HIGH priority tests | Tests failing: Report failures, suggest fixes, do not proceed with coverage analysis
Best Practices
Run tests frequently | Prioritize quality over coverage % | Test what matters (business logic, errors, edge cases) | Keep tests fast (mock dependencies) | Use meaningful test names
See: references/best-practices.md for detailed testing best practices
Routing Guidance
Use this skill when:
- Need to execute tests for implemented code
- Need coverage analysis
- Want to identify test gaps
- Need to validate implementation quality
Always use after:
- Feature implementation (
implement-feature) - Bug fixes (
fix-bug) - Code refactoring (
refactor-code)
Before:
- Creating pull requests
- Deploying to production
- Code reviews
Reference Files
Detailed documentation in references/:
- templates.md: All output formats, complete examples, JSON structures, CI/CD integration
- test-execution-guide.md: Test configuration and execution details
- coverage-analysis-guide.md: Coverage parsing and threshold checking
- gap-analysis-guide.md: Analyzing uncovered code and categorization
- test-suggestions.md: Missing test suggestion templates
- best-practices.md: Testing and coverage best practices
Part of BMAD Enhanced Development Suite