ABCDEFG
1
READ ME — Battletoads QA (PC Game Pass)
2
Scope: 1-week functional test. Environment: Win11 • PC (Game Pass) • Build 1.1F.42718 • 1920×1080@144hz • V-Sync ON • VRR ON.
Input: Xbox-layout wired controller (Dhaose 360) x2 • Keyboard (UK)
Tools: OBS Studio • Xbox Game Bar • Snipping Tool • Paint (captions) • Jira • YouTube
Quick nav: OverviewTest CasesTest RunsSummary & MetricsGlossary
3
Section/AreaSession DateTest ObjectiveScope - InScope - OutSession StatusNotes
4
Session S01 – Overview27/10/2025Sanity-verify Level 1 gameplay flows:
Pause, HUD, Respawn at checkpoint,
arena transition pan, audio
Pause/Resume.
Pause-menu / input: open/close Pause
via controller & keyboard; navigate
highlight; Resume behavior

HUD: elements visible and restored
after Pause/Respawn

Checkpoint/Respawn: death → respawn
at last checkpoint with inputs active

Camera: arena transition “ding” + pan;
input re-enabled after pan

Audio: mute on Pause; clean resume
on unpause; no distortion
Later levels; online features;
Co-op join/leave (move to S02);
performance baselining
(move to S03).
Complete
Key Risks: keyboard Pause ignored when controller active; keyboard input
ignored on Pause menu

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:
• RUN-20251027-001 — TC-001 — Fail — Keyboard Esc/P do nothing; controller
Start opens/closes Pause
• RUN-20251027-002 — TC-002, TC-011 — Pass — HUD restored exactly after Pause
across 5 cycles, HUD decreases immediately and
matches internal health.
• RUN-20251027-003 — TC-003 — Pass — Respawn at last checkpoint; HUD
intact; camera correct; inputs active
• RUN-20251027-004 — TC-004 — Pass — Ding SFX then brief camera pan;
bounds unlock; proceed to next arena
• RUN-20251027-005 — TC-005 — Pass — Music resumes within ~1s after
unpausing; volume/mix unchanged
• RUN-20251027-006 — TC-006, TC-001 — Fail — Pause menu ignores keyboard;
arrows/Enter/Esc/P do nothing

Next Session: Recheck co-op join/leave for edge cases (pause, disconnect)
- TC-007
5
Session S02 – Overview28/10/2025Complete TC-006 (Pause navigation)
on controller and keyboard paths; if
time remains, smoke TC-007
(Co-op join/leave).
Pause menu navigation; Settings→
Audio (controller & keyboard)

Resume → Join overlay behavior;
Alt-Tab focus check

Keyboard-only after controller
disconnect (ownership/hand-off)

TC-007 smoke from Title and in-level
(join/leave)

Dependency: TC-006 blocks TC-007
Later levels; online features;
input remapping;
accessibility options.
CompleteKey Risks: co-op join/leave state; HUD/camera sync; P1 focus retention

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:

• RUN-20251028-001 — TC-007 — Pass — P2 joins from Title; HUD/camera
update; P1 focus OK; P2 leaves via own Pause →
clean despawn; re-join OK; no “host remove” on P1
Pause

Next Session: Performance baseline in combat, set up FPS/frametime capture
- TC-008
6
Session S03 — Overview29/10/2025Complete TC-008 – FPS Stability
(First Arena): capture evidence + log.
Queue TC-006 – Pause keyboard
hand-off for next session.
Performance: FPS stability in First
Arena (combat only)

Measure: avg FPS, 1% low, worst
frametime, spikes > 40 ms

Include light camera pan transitions;
no scene loads

Inputs/Env: controller (XInput);
keyboard if needed; 1080p@144 Hz
TC-006 Pause keyboard hand-off
(queued for next session)

Later levels

Online features

Deep graphics/audio tuning
Complete
Key Risks: frame-time spikes under combat load; camera-pan performance
(spikes >40 ms: 0)

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:
• RUN-20251029-001 — TC-008 — Pass — Avg 140 FPS; 1% low 135; worst
7.4 ms; >40 ms spikes: 0
• RUN-20251029-002 — TC-008 — Pass — Dense spawns/power moves/camera
pans; avg 144 FPS; >40 ms: 0

Next Session: Re-test TC-006: reproduce Pause keyboard lock with controller
connected; verify Resume → Join overlay; capture Alt-Tab focus behavior;
confirm keyboard-only navigation after controller disconnect.
7
Session S04 — Overview30/10/2025Execute TC-006 Pause Menu keyboard/
controller hand-off
From Pause, test input hand-off:
keyboard ↔ controller

Open Pause with controller and with
keyboard

Navigate Settings from Pause using
keyboard (arrows/Enter) and controller
(D-pad/A/B)

Close Pause via Esc/P (keyboard) and
B/Start (controller)
Later levels; Online/Co-opComplete
Key Risks: keyboard Pause ignored with controller; Resume opens Join overlay;
Alt-Tab retains controller focus

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:
• RUN-20251030-001 — TC-006 — Fail — With controller: keyboard P/↑/↓ ignored;
Enter on “Resume” opens Join overlay

Next Session: Run TC-004 (progression cue/camera pan), TC-010 (audio resume),
TC-005 (Start via controller/keyboard), TC-009 (Pause nav), and verify TC-001
baseline
8
Session S05 — Overview30/10/2025Execute TC-004 (Post-Arena Transition)
and TC-010 (Audio Pause duck/mute),
one run each.
Post-arena progression: ding cue →
camera pan → bounds unlock (Level 1)

