It’s Not What You Know That Matters

My friend Mike recently told me about his bee magnet. Once upon a time, his family got it into their heads that he collected magnets. People knowing you collect something can be a curse (even when you really do collect that something) because they shower you with bazillions of the something it is you collect. So it was with my friend, and so his refrigerator was covered top to bottom with magnets of all shapes and sizes.

One sunny morning he walked into his kitchen and noticed something odd about his refrigerator. It had a magnet that was a reproduction of a bee! He didn’t remember having such a magnet, so he went closer to get a better look. The closer he got the more he was pulled in by the incredible workmanship of this magnet. It was so lifelike, in fact, he was almost afraid to touch it!

Just when he had almost worked up the nerve to take the magnet off the fridge, it moved. You guessed it: this magnet wasn’t a magnet at all but a real live bee. Looking back, Mike says there was a moment, right at the beginning, that he said “Something isn’t right….” But he ignored his intuition and was sucked into an alternate reality.

Avoiding this alternate reality is an important part of testing. You must forget what you think you know and simply focus on what is. Think you can do this? Take one of those “What’s wrong with this sentence?” puzzles that misspell a word or double a conjunction. They are more difficult than they look! Even though you are specifically looking for something out of place, your brain sees what it expects to see, not what actually is.

This is one reason why developers find it hard to test their own code: they know down to the smallest detail what *should* happen and so miss what *is* happening. Testers can easily fall into this trap as well, for the same reason. Pair testing, swapping areas, and using a plethora of testing techniques help you find bugs because they help you see things from a different perspective.

So forget what you think you know about what’s going on…because you don’t know. Not really.

*** Want a fun job on a great team? I need a tester! Interested? Let’s talk: Michael dot J dot Hunter at microsoft dot com. Great coding skills required.

Comments (1)

  1. anutthara says:

    Similar to the thread that spawned off from a comment on one of your previous blogs, it is not really so easy to switch between white box and black box testing – which is basically "i know how this works (to a fair extent)" to "i dont know a thing of how this works". Personally, this context switch was the hardest part of my job when I started out as a tester nearly an year and a half ago. But now I know that this is a must have to rid your feature of a large number of bugs.

    Also, I just lovvve the example of the puzzle. An analogous puzzle that devs should be good at is the "Find the difference between the 2 panels" puzzle – which is really useful while debugging. It is usually the tiny differences between 2 call stacks that yield the solution to some of the most elusive bugs.