Files
pixelheros/.claude/docs/templates/test-plan.md
2026-05-15 14:52:29 +08:00

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):

  1. Game launches to main menu without crash
  2. New game / session can be started
  3. [Primary mechanic introduced or changed this sprint]
  4. [System with regression risk from this sprint's changes]
  5. Save / load cycle completes without data loss (if save system exists)
  6. 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 sprint before QA hand-off)
  • No regressions introduced — previous sprint's features still pass
  • Code reviewed (via /code-review or documented peer review)
  • Story file updated to Status: Complete via /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