In the latest Gamasutra feature
, Nintendo and Microsoft Game Studios veteran David Wilson talks about the value of diverse video game testing, suggesting a formula to make sure that your game debuts with the fewest possible bugs.
Wilson begins by confronting common misconceptions about the process:
The biggest misconception about software testing is that any one method of testing is better than another. There is both an art and a science to software testing, and neither of them should be ignored.
Testing a strict set of conditions or performing seemingly random tests just aren't enough by themselves, no matter how extensive the process becomes; both the art and the science are needed to find as many of the bugs as possible, leaving the software as functional and polished as possible.
He highlights at length the difference between ad hoc testing and test cases, illustrating pros and cons for each. For example, although the discipline of test cases can help them perform where ad hoc testing can't, the number of random variables is confusing:
The amount of coverage a title receives through test cases is dependent upon the people writing the cases. This coverage can be very extensive, especially when the test cases are written by people with years of experience and an in-depth knowledge of the functions that need to be tested, but nobody can account for everything that an end-user may attempt.
There are just too many random variables to be considered for test cases to cover every possible occurrence. It's also important to note that some testers may be easily bored by such strict testing protocols, which in rare cases could result in the test cases not being completed properly.
Wilson also goes in depth on black box and white box testing -- black box testing does not provide information on the software's inner workings, while white box lets a debugger track the software as it runs. Though the second option seems like the best choice, Wilson explains what complicates the situation:
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.
You can now read the full, in-depth Gamasutra feature
on real quality in QA, from methods to team management, testers and their relationships with developers and more (no registration required, please feel free to link to this feature from other websites).