DEV Community

Cover image for Functional testing: the boring basics that catch real bugs
Kelina Cowell
Kelina Cowell

Posted on • Edited on

Functional testing: the boring basics that catch real bugs

⚠️ This is a condensed version of the article.

👉 Read the full, updated version (canonical version):

Game QA Functional Testing Workflow (Battletoads PC Case Study) | Kelina Cowell

Game QA functional testing workflow using a real Battletoads PC case study. Learn manual QA workflows, bug reporting, and reproducible defect evidence.

kelinacowellqa.github.io

This DEV version summarises the workflow. The full version includes complete structure, deeper examples, and full QA context.


TL;DR

  • What it is: a game QA functional testing workflow for timeboxed solo passes
  • Backing project: Battletoads (PC Game Pass), one-week pass
  • Approach: validate start-to-control and Pause/Resume first, then expand where risk appears
  • Outputs: pass/fail results, reproducible bug reports, and short evidence clips

Functional testing workflow diagram

Game QA functional testing workflow used during a one-week Battletoads (PC) pass.


What functional testing is (in game QA)

Functional testing answers one question:

Does the game do what it claims to do, end-to-end?

I validate core flows, confirm expected behaviour, and write issues so a developer can reproduce them without guessing.

The mistake is treating this as “basic” testing.

It isn’t. It’s the foundation. If this breaks, everything else breaks in worse ways.


The first flows I verify

Start to first control

If “New Game” doesn’t reliably get you playing, nothing else matters.

Pause and Resume

Pause stresses state, input routing, UI focus, and overlays.

If it’s unstable, you get bugs that look random but aren’t.


Input ownership (controller + keyboard)

On PC, mixed input is not an edge case.

It must be predictable:

  • Pause opens consistently
  • Navigation respects active input
  • Confirm/back always respond
  • Input hand-off doesn’t break UI

In this pass, mixed input caused misrouted actions (e.g. Resume opening Join In) and temporary controller lockups.

Pattern: controller + keyboard + menu = focus bugs.


Bug evidence (what matters)

I keep it simple:

  • Video (10–30s): shows input, timing, outcome
  • Screenshot: supports UI state
  • Environment: build, platform, input device

If someone can’t see what happened immediately, the evidence isn’t good enough.


One-week workflow

  • Day 1: smoke + baseline flows
  • Days 2–4: run tests, expand on risk, log bugs
  • Days 5–6: retest + tighten repro
  • Day 7: summarise

I always repeat a baseline loop (load → control → pause → resume) at the start of each session.

It catches breakage early.


Key takeaway

Functional testing finds high-impact bugs early because it targets the systems everything depends on.

Most “random” bugs aren’t random.

They’re patterns you only see when you repeat simple flows properly.


Full case study and breakdown

This DEV version focuses on the workflow.

The full version includes:

  • complete structure
  • deeper examples
  • full QA context and artefacts

👉 Read the full, updated article:

Game QA Functional Testing Workflow (Battletoads PC Case Study) | Kelina Cowell

Game QA functional testing workflow using a real Battletoads PC case study. Learn manual QA workflows, bug reporting, and reproducible defect evidence.

kelinacowellqa.github.io

Top comments (0)