##Warmup Exercise for Software Testing
The goal of this exercise is to successfully “program” a blindfolded person to drop a plastic bottle into a metal basket.
Nicky will exit the room in order to give the team an opportunity to write (and test!) a set of instructions for dropping his bottle into the basket. After each trial, Carl will reset the location of the basket, as well as obstacles (i.e. chairs).
During the trial, Ethan will read each line of instruction, exactly as written, out loud. Nicky will execute the instruction as he understands them, and then say “COMPLETE” (or, you know, something like that) when he believes he has carried out the line of code. Then Ethan will move on to the next line, and the process repeats.
Some example instructions:
- for loops: walk exactly n steps forward, or turn exactly n degrees (tough to estimate)
- while loops: walk until you bump into something that feels like x, OR reach out your right hand and turn either up or down (think: that rule from physics) until you feel something that feels like x,
- conditionals: if you reach and feel x directly between your two feet, or directly in front of you, or directly behind you, do [another admissible instruction] else do [another admissible instruction]
- Lift up your hand directly in front of you, bending at the elbow, and drop the bottle
In addition, before Nicky leaves the room to allow teams to prepare, each team may test a blindfolded Nicky on how he interprets instructions.
Other rules:
- teams may not interact with Nicky, physically or verbally
- There may be no more than 24 instructions
- You may get more creative on instructions than the examples listed above, but use good judgment. If something seems even a bit like cheating, don’t do it
After a failed attempt the failing team must submit a “volunteer,” and the game will run again, except with “volunteer” replacing “Nicky” in all lines above. After a successful attempt, “Nicky” above may be replaced with a willing faculty member of the winning teams choosing (which might mean Nicky again), or a volunteer from another team of the winning team’s choice.
Recall that every time the game is played, Carl resets the game’s parameters.