Game testing

From Wikipedia, the free encyclopedia

Game testing refers to a form of quality control for interactive entertainment software, that is, computer and video games. The formal process, done by professional game testers and sometimes focus groups, begins well into game development, though informal testing (such as done by artists and programmers) takes place throughout the development process.

Contents

[edit] Types of testing

[edit] Black box testing

Main article: Black box testing

Black box testing involves testing of the game in isolation from its development. Rather than checking the game's code, sample data is passed into the program (or parts thereof) to check that the expected outputs are produced. Several specific testing techniques fall under this category, including equivalence partitioning, boundary value analysis and smoke testing.

[edit] Playtesting

Main article: Playtest

Playtesting is the process by which a game played thoroughly before release, in order to test it for bugs. This process generally benefits from as much gameplay as possible during the testing period, and so is often performed by large teams of beta testers or in public beta programs.

[edit] White box testing

Main article: White box testing

White box testing, like black box testing, is used to test that individual parts of a program produce the expected outputs for given input data. However, it differs from the other technique in that the tester is aware of the code used in the software, and so can make judgements on the specific causes of bugs without the aid of another developer. This type of testing is done etensively by programmers during game development.

[edit] Methodology

There is no "gold standard" method for game testing, and most methodologies are developed in-house, by individual video game developers and publishers. And, methodologies are refined from time to time and may differ for different types of games (for example, the methodology to test a MMORPG will be different from the testing for a casual game). But outlined below is a typical methodology of game testing.

Identification
Finding a bug and actually recognizing it is a defect (as opposed to a feature).
Defect typing
Assigning a specific type to the bug. For example, missing art, game crash, misspelled text, etc.
Analysis
This step of the process involves the party responsible for the bug, such as an artist, programmer or game designer. Often tools are used in helping tracking down the flaw.
Debugging tools
The type of debugging tool used depends on the type of defect. Many defects don't require any specialized tools at all, and just require the user to play the game and look for the reported flaw. Some flaws, however, such as those located in the actual code, require the use of specialized tools, such as an IDE, which help find erroneous sections of code. Art errors, for example, may require use of a 3D modeler, Photoshop or an in-house tool.
Recording tools
A testing department may use any variety of tools to record discovered defects. Most will employ a database which can be queried, which helps in locating identical bugs and tracking the correction of bugs. There are many software packages that are developed just for this type of work. However, a specialized package is not always necessary, depending on the scale of the game.
Reporting
Reporting a bug to the responsible party may be done in person or automatically with tools (mentioned above, software for recording bugs). Sometimes, individual game testers do not report bugs themselves, but hand them off to a lead tester who then determines and informs the responsible parties.
Tracking
After a bug is reported, it is tracked, either through an automated system (software) or by a person assigned to the task (such as the reporting tester or the test lead).
Defect tracking systems
Main article: Defect tracking
Verification
After a defect has been reported as corrected, it must be checked. Often, the original reporter of the defect verifies the fix, but, if it is sufficiently documented, it can be verified by another party.
Regression testing
Main article: Regression testing
As game development progresses, it is necessary to go back and re-check features, art and text (content) that previously was error-free to ensure they still are. Though tedious, this type of testing is extremely importatnt since late and supposedly benign changes to code and other content can have produce disastrous side effects that may make some features inoperable or can destroy the game as a whole.

[edit] Test group organization

The organization of any test group differs from organization to organization, but a typical one may include the individuals below.

  • Game producer: responsible for the game as a whole
  • Test Manager: responsible for all testing for game, and game testers
    • Test Lead: responsible for all testing, sometimes identical to Test Manager
    • Test Engineers: often called game testers, the people who carry out the testing
    • Test Analyst: analyzes and develops test plans

[edit] See also

[edit] External links

v  d  e
The Computer and video game Industry series
Activities Jobs Types of video games Companies
Game design
Game development
Game programming
Game testing
Level design
Game producer
Game designer
Game programmer
Game artist
Game tester
Level designer
Arcade game
Computer game
Console game
Handheld game
Video game developer
Video game publisher
List of developers
List of publishers
Lists of video games and computer games
List of video game industry people