Claude
Skills
Sign in
Back

analyze-pyramid

Included with Lifetime
$97 forever

Analyze test pyramid health by examining test distribution across unit, integration, and E2E levels. Use for test portfolio assessment and rebalancing recommendations.

Code Review

What this skill does


# 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:

```bash
# .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:

```markdown
| 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:

```markdown
## 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:

```markdown
## 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

````markdown
## 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:**

```bash
/test-strategy:analyze-pyramid
```

**Specify test directory:**

```bash
/test-strategy:analyze-pyramid tests/
```

Related in Code Review