Testland
Browse all skills & agents

game-test-categories-reference

Pure-reference catalog of the testing categories that apply to a video-game build before it ships. Defines the six canonical buckets the industry tests against - functional / compliance / compatibility / performance / localization / accessibility - plus the multiplayer and content-rating sub-axes. Cross-references each bucket to the platform-holder vocabulary that drives it (Microsoft Xbox Requirements / XR test cases, Sony TRC, Nintendo Lotcheck, Steam Direct review). Use as the taxonomy lookup when planning a game test pass, scoping QA effort, mapping platform-cert findings back to internal test categories, preparing a submission checklist, reviewing first-party certification requirements, or triaging cert testing failures against internal categories.

Install with skills.sh (any agent)

npx skills add testland/qa --skill game-test-categories-reference
View source

game-test-categories-reference

Overview

A video-game build is tested against six canonical categories that the industry has converged on over three console generations. This skill is the pure-reference taxonomy consumed by the engine-specific skills (unity-test-framework, unreal-automation-system, godot-gut-tests), the builders (multiplayer-state-machine-coverage, gameplay-recording-replay), and the platform submission reference (platform-cert-overview-reference).

Sources: Microsoft's Certification step-by-step guide (opens in new window), Xbox Accessibility Guidelines (XAG) v3.2 (opens in new window), Steam's App Review Process (opens in new window), and longstanding QA practice (Schultz & Bryant, Game Testing All-In-One, 3rd ed., ISBN 9781305077133).

The six canonical categories

#CategoryScopeTypical owner
1FunctionalMechanics, scripting, AI, UI flow, save/load, economy/progression match the design spec.Engine-specific automation + manual QA
2ComplianceBuild conforms to platform holder's Requirements / TRC / Lotcheck document.Cert / submission QA
3CompatibilityRuns across all required SKUs, OS versions, hardware generations, and display/audio/storage configurations.Lab / device-cloud QA
4PerformanceHits declared frame-time, load-time, memory, thermal, and battery budgets on each target SKU.Performance engineers + profilers
5LocalizationTranslated strings fit their UI, render in their script, and behave under RTL + CJK + length expansion; VO coverage correct.LQA agencies + automation
6AccessibilityMeets platform-required or -recommended accessibility guidelines (Microsoft XAG, AbleGamers, CVAA/EAA where applicable).Accessibility QA + design

These six categories are referenced throughout platform-cert-overview-reference when describing each platform's submission gates.

Category detail

1. Functional

Platform-specific notes. Microsoft's Build Verification Testing (BVT) (opens in new window) stage is largely functional: "BVTs is a reduced test pass designed to make sure a product is fully testable and configured properly before entering full certification testing." Functional bugs that break BVT block the entire cert pass.

Tooling. Engine-native test frameworks (unity-test-framework, unreal-automation-system, godot-gut-tests) for unit + play-mode tests; recorded-input replay (per gameplay-recording-replay) for scripted scenario coverage.

2. Compliance

Build conforms to the platform holder's Requirements / TRC / Lotcheck document. The per-platform requirement documents and the CFR / SRI / ION severity codes are in references/platform-cert-details.md. A CFR (Condition for Resubmission) fails cert and must be fixed before resubmit.

3. Compatibility

Runs across all required SKUs, OS versions, hardware generations, and display/audio/storage configs. The Xbox bench layout that exemplifies the required matrix - plus the Sony / Nintendo / PC equivalents - is in references/platform-cert-details.md.

4. Performance

Key budgets: frame-time targets (16.67 ms / 60 Hz, 33.33 ms / 30 Hz) under representative load; long-session memory stability ("soak" test).

Where it shows up in cert. Microsoft requires a minimum sustained framerate per Xbox Requirements (XR) testing (opens in new window). Sony TRC includes performance gates (NDA - cite by stable ID). Nintendo Lotcheck includes thermal + battery rules for Switch (NDA - cite by stable ID).

5. Localization

Platform-specific note. Microsoft's cert bench (see references/platform-cert-details.md) varies Console Language across consoles to exercise localized assets. Culture-sensitive content rules live under each platform holder's compliance category - see Microsoft's Xbox Network Policies (opens in new window).

Key runtime risk areas not caught by screenshot review: German string overflow (~30% longer than English on average), CJK subpixel rendering, Arabic/Hebrew bidirectional layout, missing VO takes, and lip-sync drift.

6. Accessibility

