Who Tested This?
Truly this is one of the most frustrating and chilling phrases in software testing. Who hasn’t heard it at some point? Eventually it happens to all testers. The person asking the question believes that testing should have caught the problem. Unless they were the Tester and are saying “Who Tested This?” in a self-deprecating manner, they are quite possibly looking for someone to blame.
The Tester is pretty much always the last person to touch the software. The expectation that because you had it last, you are responsible for it is generally an unfair one. There are so many factors going into why the software quality was good or bad when it got to the Tester that it is unreasonable to put all the focus on testing.
Let’s explore the other questions that could be asked:
- Who sold the product? (and did they validate their promises with the people who could deliver? )
- Who wrote the requirements? (for that matter, were there any requirements you could refer to?)
- Who did the unit testing?
- Who set the schedule? (did it allow for enough testing?)
- Who provided feedback on the test plan?
- Who decided what to fix and what to leave in the software?
Now don’t get the the idea that I’m saying all the other disciplines have responsibility and the Tester doesn’t. The Tester is responsible for analyzing the product and identifying tests that will establish that the software is doing what it is supposed to do and handles unexpected input or user behavior in a reasonable manner. The Tester is responsible for doing this in a manner consistent with the software they are working on and the environment they are working in. The Tester is also responsible to apply what they know about software risks and testing techniques/approaches that will help identify issues that make a difference on the project.
Ultimately, it all comes down to responsibility and probably someone avoiding responsibility for a problematic release. The reason I say that it ultimately comes down to responsibility is this: Everyone is responsible for the quality of the software. So who ever is asking that question, whether it is the Project Manager, Account Manager, Technical Support team member, Marketing person, Developer, Executive or Tester; each person had a role in creating the quality that was delivered to the customer. The decisions they make contributed to the final product.
Again, this doesn’t mean that the Tester shouldn’t be held responsible for their part in a release. Just that it should be recognized that it is unlikely that they did it alone.
Finally, testing should be a matter of personal pride as well as responsibility. At the end of it all, I want to be able to say “I did,” and if I did a good job, to be recognized for it. If I missed something important; I will accept my role in that as well and hopefully learn from it.