Contents
Quality Quality Assurance: A Methodology for Wide-Spectrum Game Testing
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [14]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Trion Redwood City
Sr. Environment Artist
 
Trion Redwood City
Sr. Evnironment Modeler
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Texture Artist
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
3D Environment Artist
 
Crystal Dynamics
Sr. Level Designer
 
Sony Online Entertainment
Brand Manager
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [7]
 
arrow iPhone Piracy: The Inside Story [51]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 22, 2009
 
Managing Creativity
 
Time Fcuk - A Postmortem [3]
 
Accepting the Inherent Value of Games
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Quality Quality Assurance: A Methodology for Wide-Spectrum Game Testing
by David Wilson
4 comments
Share RSS
 
 
April 28, 2009 Article Start Previous Page 2 of 3 Next
 

Tools of the trade

White-Box Testing vs. Black-Box Testing

These two methods form the second axis of the testing grid. The amount of information available to testers about the underlying workings of the software is largely dependent upon which testing method they use.

Advertisement

In black-box testing, there is little or no information about the internal workings of the software; all a tester sees is what the end-user would see. Playing a beta build of a game on a test console is a good example of this.

White-box testing, on the other hand, uses internal functions or a second software suite (usually a debugger) to track what's going on as the software runs, relaying information back to the tester or to a test log as necessary.

Good examples of this testing method would be testing a software build in a programming platform's development environment or using automation software to test minor variances of an action repeatedly with a debugger running in the background.

While it seems like everyone would want to use white-box testing, the fact that an extra piece of software is running in the background and intercepting data as it flows through the software being tested is an important consideration.

This interception can interfere with the normal working of the software, which sometimes causes problems that normally wouldn't occur, or may even prevent problems that normally would occur. As such, it's important to keep a balance between white-box and black-box testing to ensure that the software in question receives thorough testing.

Testers

These people specialize in breaking software. They each have their own preferred ways of doing this, but most of them are competent with a variety of testing methods. The amount of access they have to the resources necessary to perform adequate testing, however, is often determined by their level of association with a developer.

Third-Party Testers

The lowest rung, so to speak. These testers are often the backbone of the testing process. Third-party testers are often contracted on a project-to-project basis. They usually have limited access to special testing equipment, though testers who show special talent with certain methods will frequently be given access to extra tools. Third-party testers are often used for black-box testing.

Hiring contract testers in large groups can often result in a mixed bag, but even testers who have little or no technical knowledge can usually perform both ad-hoc testing and test cases with positive results with the right training.

Second-Party Testers

Testers who work in the testing group of a subsidiary or secondary company under a larger company, second-party testers can be either contract or fully employed. Due to their closer relationship to the developers, they often gain access to more advanced tools. This often results in a stronger focus on test cases and white-box testing. Most second-party testers are at least moderately experienced in the testing process.

First-Party Testers

Testers that often work or communicate directly with the developers, first-party testers are usually full-time employees of the company they work for, though skilled contractors may occasionally be used in this capacity. They have the most access to testing tools, and they will often manage groups of testers in their tasks. Most first-party testers are also very familiar with the testing process and various development cycles.

The Tester-Developer Dynamic

This dynamic is why the levels of association described above are important. All too often the developer and the testing group they work with will find themselves at odds with each other on various issues, which often creates friction between the teams.

The further away one group is from the other, the greater the likelihood of this problem arising becomes.

Lack of tools or resources is often the greatest complaint with third-party testers, but disagreements on how to handle bugs are very common with all levels. Cost-effectiveness, time constraints, and feasibility are all objects of contention when bugs are accepted or written off. It should go without saying, but all parties involved should remember that they're all working toward the same goal: a polished, functional product.

To this end, developers should understand that many testers fall within the core demographic of their end-users, and sometimes the opinions of testers would be well heeded.

Likewise, testers should understand that developers have a greater understanding of where the project stands and will make decisions based on information that the testing team may not have access to. These situations can also be mitigated by sharing information between the groups, as well as sharing useful tools with each other.

Managing teams

The Need for the Separation of Tasks

Nobody likes to have their toes stepped on. When you've assigned a task to someone, be it a single person or a group, it's important to ensure that they have the chance to finish that task.

The reasons for this are twofold: first, it's good for the morale of the person or group that had the task assigned to them, as it shows a level of trust in them; second, it helps to reduce the chance of redundant effort.

Having more than one set of eyes on a test is always good, but it's usually best to wait for all the other tests to be completed first. The goal of separating tasks is to get a full battery of tests completed by the combined efforts of the entire team.

To that end, the tasks need to be appropriately separated and assigned to the teams that will be able to complete them most effectively. For instance, if a game requires gameplay testing, a text check, and certification testing, then there should be three teams assigned groups of the tasks necessary for those tests.

Once a team completes the tasks they have been assigned, then they should double-check the work already completed by other teams (with the exception of certification testing, which often has to be performed by people with special qualifications; those tests should be double-checked by another member of the certification team). This is one of the best ways to ensure that at least two people have seen each part of the software being tested.

 
Article Start Previous Page 2 of 3 Next
 
Comments

jaime kuroiwa
profile image
"Documentation for various mechanics and functions can always be helpful. The more information that a testing team receives, the better they'll be able to test the software."

I would like to emphasize this statement, because documentation enhances communication in so many ways. Documentation establishes nomenclature, which helps testers better describe issues to the developer. Documentation tells testers which user styles to emulate -- this is especially helpful in ad-hoc testing. Documentation shows the software's progress and direction to the test team, which helps in focus. Documentation may even allow the test team to catch bugs before the code is implemented (e.g. grammar, continuity, etc.).

Most of all, documentation gets the test team involved in the overall process. Believe it or not, testers are not only there to test; they want to learn and share.

Victor Gont
profile image
This article sums up perfectly the process of testing a game, be it an AAA or an iPhone casual title. Despite that, i feel that the essential part of successfully applying this process has not been sufficiently emphasized. Documentation and communication with the dev team both help a great deal, but the real issues arise when the management of the teams responsible for parts of the work (especially in multi-platform environments) is done in an irresponsible manner. Adaptability and quick response are of the essence, and applying methods known from previous projects can restrict and seriously harm current test activities, despite the experience and success encountered earlier.
The team management must also focus on assigning relevant tasks to its members, discovering everybody's strong points and preferences early in the work flow. Trying to turn a gameplay tester into a generalist and assign him to look for level design bugs is a sound and rather often employed method for crashing the team's morale and efficiency. There is also a problem when the tests are becoming some sort of daily 'grind', as there is not enough attention focused towards rotation of the tasks and creating new testcases between different versions of the project.
When these issues appear at the same time, and the project is delayed or completely redone (leading to a title being in testing for extremely long periods of time), the morale of the team is the most important thing to be considered. Having 90 bored or on the point of breakdown professional testers trying to find flaws in a title they may have otherwise enjoyed counts for little. It's a small thing, but it can be easily overlooked when taking note of the test team just through the number and severity of the bugs they submit in a database.

Johnathan Murrill
profile image
I will glady work as a game tester if anyone could assist me to find this job or hire me in my area it would be a big help because this is what ive been longing to do this is what I want to do in my life.

Nicholas Muise
profile image
Thanks for a great informative article David


none
 
Comment:
 


Submit Comment