Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
4.2 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 (verified by its screenshots) | Retained screenshot of each screen touched |
| [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-director] sign-off
Evidence file: production/qa/evidence/[story-slug]-evidence.md
Who must sign off: [art-director / owning designer]
- [Specific observable condition — e.g., "hit flash appears on frame of impact, not the frame after"]
- [Another falsifiable condition]
[Story Title] — UI
Verification method: Retained screenshot of each screen touched
Evidence: production/qa/evidence/[story-slug]/[NN]-[what-it-shows].png, one per screen
- [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
- Retained screenshot of each screen touched, in
production/qa/evidence/, for all Visual/Feel and UI stories - Signed-off evidence doc at
production/qa/evidence/[story-slug]-evidence.mdfor all Visual/Feel 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