News of the Weird: Testers Are Your Friends
Burk Hufnagel
WHETHER THEY CALL THEMSELVES Quality Assurance or Quality Con- trol, many programmers call them Trouble. In my experience, programmers often have an adversarial relationship with the people who test their software. “They’re too picky” and “They want everything perfect” are common com- plaints. Sound familiar?
I’m not sure why, but I’ve always had a different view of testers. Maybe it’s because the “tester” at my first job was the company secretary. Margaret was a very nice lady who kept the office running, and tried to teach a couple of young programmers how to behave professionally in front of customers. She also had a gift for finding any bug, no matter how obscure, in mere moments.
Back then, I was working on a program written by an accountant who thought he was a programmer. Needless to say, it had some serious problems. When I thought I had a piece straightened out, Margaret would try to use it, and, more often than not, it would fail in some new way after just a few keystrokes. It was at times frustrating and embarrassing, but she was such a pleasant person that I never thought to blame her for making me look bad. Eventually, the day came when Margaret was able to cleanly start the program, enter an invoice, print it, and shut it down. I was thrilled. Even better, when we installed it on our customer’s machine, it all worked. They never saw any problems because Margaret had helped me find and fix them first.
??120 97 Things Every Programmer Should Know
?
???????????????So that’s why I say testers are your friends. You may think the testers make you look bad by reporting trivial issues. But when customers are thrilled because they weren’t bothered by all those “little things” that QC made you fix, then you look great. See what I mean?
Imagine this: you’re test-driving a utility that uses “groundbreaking artificial intelligence algorithms” to find and fix concurrency problems. You fire it up and immediately notice they misspelled “intelligence” on the splash screen. A little inauspicious, but it’s just a typo, right? Then you notice the configuration screen uses checkboxes where there should be radio buttons, and some of the keyboard shortcuts don’t work. Now, none of these is a big deal, but as the errors add up, you begin to wonder about the programmers. If they can’t get the simple things right, what are the odds that their AI can really find and fix something tricky like concurrency issues?
They could be geniuses who were so focused on making the AI insanely great that they didn’t notice those trivial things, and without “picky testers” pointing out the problems, you wound up finding them. And now you’re questioning the competency of the programmers.
So, as strange as it may sound, those testers who seem determined to expose every little bug in your code really are your friends.