Game Development Reference
“We currently have five machines constantly building and validating data; one for each platform,
including the PC, and the “monkey�? machine, which runs a test script that loads each portion of
the game while mashing controller buttons. The “monkey�? machine so far has not been as effec-
tive as I hoped; usually somewhere there's a crash bug in the game that takes many hours to solve
and the monkey is sitting idle during those hours.
Getting these autobuild scripts built isn't free. It takes a few weeks of coder time, and then requires
regular maintenance. Frequently our autobuild machines will fail for one reason or another; a
human has to check on them on a semi-regular basis (daily isn't often enough; hourly is too often)
to make sure they're still churning away.�?
Jamie Fristrom, programmer on Spider-Man2
If you are intent on bringing automated testing to your company, a key consideration
is to first build a solid infrastructure onto which the automatic testing programs can
be placed, selected, and tracked. This will be essential if the test department hopes to
keep up with changes that must be made to the test code whenever there is any sig-
nificant change to a game build, a game's functionality, or its feature set.
Putting this infrastructure in place is software development involving the introduction
of extensive database-driven systems to implement and track the test program. Time,
resources, and funding need to be allocated to ensure the system is well designed and
bulletproof before the necessary step of integrating it with game development. Here is
a very important point: The way that all your company's games are written may have
to change significantly to incorporate the test code, the hooks, the harnesses, and the
frameworks that will enable test automation to be integrated into your company's
game-creation process. This is especially true if you decide to go for a large-scale
deployment of test automation.
Game test automation involves a combination of software development and database
management skills. Automating your testing doesn't require a whole new set of skills
or a significant change in fundamental company procedures, other than the obvious
fact that automation must now be inherent in all steps of the process of creating a title.