Tester – The Private Detective Of Software Development

In my earlier post, I have talked about the characteristics a good tester should have, such as being analytical and curious, being a good communicator, having the ability to put himself in the users’ shoes. But lately, I am starting to think that the most important characteristic that defines a tester is being inquisitive: investigate and ask perseveringly until he gets the information he needs to test the application and to know if it has the expected quality. Something like a cop or a private detective who searches for clues and interrogates the witnesses to find out who committed the crime, how and why.

More than once we have to test applications without having enough functional or technical documentation that explains us how they must work. How can we say if the application works as expected if we don’t know what we have to expect? How do we know what is the expected result when we sum 1 + 1 if no one has told us it must be 2? That’s the moment when we have to turn on our detective skills and start interrogating the witnesses, that is, the business analyst, the functional analyst and, sometimes, even the developer. Ask, ask and ask again until you find the solution or find achievements of the culprit:

– What formula is applied to calculate the cost of the product? – What must be the answer of the application if a series of steps are followed? – If an error happens, how does the application respond? – What fields are mandatory to create a new register? – What filters have to be established to do a search in a certain screen? – What security profiles must the user have to accomplish a certain action?

However, in most cases, this is not enough. As Grissom said in CSI: “People lie, but evidence doesn’t. That’s why we have to look for fingerprints or DNA samples to find the killer. And which clues can help us to resolve the crime? For example, we can search for old documents that make reference to the application under test, make queries in the database or access applications that interact with the one we are testing, among other options.

In short, to become better testers and to manage that the application under test has the greatest quality possible, we have to grab our magnifying glass, start thinking as a detective would do in the middle of a police investigation and to do everything we can to prevent that the crime remains unsolved.