Game testing
Encyclopedia
Game testing, a subset of game development
Game development
Game development is the software development process by which a video game is developed. Development is undertaken by a game developer, which may range from a single person to a large business. Mainstream games are normally funded by a publisher and take several years to develop. Indie games can...

, is a software testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

 process for quality control
Quality control
Quality control, or QC for short, is a process by which entities review the quality of all factors involved in production. This approach places an emphasis on three aspects:...

 of video games. The primary function of game testing is the discovery and documentation of software defect
Software bug
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's...

s (aka bugs). Interactive entertainment software testing is a highly technical field requiring computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

 expertise, analytic competence, critical evaluation skills, and endurance.

History

In the early days of computer and video games, the developer
Video game developer
A video game developer is a software developer that creates video games. A developer may specialize in a certain video game console, such as Nintendo's Wii, Microsoft's Xbox 360, Sony's PlayStation 3, or may develop for a variety of systems, including personal computers.Most developers also...

 was in charge of all the testing. No more than one or two testers were required due to the limited scope of the games. In some cases, the programmers could handle all the testing.

As games become more complex, a larger pool of QA resources, called "Quality Assessment" or "Quality Assurance" is necessary. Most publishers
Video game publisher
A video game publisher is a company that publishes video games that they have either developed internally or have had developed by a video game developer....

 employ a large QA staff for testing various games from different developers. Despite the large QA infrastructure most publishers have, many developers retain a small group of testers to provide on-the-spot QA.

So now most game developers rely on their highly technical and game savvy testers to find gliches and 'bugs' in either the programming code or graphic layers. Game testers usually have a background playing a variety of different games on a multitude of platforms. They must be able to notate and reference any problems they find in detailed reports, meet deadlines with assignments and have the skill level to complete the game titles on their most difficult settings. Most of the time the position of game tester is a highly stressful and competitive position with little pay yet is highly sought after for it serves as a doorway into a rapidly growing industry.

A common misconception is that all game testers enjoy alpha or beta version of the game and report occasionally found bugs. In contrast, game testing is highly focused on finding bugs using established and often tedious methodologies before alpha version.

Overview

Quality assurance is a critical component in game development, though the video game industry does not have a standard methodology. Instead developers and publishers have their own methods. Small developers do not have QA staff, however large companies may employ QA teams full-time. High-profile commercial games are professionally and efficiently tested by publisher QA department.

Testing starts as soon as first code is written and increases as the game progresses towards completion. The main QA team will monitor the game from its first submission to the QA until as late as post-production. Early in the game development process the testing team is small and focuses on daily feedback for new code. As the game approaches alpha stage, more team members are employed and test plan is written. Sometimes features that are not bugs are reported as bugs and sometimes programming team fails to fix issues first time around. A good bug-reporting system may help the programmers work efficiently. As the projects enters beta stage, the testing team will have clear assignments for each day. Tester feedback may determine final decisions of exclusion or inclusion of final features. Introducing previously uninvolved testers with fresh perspective may help identify new bugs. At this point the lead tester communicates with the producer and department heads daily. If the developer has external publisher, then coordination with publisher's QA team starts. For console games, a build for console company QA team is sent. Beta testing may involve volunteers, for example, if the game is multiplayer.

Testers receive scheduled uniquely identifiable game builds from the developers. The game is play-tested and testers note any uncovered errors. These may range from bugs to art glitches to logic errors and level
Level (video gaming)
A level, map, area, or world in a video game is the total space available to the player during the course of completing a discrete objective...

 bugs. Testing requires creative gameplay to discover often subtle bugs. Some bugs are easy to document, but many require detailed description so a developer can replicate or find the bug. Testers implement concurrency control
Concurrency control
In information technology and computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible.Computer...

 to avoid logging bugs multiple times. Many video game companies separate technical requirement testing from functionality testing altogether since a different testing skillset is required.

If a video game development enters crunch time before a deadline, the game-test team is required to test late-added features and content without delay. During this period staff from other departments may contribute to the testing—especially in multiplayer games.

Most companies rank bugs according to an estimate of their severity:
  • A bugs are critical bugs that prevent the game from being shipped, for example, they may crash the game.
  • B bugs are essential problems that require attention, however the game may still be playable. Multiple B bugs are equally severe to an A bug.
  • C bugs are small and obscure problems, often in form of recommendation rather than bugs.

Roles

