Learn testing by gaming
The power of games to teach abstract concepts is more and more acknowledged. Find the Bug! offers an introduction to IT testing through a fast and simple board game.
Can a board game teach IT?
There are many reasons why games are great for teaching:
- Games are fun and spark motivation
- Games are social and create bonds outside the game
- Games make abstract concepts more concrete
- Games encourage players to ask questions and find answers
- Games provide practice and feedback in a safe environment
- Games are memorable and provide a context for what is being taught
- Games provide rewards that reinforce the learning
One recent example of a successful IT teaching game is Robot Turtles, a game introducing programming concepts to children. Testing concepts are just as important! If programming concepts can be learnt from a game, can testing concepts be that as well? Of course! After all, testing is not very different from gaming with a hidden objective (unknown bugs) and different ways to achieve it (test strategy).
Who is the game for?
Find the bug! is a board game for players of all ages who want to learn IT testing in a fun way. Children will enjoy the thrill of picking tiles and see whether they contain a bug or not. Students will learn to analyze a system and plan their testing accordingly. Teachers will have concrete examples of testing concepts such as risk-based testing and regression testing. All of them will learn that testing is fun!
What is the game about?
You have been appointed a test lead in an IT project and your task is the name of the game: Find the Bug!
The application is simulated by a game board divided into a number of components. Each component has a unique number of bugs with a unique level of severity. The test leads take turn to analyse the application (to learn where bugs are likely to find) and to place testers in the application (to find those bugs). Each bug scores a value according to its severity level.
Once a set of components is perceived to be bug free, a test lead may let a tester cover the entire set and thus increase the probability of finding bugs in the next round. However, if the test lead is wrong, the tester's effort is lost so don't be too fast!
The winner is the one who finds most bugs.
Find the Bug! is mainly designed for IT professionals who want to learn testing in a fun way. However, ordinary gamers may also enjoy this deductive challenge where you must use your limited resources efficiently and monitor the other player's actions carefully to Find the Bug!
Who is behind the game?
My name is Nicholas Hjelmberg and among my many labels are tester and game designer. I have over 10 years of experience in the testing and quality field and have developed more than 10 board games. The idea of a test game was born when I gave test lectures to newly hired colleagues.
Many IT professionals have a perception of testing as a simple and straight-forward task where technical knowledge of the solution is enough to test it. The exercies used in my corporate training did nothing to correct this perception. Instead, they focuesed on mechanic memorizing of concepts and rewriting requirements and design specifications into actions and expected results. Where was the curiosity and creativity? Where was the passion for quality?
The idea of a test game was thus born but it had to be nurtured and raised before it could mature. My continuous work with junior testers helped me identify knowledge gaps and my work with Nova Suecia Games helped me develop various game mechanisms that might be used to bridge those gaps. Finally I had everything I needed to design a test game: Find the Bug!
What is the background of the game?
The main idea is to find unknown bugs and that was also the main challenge: how to simulate a test environment with random defects and still allow the players to deduce where the bugs may be? Initially, I thought of placing tiles in certain patterns but eventually I rationalized this to letting the players pick tiles from bags instead. By adding a colored gem to each bag depending on the number or severity of the bugs and then shuffle them, I also gave the players a way to make deductions about the content. The two-dimensional game board with modules and tiers, where both must have a bug tile to count as a bug, makes deductions more difficult and also simulates risk-based testing with its assessment of business criticality and technical complexity.
This is enough for the basic game but I wanted to include more test concepts, such as regression test and test automation. The solution was to add fix markers. For each fixed bug, a corresponding module and tier marker are placed in a bag, out of which new bugs are drawn for the second round. The test automation was then simulated by letting the players place a tester on an entire module or tier, but not until it is mature, i.e. is free from the bugs in the first round.
The rest of the game basically follows the normal test process:
- Plan: Set up game board
- Analysis: Check gems to assess which tests to prioritize
- Test: Pick tiles to find bugs
- Fix: Remove bugs but add random new bugs
- Retest: Remove new bugs
- Report: Count score
- Close: Summarize game
How is the game played?
The players take on the roles of testers of an IT system. The IT system is represented of 36 squares ("components"), divided into 3 vertical columns ("modules") and 3 horizontal rows ("tiers"). Each square contains 1 tier tile and 1 module tile and if both tiles contain a bug symbol, the test case contains a bug. After all bugs have been found, the test round is over and a retest round commences. Six fix markers bearing the letters and numbers of the bugs found are drawn and where they intersect, new bugs have been created. The object of the game is to find as many bugs as possible. To do so, the players have 3 tasks to choose between:
- Analyse a tier or module: Each module or tier also comes with a gem, which color indicate how many or severe the bugs are. By looking at this gem, a player may increase the odds of finding the bugs.
- Test a test case: By placing a tester in a test case, a player may test it for bugs and if successful, score 1-3 points depending on the severity.
- Automate a test: By placing a tester in a tier or module, a player may find all the bugs that are created there in the retest round. However, if the tester is placed before all the first test round bugs have been found, the tester must be removed.
To win Find the Bug!, the players must carefully decide which of the 3 tasks to perform and draw the right conclusions from both their and the other players' tasks.
Detailed rules are available at novasuecia.se.
What does the game teach?
Several testing concepts have been applied in the game. The list below lists some of them and describes how to do the same in Find the Bug! Please visit ISTQB for more information.
- Acceptance criteria: Criteria for component to be accepted (Bugs in more than 1 module and more than 1 tier not accepted)
- Ad hoc testing: Testing without preparation (Testers assigned to test without analysis)
- Business criticality: A measure of impact of defects (The severity of bugs in a bag, indicated by a colored gem where red is highest etc.)
- Component: Item that can be tested in isolation (A specific module in a specific tier)
- Defect (bug): Flaw in component causing system failure (Both module and tier tile has a bug)
- Defect density: Defects in relation to component size (Numbers/severity of bugs in component)
- False-fail: A defect is reported although no exists (A detected bug that scores negatively)
- Module: Group of items tested together (1 module consists of 3 tiers)
- Pass-fail: A defect is not reported although one exists (A bug that is never detected)
- Project: Set of tasks to undertake an objective (The game from start to end)
- Regression test: Test of previously tested system after changes (The retest after fixes, when new bugs may appear)
- Risk-based testing: Test based on impact & probability of defects (Test in modules & tiers based on gems)
- Severity: Degree of impact that a bug has (Module bugs have a value between -1 and 3)
- Technical complexity: A measure of probability of defects (The number of bugs in a bag, indicated by a colored gem where red is highest etc.)
- Test automation: Use of software to support test tasks, usually requires mature system (Test of entire module or tier, possible when free from bugs)
- Test basis: Documents on which test is based, e.g design (Bags with a number of bug/no bug tiles)
- Test case: Set of input and expected output (1-4 squares in each component to place testers on)
- Test environment: Hardware and software for conducting test (The game board)
- Test lead: Person managing test tasks (The players)
- Test process: Planning, analysis, design, execution, reporting and closing of test (The tasks Plan, Analyse, Test, Fix, Retest, Report and Close)
- Tester: Person executing test tasks (The pawns placed by the players)
- Tier: Level of system; a 3-tier system contains presentation, application and data (1 tier covers 3 modules)
OK, I'm in but how will my money be spent?
If the first goal of €1,000 is reached, 25 copies of the first version of the game can be manufactured and shipped through The Game Crafter. (This version is currently available for $50 but that is excluding shipping.)
The first version comes with the following components:
- 1 square board (10" x 10", 60pt chipboard covered with gloss paper)
- 72 square chits (1 1/4" x 1 1/4", 60pt chipboard covered with gloss paper)
- 42 glass gems (3/4" in diameter)
- 51 pawns made from 40% wood-filled material (17/18" height x 3/5" base)
- 6 cloth bags (5 1/4" x 4 1/2")
- 1 full-color rule booklet (8 pages)
- 1 full-color box (10 1/2" x 10 1/2")
If the second goal of €5,000 is reached, 100 copies of a second version of the game can be designed, manufactured and shipped according to the following budget:
- External artist: €1,000 (to be selected)
- Manufacturing: €3,500 (The Game Crafter)
- Delivery: €1,000
If the third goal of €10,000 is reached, 250 copies of a second version of the game can be designed, manufactured and shipped according to the following budget:
- External artist: €1,000 (to be selected)
- Manufacturing: €5,000 (Bang Wee Games)
- Delivery: €4,000
If the fourth goal of €20,000 is reached, 500 copies of a deluxe version of the game can be designed, manufactured and shipped according to the following budget:
- External artist: €2,000 (to be selected)
- Manufacturing: €10,000 (Bang Wee Games)
- Delivery: €8,000
The deluxe version will come with linen finished board and chits. In addition, you may get your own logotype printed on the box. Please feel free to contact me for further ideas on how to personalize your copy of Find the Bug!
So what happens next?
Find the Bug! is my way of giving something back to the testing community and help building and developing our profession. If you believe in the idea of learning testing by gaming, you are more than welcome to contribute to the journey, either by giving advice on the way or by backing the crowdfunding campaign. You may also follow the progress at Twitter at #NovaSuecia. Remember that this is game is designed for you and as a tester, I want to make everything possible to satisfy your requirements. If this first "test" is successful, there are many more testing concepts waiting to be turned into games!