Game Testing All in One (Game Development Series)
Having come this far in the book, you may find yourself being asked to offer your opinion and contribute to your team's test strategies. The following exercises are designed to give you practice at this.
Which is your favorite Defect Trigger? Why? Which one would be the most difficult for you to include in your tests, both in terms of test execution and test design? | ||
Earlier in this chapter it was mentioned that both the D-Pad and Analog joystick could be used to make the HALO option selections. Describe how you would incorporate these choices into your test suite. Do you prefer adding them to a large single table for the feature or creating a separate smaller table focused on the option selection means? Describe what factors would cause you to change your answer. | ||
It would also be interesting to start an Unreal Tournament match while standing on one of the gun or ammo items. The game automatically snaps you back to the original starting point after a three-second countdown before the action starts. Describe how you would update the Ammo TFD to include this possibility. | ||
Again, for the Ammo TFD, describe how you would add or change flows to represent a player firing the gun using a joystick rather than the left mouse button, which is typically used for firing. Treat this as a case where both the mouse and joystick are connected during the game. Also indicate which triggers are represented by this possibility. | ||
Texas Hold 'Em poker has become very popular recently and many videogames on various platforms are popping up to take advantage of the present level of interest in this card game. Make a list or outline of how you would include each trigger in your testing of a hypothetical or actual Texas Hold 'Em videogame. Don't stop at one example ‚ list at least three values, situations, or cases for each of the non-Normal triggers. Remember to include tests of the betting rules ‚ not just the mechanics and winning conditions for the hand. If you are not familiar with the rules of this card game, do a search online and read a few descriptions before you build your trigger lists. |
Answers
The answer is specific to the reader. | |
Incorporating the different control possibilities into a single table minimizes the total number of tests. While separating the controller functions from the option parameter tests would produce more test cases, it may cost less in terms of test execution. If the team is incrementally adding features, the separate tables would be useful to establish the functionality of the game parameters and then when the controller functions are expanded, you could start running the controller tests. If these two concepts are blended into a single table from the start of the project, many tests might be blocked and you would be unable to provide valuable feedback for certain pairs in the test table. | |
Representing the "snap back" behavior on the TFD requires a state to represent you avatar at the starting location and another state to represent you standing at a gun or ammo location. A MoveToGun flow would take you from the PreMatch location to the "standing" location. A flow with a PrematchTimerExpires event would take you from your standing location to the NoGunNoAmmo state, accompanied by an action describing the "snap back" to the starting position. For the case where you don't move from the initial spawning location, add a PrematchTimerExpires flow from the PreMatch location to NoGunNoAmmo but without the snap back action. | |
Different firing methods would be represented by additional flows in parallel with the existing ShootGun and ShootAllAmmo flows. They would simply need distinct names and flow numbers . With more than one shooting control connected at the same time, it would be possible for a player to use both simultaneously. If this is blocked by the game code, then simultaneous shooting flows would loop back to their present states. If it is permitted, then another parallel flow is required wherever shooting flows already exist. The possibility of different controls provides Configuration trigger coverage. The ability to fire simultaneously from multiple controls provides a Stress situation. | |
Besides the Normal trigger testing, which you are accustomed to, here are some ways to utilize other defect triggers for this hypothetical poker game: Startup: Do stuff during the intro and splash screens, try to bet all of your chips on the very first hand, try to play without going through the in-game tutorial Configuration: Set the number of players at the table to the minimum or maximum, set the betting limits to the minimum or maximum, play at each of the difficulty settings available, play under different tournament configurations Restart: Quit the game in the middle of a hand and see if you have your original chip total when you re-enter the game, create a split pot situation where one player has wagered all of his chips but other players continue to raise their bets, save your game and then reload it after losing all of your money Stress: Play a hand where all players bet all of their money, play for long periods of time to win ridiculous amounts of cash, take a really long time to place your bet or place it as quickly as possible, enter a long player name or an empty one (0 characters ) Exception: Try to bet more money than you have, try to raise a bet by more than the house limit, try using non- alphanumeric characters in your screen name |