The organization of staff differs between organizations; a typical company may employ the following roles associated with testing disciplines:
  • Game producers are responsible for setting testing deadlines in coordination with marketing and quality assurance. They also manage many items outside of game testing, relating to the overall production of a title. Their approval is typically required for final submission or "gold" status.

  • Lead tester, test lead or QA lead is the person responsible for the game working correctly and managing bug lists. A lead tester manages the QA staff. Lead tester works closely with designers and programmers, especially towards the end of the project. Lead tester is responsible for tracking bug reports and managing that they are fixed. They are also responsible that QA teams produce formal and complete reports. This includes discarding duplicate and erroneous bug reports, as well as requesting clarifications. As the game nears alpha and beta stages, lead tester brings more testers into the team, coordinates with external testing teams and works with management and producers. Some companies may prevent the game going gold until lead tester approves it. Lead testers are also typically responsible for compiling representative samples of game footage for submission to regulatory bodies such as the ESRB
    Entertainment Software Rating Board
    The Entertainment Software Rating Board is a self-regulatory organization that assigns age and content ratings, enforces industry-adopted advertising guidelines, and ensures responsible online privacy principles for computer and video games as well as entertainment software in Canada, Mexico and...

     and PEGI
    Pan European Game Information
    Pan European Game Information is a European video game content rating system established to help European parents make informed decisions on buying computer games with logos on games boxes. It was developed by the Interactive Software Federation of Europe and came into use in April 2003; it...

    . A lead tester is often an aspiring designer or producer.

  • Testers are responsible for checking that the game works, is easy to use, has actions that make sense, and contains fun gameplay. Testers need to write accurate and specific bug reports, and if possible providing descriptions of how the bug can be reproduced. Testers may be assigned to a single game during its entire production, or brought onto other projects as demanded by the department's schedule and specific needs.

  • SDET (Software Development Engineer in Test) or Technical Testers are responisible for building automated test cases and frameworks as well as managing complex test problems such as overall game performance and security. These individuals usually have strong software development skills but with a focus on writing software which exposes defects in other applications. Specifc roles and duties will vary between studios. Many games are developed with out any Technical Testers.

Employment

Game QA is less technical than general software QA. Many game testers require little experience and sometimes only a high school
High school
High school is a term used in parts of the English speaking world to describe institutions which provide all or part of secondary education. The term is often incorporated into the name of such institutions....

 diploma and no technical expertise will suffice. Game testing is normally a full-time job for experienced testers, however many employees are hired as temporary staff
Temporary work
Temporary work or temporary employment refers to a situation where the employee is expected to leave the employer within a certain period of time. Temporary employees are sometimes called "contractual", "seasonal", "interim", "casual staff", "freelance", or "part-time"; or the word may be shortened...

, such as beta testers. In some cases, testers employed by a publisher may be sent to work at the developer's site. The most aggressive recruiting season is late summer/early autumn, as this is the start of the crunch period for games to be finished and shipped in time for the holiday season.

Some games studios are starting to take a more technical approach to game QA that is more inline with traditional software testing. Technical Test positions are still fairly rare throughout the industry but these jobs are often full time positions with long term career paths and require a 4 year computer science degree and signifcant expereince with test automation.

Some testers use the job as a stepping stone in the game industry. QA résumés, which display non-technical skill sets, tend towards management, then to marketing or production. Applicants for programming
Game programming
Game programming, a subset of game development, is the programming of computer, console or arcade games. Though often engaged in by professional game programmers, many novices may program games as a hobby...

, art, or design
Game design
Game design, a subset of game development, is the process of designing the content and rules of a game in the pre-production stage and design of gameplay, environment, storyline, and characters during production stage. The term is also used to describe both the game design embodied in a game as...

 positions need to demonstrate technical skills in these areas.

Compensation

Game testing personnel are usually paid hourly (around US$
United States dollar
The United States dollar , also referred to as the American dollar, is the official currency of the United States of America. It is divided into 100 smaller units called cents or pennies....

10–12 an hour). Testing management is usually more lucrative, and requires experience and often a college education. An annual survey found that testers earn an average of $39k annually. Testers with less than three years experience earn an average of US$25k while testers with over three years experience earn US$43k. Testing leads, with over six years experience, earn on an average of US$71k a year. Typically, they will make $35-45k with less experience.
Some employers offer bonuses for the number of bugs found.

Process

A typical bug report progression of testing process is seen below:
  • Identification. Incorrect program behaviour is analyzed and identified as a bug.

  • Reporting. The bug is reported to the developers using a defect tracking
    Defect tracking
    In engineering, defect tracking is the process of finding defects in a product , and making new versions of the product that fix the defects...

     system. The circumstances of the bug and steps to reproduce are included in the report. Developers may request additional documentation such as a real-time video of the bug's manifestation.

  • Analysis. The developer responsible for the bug, such as an artist, programmer or game designer checks the malfunction. This is outside the scope of game tester duties, although inconsistencies in the report may require more information or evidence from the tester.

  • Verification. After the developer fixes the issue, the tester verifies that the bug no longer occurs. Not all bugs are addressed by the developer, for example, some bugs may be claimed as features (expressed as "NAB" or "not a bug"), and may also be "waived" (given permission to be ignored) by producers, game designers, or even lead testers, according to company policy.

