Values


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?

Defaults

Consider whether or not default values should be used in your tests. These are the settings 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.

Enumerations

Many choices in a game are made from a set of distinct values or options that do not have any particular numerical or sequential relationship to one another. Choosing which car to drive, or which baseball team to play, or which fighter to use are examples of this kind of choice.

Regardless of the number of unique choices (team, car, fighter, weapon, song, hairstyle, and so on), each one should be represented somewhere in your tests. It's easy to find bugs that happen independent of which particular choice is made. The ones that do escape tend to only happen for a very few of the choices.

Ranges

Many of the game options and choices require the player to pick a number from a range or list. This could be done by directly entering a number or scrolling through a list to make a selection. For each range of numbers , three particular values tend to have special defect-revealing properties: Zero, Minimum, and Maximum.

Anytime a zero (0) is a presented as a possible choice or entry, it should be included in testing. This is partly due to the unique or ambiguous way that the value 0 might affect the game source code. Here is a partial list of possible unintended zero-induced effects:

  • A loop may prematurely exit or may always do something once before checking for zero

  • Confusion between starting loop counts at 0 or 1

  • Confusion with arrays or lists starting at index 0 or 1

  • 0 is often used to represent special meaning, such as to indicate an infinite timer or that an error has occurred

  • 0 is the same value as the string termination (NULL) character in C

  • 0 is the same value as the logical (Boolean) False value in C

Minimum values are also a good source of defects. They can be applied to numerical parameters or list choices. Look for the opportunity to use minimum values with parameters related to the following:

  • Time

  • Distance

  • Speed

  • Quantity

  • Size

  • Bet amount

For example, using a minimum time may not allow certain effects to be completed once they are started, or may make certain goals unachievable.

Maximum values can also cause undesirable side effects. They are especially important to use where they place an extra burden of time or skill for the tester to reach the maximum value. Both developers and testers will tend to pass over these values in favor of "easier" testing.

Use maximum values for the same minimum value parameter categories in the preceding list. In addition to testing in-game elements, be sure to also include tests for the maximum number of players, maximum number of saved files, and maximum storage (disk, cartridge, and so on) space.

Boundaries

When a child (or even an adult) colors in a page of a coloring book, we judge how they do based on how well they stay within the lines. Likewise, it is the responsibility of the game tester to check the game software around its boundaries. Game behavior that does not "stay within the lines" leads to defects.

Some of the boundaries to test may be physically rendered in the game space, such as the following:

  • Town, realm, or city borders

  • Goal lines, sidelines, foul lines, and end lines on a sports field or court

  • Mission or race waypoints

  • Start and finish lines

  • Portal entrances and exits

Other boundaries are not physical. These can include:

  • Mission, game, or match timers

  • The speed that a character or vehicle can achieve

  • The distance a projectile can travel

  • The distance at which graphic elements become visible, transparent, or invisible

Dig deep into the rules of the game to identify hidden or implied boundaries.

For example, in football there are rules and activities tied in with the timing of the game. The timing of a football game is broken into four quarters of equal length, with a halftime pause in the game that occurs after the end of the second quarter. The game ends if one team has more points than another at the end of the fourth quarter. With two minutes left in each half, the referee stops the clock for the Two Minute Warning.

To test a football game, two-minute quarters are a good boundary value to see if the 2nd and 4th quarters of the game each start normally or with the special Two Minute Warning. A three-minute duration may also be interesting because it is the smallest duration that would have a period of play prior to the Two Minute Warning.

Another example is related to The CRIB feature in ESPN NFL 2K5 , which awards players points for accomplishments during a single game, during the course of a season , and over the course of their career. Some of these accomplishments will not be rewarded if the game duration is less than five minutes and greater than eight minutes. This creates two more quarter-length boundary values of interest.




Game Testing All in One
Game Testing All in One (Game Development Series)
ISBN: 1592003737
EAN: 2147483647
Year: 2005
Pages: 205

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net