- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24) - apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004) - apps/web: React 19 + Vite 8 (ESM) - libs/shared/api-interface: Zod contract base - Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit - WDS artifacts: - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs) - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact) - Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md - AGENTS.md + README.md como entrada para devs/agentes Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
---
|
||
name: 'step-03-test-strategy'
|
||
description: 'Map acceptance criteria to test levels and priorities'
|
||
outputFile: '{test_artifacts}/atdd-checklist-{story_key}.md'
|
||
nextStepFile: '{skill-root}/steps-c/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:
|
||
|
||
```yaml
|
||
---
|
||
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'` to `stepsCompleted` array (only if not already present)
|
||
- Set `lastStep: 'step-03-test-strategy'`
|
||
- Set `lastSaved: '{date}'`
|
||
- Append this step's output to the appropriate section.
|
||
|
||
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.
|