Methodology

There is no industry standard method for game testing, and most methodologies are developed by individual video game developer
Video game developer
A video game developer is a software developer that creates video games. A developer may specialize in a certain video game console, such as Nintendo's Wii, Microsoft's Xbox 360, Sony's PlayStation 3, or may develop for a variety of systems, including personal computers.Most developers also...

s and publisher
Video game publisher
A video game publisher is a company that publishes video games that they have either developed internally or have had developed by a video game developer....

s. Methodologies are continuously refined and may differ for different types of games (for example, the methodology for testing a MMORPG
MMORPG
Massively multiplayer online role-playing game is a genre of role-playing video games in which a very large number of players interact with one another within a virtual game world....

 will be different from testing a casual game
Casual game
A casual game is a video game targeted at or used by a mass audience of casual gamers. Casual games can have any type of gameplay, and fit in any genre. They are typically distinguished by their simple rules and lack of commitment required in contrast to more complex hardcore games...

). Many methods, such as unit testing, are borrowed directly from general software testing techniques. Outlined below are the most important methodologies, specific to video games.
  • Functionality testing is most commonly associated with the phrase "game testing", as it entails playing the game in some form. Functionality testing does not require extensive technical knowledge. Functionality testers look for general problems within the game itself or its user interface, such as stability issues, game mechanic issues, and game asset integrity.

  • Compliance testing is the reason for the existence of game testing labs. First-party licensors for console platforms have strict technical requirements titles licensed for their platforms. For example, Sony
    Sony
    , commonly referred to as Sony, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan and the world's fifth largest media conglomerate measured by revenues....

     publishes a Technical Requirements Checklist (TRC), Microsoft
    Microsoft
    Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

     publishes Technical Certification Requirements (TCR), and Nintendo
    Nintendo
    is a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....

     publishes a set of "guidelines" (Lotcheck). Some of these requirements are highly technical and fall outside the scope of game testing. Other parts, most notably the formatting of standard error messages, handling of memory card data, and handling of legally trademark
    Trademark
    A trademark, trade mark, or trade-mark is a distinctive sign or indicator used by an individual, business organization, or other legal entity to identify that the products or services to consumers with which the trademark appears originate from a unique source, and to distinguish its products or...

    ed and copyright
    Copyright
    Copyright is a legal concept, enacted by most governments, giving the creator of an original work exclusive rights to it, usually for a limited time...

    ed material, are the responsibility of the game testers. Even a single violation in submission for license approval may have the game rejected, possibly incurring additional costs in further testing and resubmission. In addition, the delay may cause the title to miss an important launch window, potentially costing the publisher even larger sums of money.

The requirements are proprietary documents released to developers and publishers under confidentiality agreements. They are not available for the general public to review, although familiarity with these standards is considered a valuable skill to have as a tester.

Compliance may also refer to regulatory bodies such as the ESRB
Entertainment Software Rating Board
The Entertainment Software Rating Board is a self-regulatory organization that assigns age and content ratings, enforces industry-adopted advertising guidelines, and ensures responsible online privacy principles for computer and video games as well as entertainment software in Canada, Mexico and...

 and PEGI
Pan European Game Information
Pan European Game Information is a European video game content rating system established to help European parents make informed decisions on buying computer games with logos on games boxes. It was developed by the Interactive Software Federation of Europe and came into use in April 2003; it...

, if the game targets a particular content rating. Testers must report objectionable content that may be inappropriate for the desired rating. Similar to licensing, games that do not receive the desired rating must be re-edited, retested, and resubmitted at additional cost.

  • Compatibility testing
    Compatibility testing
    Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment...

    is normally required for PC
    Personal computer
    A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

     titles, nearing the end of development as much of the compatibility depends on the final build of the game. Often two rounds of compatibility tests are done - early in beta to allow time for issue resolution, and late in beta or during release candidate. Compatibility testing team test major functionality of the game on various configurations of hardware. Usually a list of commercially important hardware is supplied by the publisher.

Compatibility testing ensures that the game runs on different configurations of hardware and software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

. The hardware encompasses brands of different manufacturers and assorted input peripherals such as gamepad
Gamepad
A gamepad , is a type of game controller held in two hands, where the digits are used to provide input. Gamepads generally feature a set of action buttons handled with the right thumb and a direction controller handled with the left...

s and joystick
Joystick
A joystick is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. Joysticks, also known as 'control columns', are the principal control in the cockpit of many civilian and military aircraft, either as a center stick or...

s.

The testers also evaluate performance and results are used for game's advertised minimum system requirements
System requirements
To be used efficiently, all computer software needs certain hardware components or other software resources to be present on a computer. These pre-requisites are known as system requirements and are often used as a guideline as opposed to an absolute rule. Most software defines two sets of system...

