HOME
TOPICS
ABOUT ME
MAIL

 
The folks who create software are the worst people to test it. They already know how it works. They're not going to use it the "wrong" way.
  technofile
Al Fasoldt's reviews and commentaries, continuously available online since 1983

Why even the big companies need help testing software


May 2, 2001


By Al Fasoldt
Copyright © 2001, Al Fasoldt
Copyright © 2001, The Syracuse Newspapers

   I once wrote a simple computer program that typed the full date whenever you pressed Ctrl-D. I thought it was great. After I checked it to make sure it worked OK, I posted it on a file-sharing Web site and went on to other things.
   Ouch! I'd forgotten the first rule of new software. I'd failed to get a stranger to test it.
   I say a "stranger" because the best friend any software writer can have is a person who knows nothing about the program. What's needed is someone who can test the program in ways the software writer never dreamed of.
   A friend of mine learned this years ago. He wrote a program that popped open a nicely crafted "help" window when the user pressed the "H" key while holding down the Alt key. It always worked when my friend tested it. It always worked when I tried it out.
   But when he showed off his little masterpiece at a regional computer show, he was dismayed to discover that his little program crashed the computer. All you had to do to get the computer to lock up was press Alt-H while the "help" window was open. He hadn't ever tried that and neither had I.
   But the first inquisitive person to come along who wanted assistance pressed Alt-H to open the "help" window. And then, to get more assistance with the help function, the stranger pressed Alt-H with the "help" window open.
   Pow! I was standing behind the booth with my friend the first time this happened. I felt embarrassed for my programming buddy. But he did something I thought was strange at the time - but something I understood perfectly well later, when I was doing my own programming:
   He shouted out. He jumped around.
   "Thank you!" he said, shaking the stranger's hand. The visitor had found a bug my friend and I might never have discovered. We would never have used the software the "wrong" way. We would never have pressed the "wrong" key.
   Big software companies know this principle, too. The folks who create software are the worst people to test it. They already know how it works. They're not going to use it the "wrong" way.
   And that's why Apple and Microsoft and many other giant software companies invite the public to test their new programs.
   Apple, maker of the Macintosh line of computers, did that when it was almost finished with the new operating system for Macs. Instead of letting its own software experts do the final testing, Apple knew it would end up with a better product - and it would be able to get rid of more bugs - if it let people like you and me test it.
   Microsoft does this sort of thing routinely. Both Microsoft and Apple sell pre-release software to people who are willing to pay for the privilege. You also have to promise you won't sue if the software does something really stupid.
   This software is called "beta" software. "Beta" is the second letter of the Greek alphabet, and it's come to mean "not quite ready for prime time."
   And that's just what my date-insertion program turned out to be. Oh, it worked OK. I'd made sure of that. But the "D" key is just a fraction of an inch away from the "X" key and the "C" key. So when people who used my little program accidentally hit Ctrl-X or Ctrl-C instead of Ctrl-D, their PCs did the wrong thing - a "cut" (or "delete") operation in the case of Ctrl-X or a "copy" operation if they accidentally pressed Ctrl-C.
   I quickly changed the key combination to Alt-D as soon as I got e-mail from frustrated users. I was glad they found the problem, but I didn't have the heart to tell them I'd been the one who made the real mistake. I didn't ask a stranger to try it out first.