Using Games to Make You a Better Tester

[article]
Summary:

Games are useful for so much more than having fun. Types of games focused on testing skills are generally called tester games, and they can show you how the other members of your team think, make you think about how you think, and even help you change the way you approach testing.

I find myself playing games a lot. I especially enjoy playing games with others. While they can also be fun, games give me chances to interact with new people, learn new things, practice my coaching skills, and generally socialize with other testers.

These types of games focused on testing skills are generally called tester games. I like tester games so much I’ve attended workshops, tutorials, and track talks on games at multiple conferences. I’ve attended and run games sessions at conferences, meetups, and at work, all in an effort to spread my love for tester games.

What I haven’t done is earnestly try to use tester games in any kind of formal training. I hope to change that.

What Is a Tester Game?

For those who are not familiar, a tester game is any game or puzzle that can be used to teach a specific testing skill, act as a simplified model of a system, or in some way allow a player to practice different testing skills, concepts, or ideas.

I do not consider myself to be an expert on tester games. That being said, I have played a good number of tester games with testers I both respect and consider to be excellent coaches. I also own a large number of games myself (that I keep at work) and have been known to haul them off to conferences and other testing events. And, of course, I keep talking to people about my belief that games are valuable tools for testers.

Categories of Games

I haven’t seen anyone try to divide tester games into categories before. Doing so doesn’t add any real value to the games themselves or affect their use in any way, but for the purposes of this article and to help explain some of the differences between the different games, I am identifying three main categories of tester games:

Tester Challenges

Examples: the pen game, the important difference game

These are simple games that usually only have a small set of possible solutions. More akin to a logic puzzle or something like a trick lock, these tend to offer little variation in how they are played. The ones I have encountered require little setup or preparation and can be paused and restarted, or even played via correspondence, which make them a good choice for quick pickup games. Part of the fun of a tester challenge is observing others while they try to solve a puzzle you have already figured out.

I have one version of the important difference game that I’ve run for a while that uses two of my business cards. One is my corporate business card. The other is a personal card I purchased from a business card website. There are many differences between the cards, but the players are trying to figure out the one difference that is important to me. The point of the game is for the players to ask me questions. In short, this game is about requirements. The players who do well ask me questions early to try and understand what is important to me. Despite the cards being different colors and having different finishes with differently cut corners and different information on each, the important difference to me, at least in this version of the game, is that the cards are different shapes. My personal cards came from a UK company (that I didn’t realize was in the UK) that sells cards in the dimensions common to the UK: 85 millimeters by 55 millimeters. My corporate cards are printed in the US and are the standard US business card size of 3.5 inches by 2 inches.

As I said, challenges tend to be simpler games that can be played once, but there are games that offer more replay options and complexity.

Bespoke Games

These games tend to be based around the idea of a game master or coach who devises a rule and applies it to a collection of game pieces. The player, or players, then tries to figure out the rule. While tester challenges tend to give players a view on a system through a single point (e.g., a single person’s requirements), bespoke games offer a view on the system from multiple perspectives.

Given that most of these games were created by testers for use in training courses they themselves developed, I am not going into any specific details about these games. The majority were devised for use as training aids and were designed to teach specific skills or drive home certain points relevant to the course they are used in. The level of difficulty for most of these games can be adjusted based on the skill level of the coach and the players, which allows new and experienced testers alike to play a given game multiple times.

These games are useful because they can model systems in a simple way that allows players to experiment with different concepts and techniques. They also allow players a simplified system in which to experiment with different ways of generating test ideas (e.g., using a heuristic mnemonic such as SFDPO or FEW HICCUPPS).

I’ve seen these games used in courses like Rapid Software Testing and Lean Software Testing and at workshops and tutorials run by James Bach, Michael Bolton, Paul Holland, and Matt Heusser.

Repurposed Games

Examples: SET, FluxxZendo, Cubu, Mastermind

These games were not originally designed to train testers, but someone later figured out they can be used to teach a skill, demonstrate a testing concept, or challenge testers. These games tend to have less flexibility with regard to difficulty unless that was a facet of the game originally (Zendo being one exception). One benefit of these games is you can choose to start playing them just for fun and then ease into using them as a training aid.

The use of these games is the same as those mentioned in the first category. Truthfully, I made this grouping only to show you that most any game can be turned into a teaching tool if you put your mind to it.

As an example, let’s talk about Zendo. It evolved easily into a tester game. Similar to many of the bespoke games and even the tester challenges mentioned before, Zendo is a rule-based game. Because it wasn’t created from scratch as a training aid, I feel comfortable going into the details.

Zendo uses the pieces from the game IceDice—hollow pyramids that come in different colors and sizes that are combined into collections called koans. Different criteria are used to define the koans, such as color, quantity, size, orientation, and whether a piece is touching the table. The game master thinks of a rule and builds two koans: one that passes the rule he made and one that fails. The game master then marks each koan with a stone that shows whether the koan passes or fails the rule (without saying why it passes or fails). The players then build their own koans that are in turn marked by the game master to show whether they pass or fail the rule. Once a player can verbalize the rule, he wins.

How does this relate to testing? Think of the game as a system—a piece of software, perhaps. You approach this system with very little information. You know that if you give it one specific input (the game master’s koan marked “pass”), you get a positive result. You also know that if you give the system another very specific input (the game master’s koan marked “fail”), you get a negative result. Your goal is to figure out how this system works by testing it (building your own koans to see what happens). In this environment, you can try out different skills and techniques—everything from good note taking to communicating and working with others. Stuck on where to go with your next test? Try defocusing. Change things. Run test after test until you see a pattern. Once you do, try focusing. Limit the number of changes you make between tests to help you hone in. Keep going until you either get the rule (you figure out how the system works) or get stuck again.

How I Use Games at Work

My team started hosting monthly game nights where we would provide pizza and some small door prizes. We generally had good turnout to these events but found the overhead of planning and scheduling them a bit tedious. Earlier this year I started hosting game lunches, which are much easier to put together—one calendar invite recurring every two weeks at lunchtime, sent to the local members of my department. That’s it. Then, it’s just a matter of showing up in the company diner with my stash of games and taking over some tables.

Despite my interest in games, I have yet to formally use them for teaching at work. My next endeavor is to include games in our new employee training program. Currently, after newly hired testers complete the one month of training provided to all technical staff, they go through a one-week training program that includes information on the systems we use in test as well as introductory testing skills. Because the majority of testers we hire come in with little to no prior testing experience, we spend a lot of this training covering product-specific testing and systems.

I want to run a games session with all new testers a month or so after they have completed their initial training. My goal is to run a select set of games to reinforce topics covered in their training, including test strategy and testing outside stated expectations. This will obviously require more planning than my lunch sessions, but it should be more valuable for the players.

Games are useful for so much more than having fun. These tester games can show you how the other members of your team think, make you think about how you think, and even help you change the way you approach testing. Give testing games a try and challenge the way you perceive your everyday activities—it may end up making you a better tester.

User Comments

2 comments
Leonardo Corrales's picture

Great post! The past year I talked in a conference about the importance Testers Games to develop skills and make a better tester. Regards from Uruguay
 
 
 

March 16, 2015 - 9:58am
Tim Thompson's picture

Excellent post! Now, can you give us testers some advice on how to get developers to fix the bugs we find instead of starting new feature work with new bugs? If QA can crack that problem we all will be in a much better place!

March 19, 2015 - 7:12am

About the author