2.8 KiB
2.8 KiB
name, description, outputFile, nextStepFile
| name | description | outputFile | nextStepFile |
|---|---|---|---|
| step-03-test-strategy | Map acceptance criteria to test levels and priorities | {test_artifacts}/atdd-checklist-{story_id}.md | ./step-04-generate-tests.md |
Step 3: Test Strategy
STEP GOAL
Translate acceptance criteria into a prioritized, level-appropriate test plan.
MANDATORY EXECUTION RULES
- 📖 Read the entire step file before acting
- ✅ Speak in
{communication_language} - 🚫 Avoid duplicate coverage across levels
EXECUTION PROTOCOLS:
- 🎯 Follow the MANDATORY SEQUENCE exactly
- 💾 Record outputs before proceeding
- 📖 Load the next step only when instructed
CONTEXT BOUNDARIES:
- Available context: config, loaded artifacts, and knowledge fragments
- Focus: this step's goal only
- Limits: do not execute future steps
- Dependencies: prior steps' outputs (if any)
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise.
1. Map Acceptance Criteria
- Convert each acceptance criterion into test scenarios
- Include negative and edge cases where risk is high
2. Select Test Levels
Choose the best level per scenario based on {detected_stack}:
If {detected_stack} is frontend or fullstack:
- E2E for critical user journeys
- API for business logic and service contracts
- Component for UI behavior
If {detected_stack} is backend or fullstack:
- Unit for pure functions, business logic, and edge cases
- Integration for service interactions, database queries, and middleware
- API/Contract for endpoint validation, request/response schemas, and Pact contracts
- No E2E for pure backend projects (no browser-based testing needed)
3. Prioritize Tests
Assign P0–P3 priorities using risk and business impact.
4. Confirm Red Phase Requirements
Ensure all tests are designed to fail before implementation (TDD red phase).
5. Save Progress
Save this step's accumulated work to {outputFile}.
-
If
{outputFile}does not exist (first save), create it with YAML frontmatter:--- stepsCompleted: ['step-03-test-strategy'] lastStep: 'step-03-test-strategy' lastSaved: '{date}' ---Then write this step's output below the frontmatter.
-
If
{outputFile}already exists, update:- Add
'step-03-test-strategy'tostepsCompletedarray (only if not already present) - Set
lastStep: 'step-03-test-strategy' - Set
lastSaved: '{date}' - Append this step's output to the appropriate section.
- Add
Load next step: {nextStepFile}
🚨 SYSTEM SUCCESS/FAILURE METRICS:
✅ SUCCESS:
- Step completed in full with required outputs
❌ SYSTEM FAILURE:
- Skipped sequence steps or missing outputs Master Rule: Skipping steps is FORBIDDEN.