Game Development Reference
The test you create can be homogenous —designed to test combinations of parameters
of the same type, or heterogeneous —designed to test more than one type of parame-
ter in the same table.
For example, testing choices from a Game Options screen for their effect on gameplay
is done with a homogenous combinatorial table. If you go through various menus to
select different characters, equipment, and options to use for a particular mission,
then that results in a heterogeneous table.
Values are the individual choices that are possible for each parameter. Values could be
entered as a number, entered as text, or chosen from a list. There are many choices for
a gamer to make, but do they all need to be considered in your testing? That is, does
every single value or choice have the same weight or probability of revealing a defect,
or can you reduce the number of values you test without impacting your test's ability
to reveal the defects in the game?
Consider whether or not default values should be used in your tests. These are the set-
tings and values that you get if you don't select anything special and just start playing
the game as installed. You might also want to consider the first item in any list—say, a
choice of hairstyle for your character—to be a kind of default value, since if you want
to start playing as quickly as possible and bang on the Select key to get through all of
the mandatory choices, these are the values you will be using.
If the combinatorial testing is the only testing that will be using these parameters, then
the defaults should be included. They are the values that will be most often used, so
you don't want to let bugs escape that will affect nearly everyone who plays the game.
On the other hand, if combinatorial testing is going to be a complement to other types
of testing, then you can reduce your test burden by leaving the default values out of
your tables. This strategy relies on the fact that the defaults will be used so often that
you can expect them to show up in the other testing being done for the game. If you
consider leaving these values out, get in touch with the other groups or people who
are testing to make sure they do plan on using default values. If you have a test plan
for your game, use it to document which sets of tests will incorporate default values
and which ones will not.