The only thing I can guarantee to you about your career in testing is that at some point (likely lots of points) you will miss something. Of course, you will learn about the omission once things hit production. Don’t worry about it. Accept it. It will happen.

So what do you do when it happens?

Someone in class tonight asked specifically who was to blame when a bug made its way into production. My answer was that no one specifically is to blame. If blame must be assigned, it should be done so collectively; the developer whose code introduced the problem, the tester who missed the problem, the customer who signed off that the code functions as requested, etc.

As soon as you start playing the Blame Game though you are in trouble. Suppose you did successfully pin the blame on the developer. Not only have you jeopardized your relationship with them but you have set yourself up as a target the next time something makes it out undetected. Have you ever tried to correct someone’s spelling or grammer on a mailing list? Usually the correcting response will then contain an error. Call it karma for trying to look like a jerk.

The topic was timely for me since I missed something last week that ended up in production. Yes, there are 3 teams between me and production, but I’m the first (and have high standards for myself). I could have deflected the blame by pointing out that they missed it too but I did what I think is the grown-up thing. I took the “blame” and said sorry. I missed it, it was an accident, I’m still human.

The last time I had lunch with Michael he (somewhat sarcastically) said that he has never made a mistake. He has however had a number of learning experiences. (or something in that spirit). To me, this is what this miss was. The root cause was that I tested the external behavior of the application and while I knew that we were pumping values into a stored procedure in the database I did not check what those values were supposed to be nor whether we were sending the right ones. In this case, we were not.

I’ve added it to the checklist though.