CDGT cheat sheet
CDGT · Keep the key ideas within reach.
Game Testing Fundamentals and the Software Development Life Cycle
SDLC phases map to test gates: requirements review, design review, implementation (unit tests), integration, system/alpha, beta/soft launch, release candidate, live operations.
Verification asks whether the build matches the spec; validation asks whether the game is fun, fair, and shippable - game testing requires both.
Alpha = feature-complete, internal testers; beta = content-complete and feature-locked, external testers; launch candidate = only critical fixes accepted.
Entry criterion is a testable build plus documented expected behavior; exit criterion is a measured defect threshold (e.g., zero open S1/S2, S3 rate below agreed cap).
Shift-left: a defect found in requirements costs roughly 1x to fix; in production 30-100x, because it may require a client patch and certification re-run.
Regression suite scope grows with each feature; every fixed defect should add at least one permanent regression case.
Live-service titles add seasonal content and hotfix cycles, so test plans must cover patch compatibility with saved data from previous versions.
Risk-based prioritization ranks by severity x likelihood; monetization, save data, and account systems rank highest because failures are unrecoverable.
Test Design Techniques and Test Case Authoring
Equivalence partitioning: one representative per valid and invalid class (e.g., currency values 0, 1, max-1, max, max+1, negative).
Boundary value analysis targets min-1, min, min+1, max-1, max, max+1 for every numeric limit such as inventory slots or party size.
Decision tables enumerate condition combinations (e.g., has item x has currency x inventory full) to derive rules and collapse impossible rows.
State transition testing models menus, matchmaking, and save/load flows; cover every state, every valid transition, and every invalid transition attempt.
Pairwise/orthogonal array design reduces full combinatorial coverage (e.g., 5 resolutions x 4 GPUs x 3 OS) to a tractable set covering every pair.
A well-formed test case states ID, precondition, steps, test data, expected result, and postcondition; expected results must be observable.
Positive, negative, and exploratory charters are complementary; scripted cases prove known behavior, charters find unknown behavior.
Traceability matrix links requirement IDs to test case IDs so coverage gaps are visible before execution begins.
Functional Testing of Gameplay Systems
Combat: verify damage formula inputs (base, modifiers, resistances), rounding, critical multipliers, cooldown timers, and immunity/overflow edge cases.
Physics: test collision at high velocity (tunneling), slopes, moving platforms, ragdoll recovery, and frame-rate-independent movement.
Progression: XP curves, level caps, respec, and unlock gating; confirm no sequence break allows content skipping.
Inventory and economy: stack limits, item duplication via trade/mail/auction, currency overflow, and rollback after a failed transaction.
Save/load: verify autosave triggers, corrupted-save handling, save version migration, and cross-device cloud sync conflicts.
AI behavior: verify aggro radius, pathfinding around obstacles, state machine transitions, and behavior under unreachable targets.
Quest systems: prerequisite chains, parallel quests, abandonment, and reward duplication on repeated turn-in.
UI/HUD: verify input mapping on keyboard, mouse, and gamepad, focus order, and correct display of localized and numeric values.
Platform Certification and Compliance Testing
Certification (TRC/TCR/Lotcheck) failures block release; a failed submission can delay launch by days to weeks depending on queue.
Controller requirements: system button behavior, disconnect/reconnect handling, and correct button glyph display per platform.
Account and entitlement: sign-out during gameplay must pause or exit gracefully; entitlement loss must revoke content without data loss.
Storage: handle full storage, removable storage removal, and save corruption without crashing; respect platform save-size limits.
Network loss (e.g., suspend/resume, airplane mode) must not hang the title; defined error messaging is required.
Parental controls and privacy: age-gate, purchase restrictions, and telemetry consent must follow platform policy.
Achievements/trophies must unlock reliably and be recoverable after offline play; avoid unobtainable or retroactively awarded states.
Submission package: correct metadata, age ratings, region settings, and store assets; verify the exact build submitted matches the certified build.
Multiplayer, Network, and Online Services Testing
Test under simulated latency, jitter, and packet loss (e.g., 100/200/400 ms, 1-5% loss) rather than only on a clean LAN.
Host migration and peer disconnect must preserve match state or end the match cleanly without desync or duplicated rewards.
Client-side prediction and server reconciliation: verify no rubber-banding, teleporting, or hit-registration mismatch under lag.
Matchmaking: verify skill/region/party-size filters, queue timeouts, backfill, and party leader transfer.
Anti-cheat and authority: confirm the server validates movement, currency, and damage; client-only trust is a defect.
Dedicated server capacity: test at peak concurrent users, server spin-up time, and graceful degradation when capacity is exceeded.
Online services: login, session tokens, friends, leaderboards, and store transactions; test service outage and retry behavior.
Cross-play/cross-progression: verify account linking, platform-specific restrictions, and data consistency across platforms.
Performance, Stability, and Compatibility Testing
Frame time budget at 60 FPS is 16.67 ms; at 30 FPS it is 33.3 ms. Measure frame time percentiles (1% low, 0.1% low), not only average FPS.
Memory: watch peak and sustained usage, leaks across level transitions, and platform memory limits that trigger OS termination.
Soak testing runs 8-72 hours to expose leaks, handle exhaustion, and save corruption; log memory and object counts over time.
Load-time and streaming tests cover first boot, level transitions, and texture streaming hitches during traversal.
Compatibility matrix covers min/recommended spec, GPU vendors, OS versions, resolutions/aspect ratios, and input devices.
Thermal throttling on mobile/console: test sustained sessions and confirm frame rate stays within the certified floor.
Crash triage uses call stack, minidump, and repro rate; a 1-in-1000 crash on a common path may outrank a frequent cosmetic bug.
Network and disk I/O performance matter for online titles; measure server tick rate and database latency under load.
Localization and Accessibility Testing
Pseudo-localization (accented, expanded text) exposes hard-coded strings, truncation, and layout overflow before real translations arrive.
Text expansion: German and Russian commonly run 30-50% longer than English; verify UI containers, buttons, and subtitles accommodate it.
Locale rules: number, date, currency, and plural formats; right-to-left languages require mirrored layouts and correct glyph shaping.
Font coverage: verify CJK, Cyrillic, Arabic, and symbol glyphs render without tofu boxes; check fallback fonts.
Audio/video localization: verify subtitle sync, dub tracks, and region-specific content edits.
Accessibility: remappable controls, subtitles/captions, colorblind-safe cues (do not rely on color alone), and scalable UI text.
Screen reader and menu narration support varies by platform; verify focus order and that all interactive elements are announced.
Difficulty and motor accessibility: adjustable timing, hold-to-toggle options, and assist modes must be tested for correct behavior.
Defect Reporting, Tracking, and Triage
Severity = impact on the product (crash, data loss, blocker); priority = urgency of fix. They are independent and can disagree.
A reproducible bug report contains build/version, platform, preconditions, exact steps, expected vs actual, frequency, and evidence (log, video, dump).
S1/S2 typically mean crash, data loss, progression blocker, or certification failure; S3/S4 are cosmetic or minor.
Triage ranks by severity, frequency, and exposure; a rare crash on a mandatory path can outrank a common cosmetic issue.
Deduplicate by root cause, not symptom; link related reports and keep one canonical repro.
Regression verification requires re-testing the fix plus adjacent areas; reopen if the original repro still fails.
Defect metrics: defect density per feature, reopen rate, escape rate (bugs found post-release), and mean time to fix.
Never close a bug as cannot-reproduce without documenting the attempted environment and build; mark it for periodic retest.
Test Tools, Automation, and Metrics
Automation ROI is highest for stable, repetitive checks: smoke tests, build verification, save/load, and data validation.
Game automation often uses telemetry-driven bots and scripted input; visual validation uses screenshot diffing with tolerance thresholds.
CI pipeline: every commit triggers build, automated smoke suite, and crash check; a red build blocks merges.
Test data management: seeded RNG and deterministic replays make automated results reproducible.
Coverage metrics: requirement coverage, code coverage (unit level), and platform matrix coverage; none alone proves quality.
Defect metrics: open count by severity, arrival rate vs fix rate, and defect removal efficiency (pre-release found / total found).
Flaky tests must be quarantined and fixed; a flaky suite erodes trust and is often worse than no automation.
Log and telemetry analysis (crash reporting, funnel data) supplements manual testing and reveals issues at scale.