Manual
Functional testing
Functional testing is the backbone of game QA. You work through the game feature by feature, checking that every mechanic, menu, input and state transition behaves the way the design intends — and writing up anything that does not.
What it catches
- Mechanics that break under input the designer did not anticipate
- Save and load states that lose or corrupt progress
- Quest or mission logic that can be sequence-broken
- UI elements that stop responding after a specific sequence
- Collision gaps that let the player leave the intended play space
How the work actually goes
A functional pass starts from the design documentation, not from the build. You read what the feature is meant to do, derive test cases from it, then execute those cases against the game. The discipline matters: testing by "just playing" finds the obvious breakages and misses the specific, repeatable ones that a developer can actually fix.
Most functional work is organised into test suites. A suite for a melee combat system might hold forty cases covering light attacks, heavy attacks, interrupts, stamina depletion, hit reactions against each enemy archetype, and behaviour at the boundaries — zero stamina, maximum combo, attacking during a cutscene transition. Each case has steps, expected result, and a pass or fail.
The skill that separates a junior tester from a senior one is isolation. Finding that the game crashed is easy. Narrowing it to "crashes when the player blocks within three frames of the second hit of the heavy combo, only on the ice surface material" is the work that gets a bug fixed this sprint instead of sitting in the backlog as unreproducible.
Tools you'll meet
- Test case management (TestRail, Zephyr)
- Jira or Azure DevOps
- Build capture software
- In-game debug menus