Game Development Reference
should be reported. There are several reasons for this: it's more intuitive, since we tend
to group “yes�? and “pass�? (both positives) together in our minds in the same way we
group “no�? and “fail.�? Further, by grouping all passes in the same column, the com-
pleted test suite can be easily scanned by both the tester and test managers to determine
quickly whether there were any fails. A clean test suite will have all the checks in the Pass
For example, consider a test case covering the display of a tool tip , a small window with
instructional text incorporated into many interfaces. A fundamental test case would
be to determine whether the tool tip text contains any typographical errors. The most
intuitive question to ask in that test case is
Does the text contain typographical errors?
The problem with this question is that a pass (no typos) would be recorded as a “no.�?
It would be very easy for a hurried (or tired) tester to mistakenly mark the Fail column.
It is far better to express the question so that a “yes�? answer indicates a “pass�? condition:
Is the text free of typographical errors?
As you can see, directed testing is very structured and methodical. After the directed
testing has concluded, or concurrently with directed testing, a less structured, more
intuitive form of testing, known as ad hoc testing, takes place.
It's advisable to require that any code release meets some criteria for being fit to test
before you do any testing on it. This is similar to the checklists that astronauts and
pilots take to evaluate the fitness of their vehicle systems before attempting flight.
Builds submitted to testing that don't meet the basic entry criteria are likely to waste
the time of both testers and programmers. The countdown to testing should stop until
the test “launch�? criteria are sufficiently met.
The following is a list of suggestions for entry criteria to use. Don't keep these a secret
from the rest of the development team. Make the team aware of the purpose—to
prevent waste—and work with them to produce a set of criteria that the whole team
can commit to.
The game code should be built without compiler errors. Any new compiler
warnings that occur are analyzed and discussed with the test team.
The code release notes should be complete and provide the detail that testers
need to plan which tests to run or re-run for this build.