Behind the Game

What is Quality Assurance?

Definition: the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production

What does this actually mean?

In terms of game development, Quality Assurance, or QA, is just testing the game. It's the process of playing the game and finding any issues, or bugs, with gameplay, artwork, the user interfaces, or anything else within the game. There are primarily 2 types of testing when playing a game, functional testing, and non-functional testing.

Functional Testing

Functional Testing is used to determine whether the game is functional according to the specifications

These can involve but are not limited to:

  • Interoperability Testing - Testing how a game interacts with other applications
  • Regression Testing - Testing to make sure that the game still works after any major code updates
  • Smoke Testing - Testing to make sure that the code is stable after any code updates
  • User Acceptance Testing - Can sometimes be considered a beta test. This is used to polish the game and fix any remaining minor bugs

Non-Functional Testing

Non-Functional Testing is used to test for aspects of the game outside of making sure the game runs and is functioning properly

These can involve but are not limited to:

  • Performance Testing - Testing how well the game runs and if it is running at the correct frame rate, how much battery the game uses, and how much memory it is using.
  • Load Game Testing - Testing how well the game runs when pushing the game to its absolute limits and recording what happens when the game breaks.
  • Stress Game Testing - Testing how well the game runs when pushing the game to its absolute limits sporadically
  • Usability Game Testing - Testing to make sure the game is fun and enjoyable for the player