Guidelines source. Microsoft XAG v3.2 at learn.microsoft.com/.../accessibility/guidelines (opens in new window). Each XAG entry specifies: Goal, Scoping questions, Key areas to target, Implementation guidelines, Example content, Potential player impact, and Resources/tools.

Regulatory frameworks. US CVAA applies to in-game communications; EU EAA applies from June 2025.

Testing service. Microsoft offers the Microsoft Gaming Accessibility Testing Service (MGATS) (opens in new window) that tests against the XAG.

Common sub-axes: remappable controls, hold-to-press toggle, Xbox Adaptive Controller support (Input); high-contrast modes, text size (XAG 101), color-blind modes, screen reader output (Visual); subtitles with font size / background opacity / speaker attribution (Audio); difficulty options, save-anywhere, reduced-motion toggles (Cognitive).

Triage workflow

Given a bug report, apply this sequence:

  1. Identify symptom - what broke? (crash, visual artifact, wrong value, missing asset, regulatory flag)
  2. Map to category - use the bug-severity cheatsheet below, or the six-category table.
  3. Assign owner - use the "Typical owner" column from the six-category table above.
  4. Set severity - reference the platform holder's severity model (CFR / SRI / ION for Xbox; equivalent tiers for Sony and Nintendo). A CFR blocks resubmission; triage these first.
  5. Link to cert requirement - record the XR / TRC / Lotcheck ID in the bug tracker field so cert QA can verify the fix closes the finding.
  6. Verify before closing - confirm the assigned category matches the cheatsheet row for the symptom and that the recorded requirement ID resolves in the current platform requirements list; a mismatched category or stale XR number is the common triage error.

Bug severity → category mapping cheatsheet

SymptomCategorySeverity hint
Crash on save loadFunctionalHigh - cert-blocker
XR-024 fail (unhandled controller disconnect)ComplianceCFR - cert-blocker
Black screen on PS4 base, fine on PS5CompatibilityHigh - gens-affecting
22 fps in raid encounter (target 30)PerformanceTriage vs. budget
German "Zurück" overflows buttonLocalizationSev 3 - UI
Subtitles missing in cutscene 7AccessibilityXAG fail
Host migration drops playersMultiplayer (functional + compliance)High

Cross-axis: multiplayer / online