. Compatibility or performance issues may be either fixed by the developer or, in case of legacy hardware and software, support may be dropped.

  • Localization testing
    Localization testing
    Localization testing is a part of software testing process focused on internationalization and localization aspects of software. Localization is the process of adapting a globalized application to a particular culture/locale...

    act as in-game text editors
    Editing
    Editing is the process of selecting and preparing written, visual, audible, and film media used to convey information through the processes of correction, condensation, organization, and other modifications performed with an intention of producing a correct, consistent, accurate, and complete...

    . Although general text issues are a part of functionality testing, QA departments may employ dedicated localization testers. In particular, early Japanese game translations were rife with Engrish
    Engrish
    refers to unusual forms of English language usage by native speakers of some East Asian languages. The term itself relates to Japanese speakers' tendency to inadvertently substitute the English phonemes "R" and "L" for one another, because the Japanese language has one alveolar consonant in place...

    , and in recent years localization testers are employed to make technical corrections and review translation work of game scripts - catalogued collections of all the in-game text. Testers native to the region where a game is marketed may be employed to ensure the accuracy and quality of a game's localization.

  • Soak testing
    Soak testing
    Soak testing involves testing a system with a significant load extended over a significant period of time, to discover how the system behaves under sustained use.For example, in software testing, a system may behave exactly as expected when tested for 1 hour...

    , in the context of video games, involves leaving the game running for prolonged periods time in various modes of operation, such as idling, paused, or at the title screen. This testing requires no user interaction beyond initial setup, and is usually managed by lead testers. Automated tools may be used for simulating repetitive actions, such mouse clicks. Soaking can detect memory leak
    Memory leak
    A memory leak, in computer science , occurs when a computer program consumes memory but is unable to release it back to the operating system. In object-oriented programming, a memory leak happens when an object is stored in memory but cannot be accessed by the running code...

    s or rounding errors that manifest only over time. Soak tests are one of the compliance requirements.

  • Beta testing is done during beta stage of development. Often this refers to the first publicly available version of a game. Public betas are effective because thousands of fans may find bugs that the developer's testers did not.

  • Regression testing
    Regression testing
    Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....

    is performed once a bug has been fixed by the programmers
    Game programmer
    A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebase for video games or related software, such as game development tools. Game programming has many specialized disciplines all of which fall under the umbrella term of "game programmer"...

    . QA checks to see whether the bug is still there (regression) and then runs similar tests to see whether the fix broke something else. That second stage is often called "halo testing"; it involves testing all around a bug, looking for other bugs.

  • Load testing tests the limits of a system, such as the number of players on an MMO
    Massively multiplayer online game
    A massively multiplayer online game is a multiplayer video game which is capable of supporting hundreds or thousands of players simultaneously. By necessity, they are played on the Internet, and usually feature at least one persistent world. They are, however, not necessarily games played on...

     server, the number of sprites
    Sprite (computer graphics)
    In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...

     active on the screen, or the number of threads
    Thread (computer science)
    In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

     running in a particular program. Load testing requires either a large group of testers or software that emulates heavy activity.

  • Multiplayer testing may involve separate multiplayer QA team if the game has significant multiplayer portions. This testing is more common with PC games. The testers ensure that all connectivity methods (modem, LAN, Internet) are working. This allows single player and multiplayer testing to occur in parallel.

Console hardware

For consoles, the majority of testing is not performed on a normal system or consumer unit. Special test equipment is provided to developers and publishers. The most significant tools are the test or debug kits, and the dev kits. The main difference between from consumer units is the ability to load games from a burned disc or from a hard drive, as well as being able to set the console for any publishing region. This allows game developers to produce copies for testing. This functionality is not present in consumer units to combat software piracy and grey-market imports.
  • Test kits have the same hardware specifications and overall appearance as a consumer unit, though often with additional ports
    Computer port (hardware)
    In computer hardware, a port serves as an interface between the computer and other computers or peripheral devices. Physically, a port is a specialized outlet on a piece of equipment to which a plug or cable connects...

     and connectors for other testing equipment. Test kits contain additional options, such as running automated compliance checks, especially with regard to save data. The system software also allows the user to capture memory dumps
    Core dump
    In computing, a core dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally...

     for aid in debugging.

  • Dev kits are not normally used by game testers, but are used by programmers for lower-level testing. In addition to the features of a test kit, dev kits usually have higher hardware specifications, most notably increased system memory. This allows developers to estimate early game performance without worrying about optimizations. Dev kits are usually larger and look different from a test kit or consumer unit.

See also

  • Software testing
    Software testing
    Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

  • Test plan
    Test plan
    A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of what the eventual workflow will be.-Test plans:...

  • Game development
    Game development
    Game development is the software development process by which a video game is developed. Development is undertaken by a game developer, which may range from a single person to a large business. Mainstream games are normally funded by a publisher and take several years to develop. Indie games can...

  • Software release life cycle

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK