I've been thinking about this topic a lot and coming from a Software Testing background, it means quite a bit to me. I also wanted to write a blog for people who are at the early stages of testing their game or veterans looking to refine their testing skills. With that, I hope this helps :)
Playing your game is not enough. you need to actually test it.
I've seen a lot of people saying, "[they] are playtesting [their] game", when they are not! In reality, they are just "playing their game", hoping to stumble across an issue or a bug. In software testing, we call this Monkey Testing - "In software testing, monkey testing is a technique where the user tests the application or system by providing random inputs and checking the behavior. . . " (Wikipedia).
We need to do more than just Monkey Testing our games.
What is testing?
To begin, we need to have a common definition of testing. For this, I want to borrow the definition of software testing because the goal is the same:
"Software testing is a process of executing a program or application with the intent of finding the software bugs." - ISTQB
Let's take out the word "software", and "the software bugs" with "problems".
testing is a process of executing a program or application with
the intent of finding problems.
Now that we have a definition of testing, we need to explore what the "process" is.
The Testing Process
The Testing Process can be broken down into three key components.
- We start with a hypothesis or knowledge
- We iterate using experiments
- We gain knowledge about the system under test
Let's look at an example of this. Imagine you were testing tic-tac-toe. Where do you start? Well, you start with a hypothesis or knowledge. A possible hypothesis is, "the player who goes first always wins."
Now you can run a series of experiments by sitting with a friend and playing the game.
This is now the beginning of actual playtesting! Congratulations!
But wait: imagine you play 100 games and the first player always wins, does that mean your hypothesis is validated? Actually, no it does not... Many times it is easier to prove something wrong than something right. The way to prove this hypothesis wrong is by stating "There exists a series of movies where the first player will lose." Anyone who has played Tic-Tac-Toe knows that this statement is true. This is where the scientific method can help us.
The Scientific Method
To avoid making this section really long, I will leave learning about the Scientific Method to you (Wikipedia).
The Scientific Method is just one process that can help. What I want to emphasize is that testing is just part of this process. The Tic-Tac-Toe example was a very simple case, but what about a bigger question that I get a lot while developing Genesis...
I Love this Question!
When I am asked this, I always try my best to respond with, "That's an interesting question, let me test it out." That's the beginning of the scientific method - the question. Then I start to formulate the hypothesis, create the testable prediction, gather data (ie. test/experiment), create a theory and then I make my next observation. This method has been refined over the years by people way smarter than me. As the expression goes, "Why reinvent the wheel?" There's a process you can use for testing your game and to learn every facet of it, might as well use it, right?
That's it for this post. In the next post I want to cover different types of testing methodologies and how they can apply to testing your games. Until then, I'd love to know what type of tests you do in your games? How do you structure it and how do you keep track of your tests?
Thanks for reading!
You can read the next post here:
Types of Testing you can apply to your game! (Part 1/2)