Multiplayer is not a seventh category - it cuts across functional + compliance + compatibility + performance. Key test surface:

  • State-machine correctness under packet loss / latency / disconnect - see multiplayer-state-machine-coverage.
  • Matchmaking + session lifecycle - joins, drop-ins, host migration.
  • Anti-cheat compatibility with platform integrity systems (Xbox LIVE; Sony's authentication; Nintendo Network).
  • Cert-blocking risk. Per Microsoft's certification-guide (opens in new window), "Multiplayer does not work as expected" is one of the most common reasons a title is placed on Hold during an Xbox cert pass.

Cross-axis: content rating

Content rating (ESRB / PEGI / CERO / USK / IARC) is a regulatory classification, not a testing category. However:

  • Steam requires the Content Survey (opens in new window) before review.
  • Platform holders gate distribution on the local rating board's certificate (cite by stable ID for NDA-only details).
  • Localization (category 5) may interact with content rating - removing or recoloring blood for the German release, removing gambling minigames for the Belgian release.

Anti-patterns

Anti-patternWhy it failsFix
Treating "QA" as one undifferentiated bucketLoses ownership; compliance gaps surface at certUse the six categories explicitly in test plans + bug-tracker fields
Running compliance late ("we'll do cert later")Late-found CFRs delay release by weeksRun platform-holder TRC / XR checklists from milestone 1
Compatibility on the dev kit onlyRetail SKUs (Series S, PS4 base, Switch handheld) behave differentlyLab test on retail hardware per the bench layout above
Performance averaged over the levelSpikes cause CFRs; averages hide themFrame-time histograms, p99, sustained-window measurements
Localization screenshot reviewMisses runtime overflow, missing VO, lip-sync driftPlaythrough every locale; not a glanced screenshot
Accessibility as a launch checklistArchitectural changes (rebindable input) can't be retrofittedXAG scoping questions at design milestone, not at submission
Multiplayer tested only in low-latency LANDrops, NAT, host migration fail in the wildInject loss / jitter; see multiplayer-state-machine-coverage

Limitations

  • NDA-only platform details. Sony TRC and Nintendo Lotcheck exact requirement numbers are gated. This skill cites them by stable ID per PLUGIN_AUTHORING.md Step 4 fallback; partners with NDA access should consult their developer portal for the authoritative current revision.
  • Microsoft XR numbering drifts. XR identifiers (XR-024, XR-130, etc.) are revised across GDK releases - verify against the current Xbox Requirements list (opens in new window) before quoting.
  • Steam Direct is lighter than console cert. Per partner.steamgames.com/doc/store/review_process (opens in new window), Steam's review is store-page + build-startup focused (3 - 5 business days), not a console-style XR pass.
  • Content rating boards are out of scope - they are regulatory classification, not QA categories. Consult ESRB / PEGI / CERO / USK / IARC documentation directly.
  • No regional content rules here. Per-region content rules (German violence colouring, Belgian / NL loot-box rules, China / Korea content rules) are platform + region specific - consult the platform holder's regional supplement.

Platform certification detail

View source (opens in new window)

Platform certification detail

Per-platform requirement documents, severity codes, and the compatibility bench layout that back the six-category taxonomy in SKILL.md.

Requirement documents by platform (Compliance)

PlatformDocument nameSource
Xbox consoleXbox Requirements (XRs)learn.microsoft.com/.../console/certification-requirements (opens in new window)
Xbox PCXbox Network Policies for PC and Mobilelearn.microsoft.com/.../pc/live-policies-pc (opens in new window)
PlayStationTechnical Requirements Checklist (TRC)Gated NDA portal; cite by stable ID "Sony TRC"
NintendoLotcheck / Submission GuidelinesGated NDA portal; cite by stable ID "Nintendo Lotcheck"
SteamApp Review Processpartner.steamgames.com/doc/store/review_process (opens in new window)

Each requirement maps to test cases with explicit Test Steps, Expected Behavior, and Pass/Fail examples - see Microsoft's Certification Tested Xbox Requirements for Xbox Console Games (opens in new window).

Severity model (Xbox; broadly applicable)

CodeNameEffect
CFRCondition for ResubmissionTitle fails cert; must be fixed before resubmit
SRIStandard Reporting IssueRelated to an XR but not severe enough to fail; fix recommended
IONIssue of NoteNot tied to an XR; informational
Non-Tested-XR could not be tested in this pass

Sony TRC and Nintendo Lotcheck use comparable severity tiers internally (NDA - cite by stable ID).

Compatibility bench layout

The Xbox bench - per the Certification step-by-step guide (opens in new window) - exemplifies the required matrix:

ConsoleSKUResolutionStorageAudio
Console 1Xbox One / Xbox Series X720pInternal HDDStereo
Console 2Xbox One X / Xbox Series S4kInternal HDD5.1 Bitstream
Console 3Xbox One S / Xbox Series X1080pInternal HDDStereo
Console 4Xbox Series S1080pUSB HDDHeadset (Windows Sonic)
Console 5Xbox Series X720pUSB HDDStereo

The same matrix logic applies to Sony (PS4 base / PS4 Pro / PS5 / PS5 Pro), Nintendo (Switch original / OLED / Switch 2), and PC (GPU vendor × driver version × OS × DirectX/Vulkan). Microsoft tracks cross-generation requirements under XR-130: Xbox Console Families and Generations (opens in new window). Each bench console also varies Console Language to exercise localized assets in the cert pass.

Related skills

game-perf-profiling

Profiles game builds against frame-time, memory, GPU draw-call, and GC-spike budgets using Unity Profiler + Profile Analyzer + Performance Testing package and Unreal Insights + stat commands. Establishes pass/fail thresholds (16.6 ms at 60 fps, 33.3 ms at 30 fps), writes automated performance regression tests that run in CI, and emits a structured budget report per SKU. Use when a title must hit a declared frame-time or memory budget before a milestone gate or platform-cert submission, or when a recent change needs a performance regression check.

gameplay-recording-replay

Build a deterministic gameplay record/replay test artefact for Unity, Unreal, or Godot - record a player session, save it to disk, replay it bit-for-bit, and assert that the resulting game state matches the original. Covers Unity Input System's InputEventTrace API (Enable / Disable / WriteTo / ReadFrom / Replay) for input-level capture, Unreal's Replay System (DemoRec / DemoPlay / DemoStop console commands plus DemoNetDriver + NetworkReplayStreamer, default storage at %LOCALAPPDATA%/{Project}/Saved/Demos) for replication-stream capture, and Godot's community-pattern deterministic-RNG + input-script replay since Godot ships no first-party replay system. Use when authoring a regression-test artefact for player-recorded sessions, building a netcode replay for spectator / esports, or producing reproducible bug repros for cert teams.

godot-gut-tests

Author and run GUT (Godot Unit Test) - the community-canonical GDScript test framework at github.com/bitwes/Gut and gut.readthedocs.io. Covers install (Godot Asset Library or manual `addons/gut/` copy + plugin enable), GUT panel inside the editor, writing tests that extend GutTest with `test_` prefix methods, the assertion family (assert_eq / assert_almost_eq / assert_true / assert_signal_emitted), lifecycle hooks (before_each / after_each / before_all / after_all), inner classes for grouping, parameterized tests via `params=[...]`, doubles / stubs / spies, async / coroutine tests, the command-line runner (`-d -s addons/gut/gut_cmdln.gd -gdir=res://test -gjunit_xml_file=... -gexit`), JUnit XML export, and CI integration. Godot 4.x uses GUT 9.x (current main branch supports 4.6.x; godot_4_7 branch for 4.7.x); Godot 3.x uses GUT 7.x. Use when the unit under test is GDScript code in a Godot project.

multiplayer-state-machine-coverage

Build a coverage matrix for a networked-game state machine that exercises connect / authority-handoff / disconnect / reconnect / host-migration paths across Unity Netcode for GameObjects, Unreal Engine replication, and Mirror Networking. Workflow: enumerate the engine's connection states + ownership states + replicated-property update rules, cross them against latency / loss / out-of-order packet injection, encode each combination as a test fixture, and emit a go / no-go gate. Use before submitting a multiplayer title to platform cert - Microsoft's cert guide lists 'Multiplayer does not work as expected' as one of the most common Hold reasons, and Xbox XR-067 (MPSD session state) is failed by uncovered state-machine paths.

platform-cert-overview-reference

Pure-reference catalog of the four platform-holder certification regimes a multi-platform title submits to before release: Microsoft Xbox Requirements (XR) / Xbox certification on learn.microsoft.com, Sony Technical Requirements Checklist (TRC) on the gated PlayStation DevNet portal, Nintendo Lotcheck on the gated Nintendo Developer Portal, and Steam Direct review on partner.steamgames.com. Documents the submission workflow, severity / pass-fail vocabulary, test-bench configurations, and known SLAs for each platform. Cites public sources inline; cites gated NDA portals by stable ID per PLUGIN_AUTHORING.md Step 4 fallback. Use when planning a cert calendar, mapping internal QA findings to the platform's vocabulary, or sequencing submissions across platforms.

unity-test-framework

Author and run the Unity game-engine Test Framework (`com.unity.test-framework`, currently v1.8). Distinct from the ThrowTheSwitch Unity C testing library at throwtheswitch.org/unity - the two tools share only a name. Covers package install via Package Manager, the EditMode vs PlayMode split, the [Test] / [UnityTest] / [SetUp] / [TearDown] / [UnityPlatform] attributes, assembly-definition setup (Editor folder vs asmdef with `includePlatforms` / `optionalUnityReferences: [TestAssemblies]`), Test Runner window, command-line batch invocation with `-runTests` / `-testPlatform` / `-testResults` / `-testFilter` / `-testCategory`, NUnit 3.5 assertion API, and CI integration. Use when the unit under test is C# Unity code that needs to exercise the Unity runtime or editor.

unreal-automation-system

Author and run Unreal Engine's Automation Test Framework - Epic's C++ test framework for UE 4.x / 5.x, documented at dev.epicgames.com/documentation/en-us/unreal-engine. Covers the five test categories Epic defines (Unit / Feature / Smoke / Content Stress / Screenshot Comparison), the IMPLEMENT_SIMPLE_AUTOMATION_TEST and IMPLEMENT_COMPLEX_AUTOMATION_TEST macros, the BDD-style Automation Spec API (DEFINE_SPEC / BEGIN_DEFINE_SPEC / Describe / It / BeforeEach / LatentIt / xIt), latent commands (ADD_LATENT_AUTOMATION_COMMAND), the Automation Driver for UI input simulation (IAutomationDriverModule::Get().CreateDriver(), By::Id / By::Path locators), running via Session Frontend (Window > Test Automation) and command line (-ExecCmds="Automation RunTests …"), and CI integration. Use when the unit under test is C++ Unreal code that needs the UE runtime, editor, or UMG UI surface.