Let’s take a step back and consider what a test actually is. When you test something, you are checking what happens in a game against expected behavior. If the results in game match the expected behavior, then the test passes. If the results in game do not match the expected behavior, then the test is failed. Each test failure then gets written up by QA with the steps taken to conduct the test, the behavior expected from the game, and the behavior of the game that was observed. This is also known as a bug report - it is a report about the game behaving in an unexpected way, along with steps to reproduce this unexpected behavior.
If you consider this as the definition of a test, then a test plan is a collection of tests used to determine whether a larger thing - a level, a mechanic, a game system, etc. - is working as intended. Let’s consider an ability in a game like World of Warcraft as an example. An ability in a game might have:
- A resource cost
- Some kind of target
- Some effect(s) applied when the ability is used
- An animation that plays when the ability is used
- Visual effects that play when the ability is used
- A cooldown
- An in-game description/tooltip
- An icon
- An effective range
We can turn each of these requirements into its own test. First, we test to see if using the ability consumes the correct amount of the right resource. Can the ability be used when I lack enough of the resource? Does it consume too much or too little resource? Then we can test to see if the ability chooses the proper targets. Does the ability select the proper targets correctly? And so on and so forth. The collection of all tests we’ve created to make sure each aspect of a given ability exhibit the expected behavior is the ability test plan. We can then use this test plan to test each ability. This then enables us to utilize more than one tester that will perform the same consistent and repeatable tests in order to validate the behavior of each new ability as it gets added to the game. As requirements for the expected behavior change, so must the tests and test plans.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