Audio behavior on Pause/Resume:
duck/mute + resume integrity

Inputs: controller (XInput); keyboard
basic as needed

Single-player, local; default graphics;
1080p@144Hz
Later levels / other arenas

Online co-op

Graphics/video option changes or
perf profiling

Accessibility menu
Complete
Key Risks: camera pan smoothness; audio resume integrity

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:
• RUN-20251031-001 — TC-004 — Pass — Ding cue plays [once/twice]; camera
pan [smooth/jitter]; input after pan [accepted/delayed]
• RUN-20251031-002 — TC-010 — Pass — Pause audio mutes; Resume audio
restores clean; no distortion
• RUN-20251031-003 — TC-005 — Pass — Start with controller success; back to
Title; keyboard Start success; no Join overlay
• RUN-20251031-004 — TC-009 — Pass — Controller+keyboard: Pause instant;
highlight moves; Resume clean
• RUN-20251031-005 — TC-001 — Pass — Verified via existing executions;
keyboard ignored when controller active = expected

Next Session: Run TC-004 (progression pan between arenas), TC-007 (Game Over
→ Load Checkpoint), TC-002 (short-level stability/perf cross-ref), and probe
TC-008 Pause/Join-In input ownership (keyboard Enter opens Join In; check
controller responsiveness); log a bug if repro.
9
Session S06 — Overview01/11/2025Execute TC-006 Settings → Audio
navigation, TC-007 Game Over flow,
TC-002 performance sanity, and
TC-008 Pause focus hand-off
(one run each).
Settings → Audio: open via Pause,
navigate with controller + keyboard,
change a value, back out, reopen
(persistence check).

Game Over flow: single-prompt Load
Checkpoint; confirm only mapped
input works; measure ~time to load.

Performance sanity (short burst):
Level 1 combat snippet; watch for
visible stutter; no deep profiling.

Pause focus hand-off: keyboard vs
controller ownership on Pause;
resume behavior; join-in not covered
unless needed.

Inputs/Env: XInput controller +
keyboard; single-player local; default
graphics; 1080p@144Hz.
Long-run performance / stress
suites

Multi-level progression

Online co-op

Deep graphics / audio mix tuning
or balance

Saves / achievements / metadata
Complete
Key Risks: input ownership on Pause/Join-In; controller unresponsive on Join
In screen

Evidence Root: ADD-YOUR-PLAYLIST-URL | Jira: ADD-YOUR-JIRA-PROJECT-URL

Runs Executed:
• RUN-20251101-001 — TC-004 — Pass — Exit ungates; camera pan right;
seamless walk-in; HUD/controls intact
• RUN-20251101-002 — TC-007 — Pass — Game Over: single prompt “X Load
Checkpoint”; loads last checkpoint in ~3s (3/3)
• RUN-20251101-003 — TC-002 — Pass — Short level; no freezes/input lag; perf
steady; behavior matches prior TC-008 runs
• RUN-20251101-004 — TC-008 — Fail — Keyboard Enter opens Join In; controller
input dead on Join In and Pause; Esc/Enter restore
10
Session S07 — Overview06/11/2025
Observation session. Capture first-minute
flow and pause-to-control for Battletoads;
compare against one same-dev title
(Illusion Island, video reference) and one
genre peer (TMNT); note next tests.
Inputs/Env: XInput controller + keyboard
(solo); default graphics; 1080p@144Hz.

Games covered: Battletoads;
TMNT: Shredder’s Revenge; Disney
Illusion Island (video reference).

Flows: Title→New Game/Continue →
First control (Battletoads); Title→ Start
→ First control (TMNT); Title→Play →
First control (Illusion Island).

Behaviour: Pause→Back to gameplay
(immediate control / unintended actions).

UI: HUD readability during combat
(health/special/combo/score visibility).

Evidence: timestamp notes; 1–2 short
clips/screens per game.

Save states: fresh boot and existing
save (Battletoads).



No online/mp co-op or Remote
Play.

No controller remap tests; no
keyboard-only pass.

No performance/stress (fps/load).

No full accessibility sweep beyond
shake-off.

No difficulty/balance review.

No achievements/progression
checks.

No bug ticket creation in this
session (notes only).

Illusion Island: video-only
(no hands-on).
Complete
Battletoads — Title→New Game: 4 presses to first control (0:07→1:12).
Title→Continue: 4 presses; intro skipped (0:01→0:20). Pause→Back:
immediate control, no unintended actions (0:04→0:13). HUD: info spread to
corners; hard to track health/rank/combo during fights (not improved on 27"
fullscreen; no UI scale).

TMNT: Shredder’s Revenge — Title→Start: 6 presses to first control
(0:01→3:55). Pause→Back: immediate control, no unintended actions
(0:06→0:16). HUD: small, unlabelled blue/green bars; score pop-ups can
obstruct.

Illusion Island (video reference) — Title→Play: 13 presses to first control
(0:09→3:11). Onboarding: first jump prompt appears exactly at control (3:11).
Pause→Back: not observed in source video.

Takeaway — Same-Genre: Battletoads is faster to first control (4 vs 6); both
resume cleanly; HUD readability risks differ.

Takeaway — Same-Dev: Illusion Island has higher start friction (13 presses) but
shows just-in-time onboarding at control; Pause→Back TBD (video did not show).