Posts in Software Testing
Five bugs in five minutes...
I have a game I play with programmers. I call it five bugs in five minutes. It's been I while since I've done it (you have to be sitting close to the people doing the programming), but I still get to play it every now and then.

The game works like this:


  1. A programmer finishes coding some testable unit of work

  2. The programmer comes over and throws down the testing gauntlet

  3. You go over to the programmers desk and they launch the software you will be testing, navigating to the code that is supposedly "done", and establishes the limits to the software they are presenting you with

  4. You accept or you decline the challenge (noting that declining lowers your project "street credit")

  5. If you accept, you test for five minutes with the programmer looking over your shoulder

  6. Every time you find a bug, you laugh sadistically and tell the programmer the bug you found

  7. The programmer (and this is important) confirms or denies that what you found counts as a bug

  8. After five minutes you stop

  9. If you found five bugs (that the programmer confirms are bugs), the programmer pays you five dollars (or buys you lunch)

  10. If you fail to find five bugs (that the programmer confirms are bugs), you pay the programmer five dollars (or buy them lunch)



I find that this game has the following side effects:

  • Over time, I get more free lunches then I give

  • Over time, I developer better communication with the programmers; they become more willing to help me, and they become more interested in fixing my bugs

  • Over time, the programmers get better at preventing the types of bugs I find - forcing me to change my test techniques and raise the bar of my testing

  • Over longer periods of time with the same developers, I start to give more free lunches then I get



It allows both of us to grow in a fun little competitive way.
The Pirate Heuristic

"Bad artists copy. Good artists steal."
-Pablo Picasso


The pirate heuristic says this, when you run out of ideas - steal someone else's.



Obtaining tools, ideas, and information to support your testing effort is critical to your success as a tester. When you have trouble recognizing the resources you have available it's important not to forget that great testers know that it's ok to steal. Look at past test plans, bug taxonomies, the notes of the person next to you, the Google super-mind, and any other resource you have available to you that you can exploit for your testing.

Don't break any laws (stealing tools illegally or stealing from a competitor), but make sure you aren't ignoring the wealth of ideas that surround you every day.

When you get stuck while generating ideas call upon the pirate heuristic.