Testing Exercises: Plenty Questions

On December 1, 2011, in Excercises, Learning, by Rasmus Koorits
There seems to be a constant shortage of educative exercises and games in the software testing community. To address this, I decided to do a little writing on testing challenges and also share my favourite type of challenge with the world.

 

A “classic” software testing exercise usually looks like this (.pdf file, exercise from “The Art of Software testing” by Myers). If you don’t fancy downloading another pdf file, here’s a rundown:

  • Imagine a triangle (it’s always a triangle).
  • Now test it.
    • Using black box testing.
    • Using white box testing.
    • By drawing a pretty picture.
    • Using method X.

Although this kind of approach is good for conveying fundamental testing methods, it often fails to inspire thinking outside the box or creativity – which to me are core testing skills that have to be honed as often as possible.

The Software Testing Fundamentals website offers a few more interesting exercises, especially for solving in a small brainstorming group.

Pradeep Soundararajan has an awesome blog post where he discusses creating ad-hoc testing exercises and lists more than 20 good reasons why a bullet fired at the window of a car might fail to break the glass. This is far better for creativity and outside the box thinking, especially if you run with a small group.

My own favorite testing exercise, however, remains “plenty questions”. To my knowledge, many in the context-driven community are aware of it. If you consider yourself context-driven and have no idea what I’m ranting about, I urge you to read on.

Running “plenty questions” requires a moderator and 1 to 5 players. The moderator describes a scene; a mystery if you will (beware of spoilers):

“A man wakes up in the middle of the night. He drinks a glass of water, flips off the lamp, and goes back to sleep. In the morning, he wakes up, looks out the window, takes a gun, and shoots himself in the head.”

Henceforth, the role of the moderator is to answer yes-no questions. An occasional maybe or a hint might be allowed. The objective of the testing group (read: players) is to solve the mystery.

“Was there something in the water?”

-”No.”

“Something in the glass?”

-”Yes.” ← notice the trap the player set himself

“Besides the water?” ← getting rid of the trap

-”No.”

“Was the light on when the man woke up?”

-”Yes.”

To continue with the explanation, I will have to spoil the answer. There are many more well known scenarios however, and an imaginative mind can always simply create one.

The glass of water has nothing to do with the solution. The man in the exercise is a rookie lighthouse keeper. He wakes up in the middle of the night at work because he is thirsty. Going back to sleep, he accidentally turns off the light of the lighthouse itself (it is actually called a lamp). Looking out the window in the morning, he sees a catastrophe that has occurred because of his mistake in the night.

The beauty of this exercise lies in its ability to conjure up wrong assumptions. A man waking up in the middle of the night is usually associated with a normal house or an apartment. A lamp or a light is usually associated with a common household lamp. Looking out of the window with whatever people are used to see from their home or office. Thus, the ability to recognize wrong assumptions through asking clarifying questions is key to solving this mystery; or any plenty questions game.

The game is also all about increasing awareness of the context, about probing your surroundings. Bringing more context in to understand the logic behind a mystery.

It is important to stress that the aim of the exercise is not necessarily to solve the mystery as quickly or with as few questions as possible. Rather, it is about asking interesting things, and, more importantly, about never running out of questions.

Running these exercises, I have seen good testers asking some really strange questions, but I have yet to see a good tester completely freeze.

I have promoted the plenty questions game in a word-of-mouth fashion so far and many a tester has found it useful for his or her testing group. I urge you to take the time and try it out with yours. I will wait impatiently for any feedback or questions in the comments section.

In time, I hope to create a small arsenal of testing exercises on this blog. I won’t reveal the answers though, but here is an offer – if you want to run an exercise, contact me or another author on this blog.

 

4 Responses to Testing Exercises: Plenty Questions

  1. Helena says:

    I do agree that the most important thing to stress here is that it really *does not* matter how quickly you solve this. After 2 beers and a couple of hours it really was a relief when I figured this one out. However, I learned a lot more about my mind and how it works. I remember I tried to go to completely abstract and then tried zooming in to the details and what I learned is that I need to watch myself so that I don’t forget about the common ground in between the extremes. So even if it might be a testing exercise, it’s also the “get to know the inside of your head” exercise.

  2. duncan nisbet says:

    Interestingly, i used questions to help draw a pucture of the scene in my head, starting with the man in bed.

    Gave up my gameplan straight away :-)

  3. adi says:

    There is a simple program with the following items: Input Box A Input Box B Add button Result Text Box [=A+B] Identify all the test cases for the program. [Example: press the Add button without entering anything in Input Box A and B].

    kindly answer this question plz

Leave a Reply to Helena Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>