Testers are like...

I often compare debugging to detective work. You look at the clues, determine which are relevant and which to discard, use tools when necessary, and eventually (on TV at least), you solve the case - or as we say - find the cause of the problem. My approach to testing is influenced by my passion for debugging - I am not content just knowing there's a problem. I like to "dig in" and understand why the problem occurs. This approach is almost always beneficial in finding similar errors throughout the system, and is shared by many of the great testers I know.

The process looks something like this (excuse my poor visio skills).


There's probably more here, but this probably captures most of it. Of course, for many testers, finding a bug is all they may be expected to do, and in some cases, all they need to do. There are a lot of other branches that lead into the first "Found a Bug" shape above that require experience and knowledge.

I was thinking of my detective knowledge (remembering, of course, that my entire knowledge of law enforcement and criminal investigation has been obtained from hollywood), and was comparing it to testing. A new policeman patrols areas where crime may occur, responds to crimes, and sometimes needs to arrest people. Arresting someone requires paperwork and process (kind of like entering a bug report). Unless they have to give some testimony at a trial, they don't really dig into the crime any farther than that. They still have a lot of knowledge and skill, but they don't worry as much about the investigation.

The detective role (kind of a senior policeman role) is different. They examine clues and investigate crimes. Their experience is a tremendous help in this role, but not every experience policeman makes a good detective. Detectives also have higher skills of observation and more knowledge of tools, processes, and methodologies. I bet they are the folks who are always learning and perfecting their craft. Given a bit of domain knowledge about software, I wonder if a detective would make a good tester?

Is there a better professional analogy for testing?