4.0 KiB
QA Plan: [Sprint/Feature Name]
Date: [date] Generated by: /qa-plan Scope: [N stories across N systems] Engine: [engine name and version] Sprint file: [path to sprint plan]
Story Coverage Summary
| Story | Type | Automated Test Required | Manual Verification Required |
|---|---|---|---|
| [story title] | Logic | Unit test — tests/unit/[system]/ |
None |
| [story title] | Integration | Integration test — tests/integration/[system]/ |
Smoke check |
| [story title] | Visual/Feel | None (not automatable) | Screenshot + lead sign-off |
| [story title] | UI | None (not automatable) | Manual step-through |
| [story title] | Config/Data | Data validation (optional) | Spot-check in-game values |
Totals: [N] Logic, [N] Integration, [N] Visual/Feel, [N] UI, [N] Config/Data
Automated Tests Required
[Story Title] — Logic
Test file path: tests/unit/[system]/[story-slug]_test.[ext]
What to test:
- [Formula or rule from GDD Formulas section — e.g., "damage = base * multiplier where multiplier ∈ [0.5, 3.0]"]
- [Each named state transition]
- [Each side effect that should / should not occur]
Edge cases to cover:
- Zero / minimum input values
- Maximum / boundary input values
- Invalid or null input
- [GDD-specified edge cases]
Estimated test count: ~[N] unit tests
[Story Title] — Integration
Test file path: tests/integration/[system]/[story-slug]_test.[ext]
What to test:
- [Cross-system interaction — e.g., "applying buff updates CharacterStats and triggers UI refresh"]
- [Round-trip — e.g., "save → load restores all fields"]
Manual QA Checklist
[Story Title] — Visual/Feel
Verification method: Screenshot + [designer / art-lead] sign-off
Evidence file: production/qa/evidence/[story-slug]-evidence.md
Who must sign off: [designer / lead-programmer / art-lead]
- [Specific observable condition — e.g., "hit flash appears on frame of impact, not the frame after"]
- [Another falsifiable condition]
[Story Title] — UI
Verification method: Manual step-through
Evidence file: production/qa/evidence/[story-slug]-evidence.md
- [Every acceptance criterion translated into a manual check item]
Smoke Test Scope
Critical paths to verify before QA hand-off (run via /smoke-check):
- Game launches to main menu without crash
- New game / session can be started
- [Primary mechanic introduced or changed this sprint]
- [System with regression risk from this sprint's changes]
- Save / load cycle completes without data loss (if save system exists)
- Performance is within budget on target hardware
Playtest Requirements
| Story | Playtest Goal | Min Sessions | Target Player Type |
|---|---|---|---|
| [story] | [What question must be answered?] | [N] | [new player / experienced / etc.] |
Sign-off requirement: Playtest notes → production/session-logs/playtest-[sprint]-[story-slug].md
If no playtest sessions required: No playtest sessions required for this sprint.
Definition of Done — This Sprint
A story is DONE when ALL of the following are true:
- All acceptance criteria verified — automated test result OR documented manual evidence
- Test file exists for all Logic and Integration stories and passes
- Manual evidence document exists for all Visual/Feel and UI stories
- Smoke check passes (run
/smoke-check sprintbefore QA hand-off) - No regressions introduced — previous sprint's features still pass
- Code reviewed (via
/code-reviewor documented peer review) - Story file updated to
Status: Completevia/story-done
Stories requiring playtest sign-off before close: [list, or "None"]
Results and sign-off are tracked in the QA sign-off report generated by /team-qa — not in this plan file.
Template: .claude/docs/templates/test-plan.md
Generated by: /qa-plan — do not edit this line