analyze-pyramid
Analyze test pyramid health by examining test distribution across unit, integration, and E2E levels. Use for test portfolio assessment and rebalancing recommendations.
SKILL.md
Full skill instructions
Analyze Test Pyramid Command
Analyze the current test distribution and recommend improvements for a healthier test pyramid.
Process
Step 1: Discover Tests
If a test directory is provided, use it. Otherwise, search for common test patterns:
# .NET projects
find . -name "*.Tests.csproj" -o -name "*Tests*.csproj"
find . -name "*Test*.cs" -type f
# Count tests
grep -r "\[Fact\]\|\[Theory\]" --include="*.cs" | wc -l
Step 2: Categorize Tests
Identify test levels by project/folder naming:
- Unit:
*.Unit.Tests,*.Domain.Tests - Integration:
*.Integration.Tests,*.Api.Tests - E2E:
*.E2E.Tests,*.Acceptance.Tests
Count tests at each level:
| Level | Project | Test Count |
|-------|---------|------------|
| Unit | MyApp.Domain.Tests | 150 |
| Unit | MyApp.Application.Tests | 80 |
| Integration | MyApp.Api.Tests | 60 |
| E2E | MyApp.E2E.Tests | 40 |
Step 3: Load Pyramid Skill
Invoke the test-strategy:test-pyramid-design skill for shape analysis patterns.
Step 4: Analyze Distribution
Calculate percentages and identify shape:
## Current Distribution
| Level | Count | Percentage | Target |
|-------|-------|------------|--------|
| Unit | 230 | 70% | 70% ✅ |
| Integration | 60 | 18% | 20% ✅ |
| E2E | 40 | 12% | 10% ⚠️ |
**Shape Assessment**: Near-healthy pyramid with slight E2E heaviness
Step 5: Identify Anti-Patterns
Check for common issues:
- Ice Cream Cone: E2E > 30%
- Hourglass: Integration > 50%
- Inverted Pyramid: Unit < 50%
- Missing Layer: Any level at 0%
Step 6: Generate Recommendations
Based on analysis:
## Recommendations
### Immediate Actions
1. **Reduce E2E tests** by 2% (8 tests)
- Review for tests that can be pushed to integration level
- Identify tests duplicating lower-level coverage
### Test Migration Candidates
| Current Level | Candidate | Recommended Level | Reason |
|---------------|-----------|-------------------|--------|
| E2E | Login validation | Integration | API test sufficient |
| E2E | Form validation | Unit | Pure logic test |
| Integration | Data transform | Unit | No I/O needed |
### Coverage Gaps
- Unit tests needed for: [business logic areas]
- Integration tests needed for: [API boundaries]
Step 7: Output Report
## Test Pyramid Analysis Complete
**Current Shape**: [Shape name]
**Distribution**:
```text
▲
███ E2E: 12%
█████ Integration: 18%
███████ Unit: 70%
```
**Health Score**: [X/10]
**Key Findings**:
1. [Finding 1]
2. [Finding 2]
**Recommended Actions**:
1. [Action 1]
2. [Action 2]
Examples
Analyze current directory:
/test-strategy:analyze-pyramid
Specify test directory:
/test-strategy:analyze-pyramid tests/
