plan-tests
Design a risk-scaled test architecture for an epic before implementation begins. Produces prioritized scenarios, test level distribution, and fixture plans based on TEA and bigpowers principles.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 289
- Forks
- 24
01 前言 Front Matter
- name
- plan-tests
- model
- opus
- description
- Design a risk-scaled test architecture for an epic before implementation begins. Produces prioritized scenarios, test level distribution, and fixture plans based on TEA and bigpowers principles.
03 SKILL.md 正文
Plan Tests
Spine position: Between
slice-tasksandplan-workfor epics withrisk: P0|P1. Optional (can be waived instate.yaml) for P2/P3.
Bridges the gap between slicing and planning by systematically designing the test suite as a first-class system. Produces specs/tech-architecture/eNN-TEST_PLAN_LATEST.md.
Pre-flight
- Read
specs/epics/eNN-*/story list.
Core Workflow
- Analyze Epic: Read sliced stories in the active epic capsule.
- Risk Assessment: Map behaviors to P0–P3 risk tiers.
- Level Strategy: Classify each scenario (Unit, Integration, E2E).
- Fixture Design: Plan factories, network intercepts, mocks (see REFERENCE.md).
- NFR Plan: Define verifiable commands for Non-Functional Requirements. Skip if
--lite. - Publish: Generate
specs/tech-architecture/eNN-TEST_PLAN_LATEST.md.
Hard Gates & Guardrails
- DO NOT write test code or production code during this skill.
- Scenario ID format MUST be:
SC-eNNsYY-P{0|1|2|3}-NN. plan-workMUST reference these scenario IDs in its §17 Gherkin acceptance criteria.- Default to pushing tests to the lowest possible level.
Execution Modes
$bmad plan-tests: Standard execution.$bmad plan-tests --lite: Skips NFRs and complex fixture planning.
Verify
→ verify: test -f specs/tech-architecture/e32-TEST_PLAN_LATEST.md
Handoff
Gate: READY -> next: plan-work Writes: state.yaml handoff.next_skill = plan-work
Plan Tests — Reference
Test Plan Template (specs/tech-architecture/eNN-TEST_PLAN_LATEST.md)
# Test Design: [eNN-slug]
## 1. Risk Matrix & Scenarios
| Scenario ID | Behavior Description | Risk | Test Level | Target File/Module |
|-------------|----------------------|------|------------|--------------------|
| SC-P0-01 | Primary checkout | P0 | Integration | checkout.spec.ts |
## 2. Fixture Architecture & Isolation
- Data Factories: (e.g. UserFactory)
- Network Intercepts: (e.g. MSW handlers)
- Database State: (e.g. in-memory SQLite)
## 3. NFR Verification
| NFR Type | Requirement | Verification Command |
|----------|-------------|----------------------|
| Perf | < 200ms | `npm run test:perf` |
## 4. Out of Scope
- [Explicitly excluded testing areas]
Fixture Planning Guidance
- Data Factories: Prefer factory functions over manual object construction.
- Network Intercepts: For frontend integration tests, use tools like Mock Service Worker (MSW) to intercept and mock HTTP requests.
- Database State: For backend tests, use a clean database state per test or an in-memory database to ensure isolation.
04 同仓库更多 Skills
skill-verify-fail-open-fixture
Negative-path fixture for run-skill-verify.sh — must never PASS.
negative-path
暂无简介
write-document
Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs/ directory.
wire-observability
Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.
wire-ci
CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.
visual-dashboard
Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers/dashboard/. Reads specs/state.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.