July 22, 2006

Thinking Like a Professional Tester

A recent incident at work got me thinking about characteristics that distinguish a casual tester from a professional.

Until recently, this company had no professional QAers. Any testing had been done by Product Management folks, and by customers during User Acceptance Testing. These people did the best they could, but they clearly had a lot on their plate - finding bugs wasn't their highest priority.

This time, one person was asked to go and delete a bunch of test accounts that had been added to a system. She deleted most of them but reported that some couldn't be deleted. She wasn't sure why, but they just "wouldn't delete". She didn't seem concerned.

I asked her to put together a list of the accounts which could be deleted and those which could not. When I saw the list, it appeared that all of those which couldn't be deleted had apostrophes in the name. I gave her a few suggestions and asked her to investigate.

It turned out that accounts containing special characters in the name could not be deleted. This bug had been there for quite a while. People testing the system in the past had noticed the problem, but hadn't understood why it happened. Even the customer had noticed the problem, but had just asked the developers to go into the database and delete the accounts.

To me, this points out a few differences between casual testers and professionals:
  • The ability to recognize that a bug is occurring
  • The desire to dig in and find out the characteristics of the bug
  • The skill to generalize the problem
  • The willingness to initiate a bug report