Test engineers and developers are not interchangeable. Great developers have the ability to take an idea and put software structure around it. Great testers have the ability to lean casually on that structure and find the one thing that brings it all crashing down. It's Karma. It's a different mental outlook.

One of the worst habits of the software industry is to take people who aren't quite up to snuff as developers and throw them into the test department. This does two very bad things. First it creates a myth that testers are just like developers, but not as good. Second it creates a large number of people with test experience who mentally are not testers.

One of the formal methods for testing requirements is referred to as the "Mary had a little lamb" method. Consider the difference between

The first reading indicates only Mary had any little lambs. The second indicates that something about the lamb has changed. The best testers think like this all the time. (You think testers are obnoxious at work? Talk to somebody who lives with one.)

The trick when staffing a test organization is to find people who think like testers. Do they purposefully misinterpret statements? Will they look at a rule saying "No throwing things out the window." and immediately comment that the rules say nothing about lowering things out the window? Technical knowledge is relatively easy to teach. It's much harder to teach new habits of thinking.

Where developers strive to be "right" and "elegant", testers strive to be "twisted", "evil", and "perverse". Some have compared the outlook to that of two-year-olds: high on curiosity, low on staying within boundaries. If you hear in the halls, "only QE would have thought of that," then you have the right staff.


Copyright 1998 Anne Powell

last update 2/16/98