Fake God of Quality Versus True Humans – Who is Responsible for Software Quality?

Several thousands of Software Testers whom I came across had the notion that they are into testing and are solely responsible for quality. Some of them even think that being a tester also empowers them as a God of Quality for the product.

The question I ask you is: Is this for good?

Here is what I think and would like to see you considering these ideas. 

Who is Responsible for Software Quality

Quality is everyone’s responsibility and not just a tester out there or thousands of them out there. If your family has to be happy, you can’t just assign a person to your family to ensure everyone's happiness and catch the person responsible if something goes wrong. If a family has to be happy forever, it has to happen with everyone participating and facilitating it.

Similarly, if a product needs to have quality, every stakeholder from customer, requirements, design, development, testing, and support must have equal responsibility towards it.

However, some organizations that are not so serious about testing or fake their seriousness about testing hire a tester for every project to make a tester scapegoat when any of their customers find a bug. These testers who are made to feel as Quality's God start feeling guilty about the idea of missing a bug and take the responsibility for missing a bug.

This happens because most of the testers have a screwed up understanding of what testing is. They carry an idea of testing as improving the quality while it is not improving quality but finding information about quality.

By reporting bugs – the quality by itself isn’t improving unless someone cares to fix it. Now, if you have been working as a tester you would know that many times by trying to fix a bug, 2 or more new bugs are introduced. So, probably, each bug a tester reports and each bug being fixed and a new one springing up, the quality might be decreasing.

I must also admit that lesser bugs don't necessarily mean good quality. Jerry Weinberg, a living legend of software testing who was the first person to start a testing team way back in 1960’s defines “Quality is a value to some person who matters” and then Michael Bolton expanded it to “It is a tester's responsibility to find out who matters and what matters to them”. So fantastic.

Here are some of the problems that happen if testers continue to think of themselves as Quality's God

Issues with Developers

Testers start seeing developers as demons who are spoiling quality and get into issues with them. This impacts the performance of the whole team and the developers start disrespecting the testing community itself. So, testers who cause this problem, not only spoil their name but all our names as well in general.

It's like batsmen accusing bowlers to have given a lot of runs. If a cricket team has to function well then bowlers and batsmen have to work together to make the team win. Sometimes batsmen fail to perform and other times bowlers.

You may want to think of yourselves as humans just as developers and both of you are equally capable of making mistakes. However, focusing on your skills of thinking can help in the success of the entire team.

Guilty of Missing a Bug

When a bug is missed, the tester feels all alone responsible for missing it. Such testers don’t think that they are a part of the entire team, which missed it. I am talking about all the stakeholders responsible for missing it.

If 4 runs are needed off the last ball and a batsman fails to score, is the batsman responsible for the loss of the team?

Failing to Learn

A pattern among all those testers who assume themselves as God’s of quality fails to learn. The feeling of being THE PERSON RESPONSIBLE makes their mind to think that they have learned almost everything and everything they have learned is right.

Let me take this as an open bet: 90% of the testers I have met by travelling to all places in India haven’t read a testing book yet despite several years of experience. You would hardly find a developer who has not read a development related book but testers think everything about testing online is good and fine.

This surprises me – testers don’t test their own learning. How can I believe that they can test even half as good as they claim?

The Change

Now, I am not forcing you to change but let me tell you that none of the respected testers of the world has an idea about themselves as God’s of quality or being the only person responsible for quality. You may want to take a clue from it and change but it is you who is causing the change and not me.

If you are willing to change a little further, you must consider thinking:

– Testing as providing information about quality
– Developers as sources of information
– Test Coverage as a key factor for success of a test team
– Success of the entire team is the success of a test team
– Missing bugs is not always a tester’s fault
– Testers are humans and humans are fallible ( they fail )
– Testers are as imperfect as developers
– Helping other testers to get the ideas right after you have got it

About the Author:
This article is by Pradeep Soundararajan, our guest author at SoftwareTestingHelp. Pradeep is a renowned tester, thinker, thought leader and an international speaker in Software Testing and problem-solving. He writes a popular blog Tester Tested! and tests, coaches, consults, manages testing and testers.

Feel free to share your comments/suggestions about this article.

Recommended Reading

72 thoughts on “Fake God of Quality Versus True Humans – Who is Responsible for Software Quality?”

  1. Good Article pradeep…

    It really portrays the situation of a tester.

    The requirement understanding & the analysis of requirement will make all the diff between the tester & developer.

    Regards
    Rajesh

    Reply
  2. Good Article.

    I see that this article fails to explain why the Testers feel that they are GODs of quality.

    What makes many Testers feel this way ? If the root cause for this is indentified this fictious role he/she has adorned onto him/herself can be worked upon.

    Thanks
    Madan

    Reply
  3. @Madan,

    You wrote I see that this article fails to explain why the Testers feel that they are GODs of quality.

    Re-posting this from the article:

    However, some organizations who are not serious about testing or fake their seriousness about testing hire a tester for every project to make a tester scapegoat when any of their customers find a bug. These testers who are made to feel themselves as Quality God’s start feeling guilty about the idea of missing a bug and take responsibility for missing a bug.

    and…

    Guilty of missing a bug: When a bug is missed, the tester feels all alone responsible for missing it. Such testers don’t think they are a part of the entire team, which missed it. I am talking about all stakeholders responsible for missing it.

    Hope it helps.

    Reply
  4. @ Prem Pujari Pati,

    I am not from Edista but I taught you testing while you were at Edista. Oh yes, the same guy :)

    Reply
  5. Respected,
    I am doing job as Software Tester with 1 year experience. The main issue is that we are not following any process. Just Ad hock testing. I am very worried as I have 1 year experience but have no grip on any process. can any one please guide me. on my email ramzan.danish@gmail.com
    it will be great kindness.
    thanks

    Reply
  6. @Pradeep,

    Whatever u have written sounds that its ur personal exp and u generalize for all .At some extent you are right but again its depends on individuals in terms of tester and developer’s relation and it differs org. to org.

    I personally believe that testing is all about to how quickly and accurately understand the business process of software.

    Thanks,
    Arun Poonia.

    Reply
  7. Very good article.

    Thanks for sharing such one

    Generaly when a tester take something personally he lose his enthu and backlogs on testing. he should really believe if some thing is missed , he should say we missed it, not i missed it.

    I m really agree on this point

    Happy testing :)

    Reply
  8. @Govardhan,
    Great job Mr.Govardhan.Hats off to your writing.Very very thoughtful…
    @Mr.Pradeep Soundarrajan,
    You missed to explain what Mr.Govardhan asked.Can you please answer to those questions?Well,that will be helpful to understand how far you are experiencing the testing industry.Anyways “good writing…”!!!!

    Reply
  9. it’s true that everyone’s responsible for the quality, but the fact of the matter is, in some companies when a significant bug is found after a release, the testers are the ones to blame, since they were the ones responsible for finding it. so it’s not that they feel like gods of quality – they feel more like scapegoats…

    Reply
  10. If 4 runs is needed of the last ball and a batsman fails to score, is the batsman responsible for the loss of the team?

    wow, loved this point. What an epitome !!

    Reply
  11. This article is half correct , half wrong. Comparing testing with game of cricket, well I don’t appreciate that. Cricket is just a games where people cannot die if you fail, you’ll always get another chance. If you don’t fell guilty of missing a bug, you’ll never improve. Question yourself why you missed it, make your guilt work for your good. If you think OK I failed so what others have failed too, what’s that point, the important question is why you have failed? There is another thing is some products if there is a failure, there are chances that people can die, I am sure then what, the tester is also part of the cause right? Its like the doctor thinking “so what I have filed, the other doctors failed too, the patient died because others filed too.” By reading a book you can gain bookish knowledge, as a tester, you have to learn from your life. Did you learn you buy your clothes by reading a book, its simple it doesn’t fit me I am not buying it, I don’t like the color I am not buying it, my friend has this shirt I am not buying Or this brand is too costly I am not buying it. Or you won’t buy vegetable by reading a book. You learn from experience and from experience of others. Testing be it hardware or software , its the same its the relationship between a input and output.

    Reply
  12. “Guilty of missing a bug: When a bug is missed, the tester feels all alone responsible for missing it. Such testers don’t think they are a part of the entire team, which missed it. I am talking about all stakeholders responsible for missing it.

    If 4 runs is needed of the last ball and a batsman fails to score, is the batsman responsible for the loss of the team?
    Failing to learn: A pattern among all those testers who assume themselves as God’s of quality fail to learn. The feeling of being THE PERSON RESPONSIBLE makes their mind to think they have learned almost everything and everything they have learned is right.”

    @Pradeep

    First question

    What will you do when some one in your organization reads this blog of yours and say its OK I just missed a bug, others missed 3 bugs? I exactly know what your reaction would be. “Forget about others other, tell me why you missed?” At least that is my reason.

    Honestly people that read this blog and get inspired by this let me tell you one thing if that’s the attitude, testing is not for you, very honestly. Like I mentioned my answer above “Forget about others other, tell me why you missed?” At least that is my reason.
    And as a tester you should be question yourself “Why me”, don’t we question when something bad happens to us, “Why me God, why me” till god gets annoyed. Its bad to miss a bug, it is that simple. let it be any one, developer, tester, test lead, manager, dev manager, dev lead , so every body is guilty and everybody should improve.

    I should feel guilty that I missed a bug, I don’t care who missed it, but why did I miss it, why did I fail in the job of catching the bug, so what others have missed, the important thing is I missed it. If I question myself that way, next time I can improve on that. It is always a team work, and each and every individual is responsible for his/her c contribution. What you have to understand is that if a person fails the team fails. I can’t say I have found my share of bug and feel happy about it.

    If i quote your cricket example , which is very bad example by you because of the things you missed to ignored to mention. I really don’t understand and its contradicting actually.
    It a systematic failure of the whole team right from the first batsman who got out to the last batsman who didn’t score, who got duck out, who made the other batsman run out, fielders that missed catches, bowler that that gave away free runs. Have you ever thought about how pissed off the blower would feel when a fielder misses a catch or didn’t stop the runs, or missed a run out etc. If a person has failed they should feel responsible and feel guilty and should improve and not repeat the same mistake again and again or make similar mistake. Today it was four runs from your own example, what happens if the batsman think OK I failed, so what other before me also failed too, so where is the improvement? Tomorrow if it 3 1 run, he can say OK so. Of all the sports you had to compare it with cricket? Why not other sports? OR some other profession?, its team work.

    Reply
  13. Any one that has read this article and praised the article read these below links and then re-read this blog
    validate your comments, and tell me why I shouldn’t feel guilt if I missed a bug.

    https://en.wikipedia.org/wiki/Therac-25
    http://www.ccnr.org/fatal_dose.html
    http://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/
    http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html

    You can use your favorite search engine to search, and trust me guys and gals, this article is waste of time.

    You can be reading books and not applying knowledge, its no use reading books. You have to apply what you read,only then reading a book will be helpful. Most of them who haven’t read a book, probably picked their knowledge some other way, by some mentor or by discussion or practically observing some one working. Not certainly reading such articles

    What if I just read a book and don’t apply, what if the author is wrong, so I do wrong things, after we have read a book, we should understand if its correct or wrong. It has worked for him, but may or may not work for me. Apply the concept and commonsense that is more important. By going by this article I can apply the same logic and I am sure I will be out of job. Its not a blame game, you cannot be happy missing a bug, and say its OK. I am responsible for testing my module and if I didn’t to find a bug, a regression team has found it, I have failed. After the release the customer finds a bug in your module, you cannot be happy saying that regression team missed it, Test lead missed it, developer missed it, and include all the people responsible have missed it no issues. If you answer that way what do you think will happen. As a manger I will tell, “I will deal with them later, thanks for bringing it to my notice, now tell me how you missed it.” or “Thanks for bringing it to my notice, I am planning to throw them out of the job, let me start with you”

    This article is outdated, update it. Now-a-days testers don’t see developers a demons, they work hand in hand, its called Agile or something like that. Its more process based and people based. I am sure the writer of this article has heard about Agile and is certainly using that method.

    Testing IS NOT A GAME, its is never a game, it will never be a game. If the product is life threatening, and there is a bug people can die and there is a huge loss in terms of revenue and effort. So don’t compare testing to the stupid game of cricket, and any other great game.

    When we were learning testing if were taught that testing is same for hardware and software. Its it true you give input and check output both in software and hardware, its just that you do differently, think about it. What theory you learn you should be able to apply that to practice and the task at hand. Why do we test? To understand this point : For a given correct input, correct output should come i.e. expected, for invalid input corresponding error message should come. That applies same to hardware, no one can deny that, that concept applies to everything.

    Reply
  14. Please update this article to show true and current picture, otherwise take this article because it is such a misleading article, As a Test lead I don’t agree to this article.

    Has any one that read this article and praised the article read these

    I honestly don’t know who calls him renowned, I won’t…

    Now came back read this article again and validate your comment, and tell me why I shouldn’t feel guilt if I missed a bug. You can use your favorite search engine to search, and trust me guys and gals, this article is waste of time.

    First search about therac 25 and read thatose articles and then read this blog, and then comment again

    You can be reading books and not applying knowledge, its no use reading books. You have to apply what you read,only then reading a book will be helpful. Most of them who haven’t read a book, probably picked their knowledge some other way, by some mentor or by discussion or practically observing some one working. Not certainly reading such articles

    What if I just read a book and don’t apply, what if the author is wrong, so I do wrong things, after we have read a book, we should understand if its true or wrong. It has worked for him, but may or may not work for me. Apply the concept and commonsense that is more important. By going by this article, its not a blame game you cannot be happy missing a bug, and say its OK. I am responsible for testing my module and if I didn’t to find a bug, a regression team has found it, I have failed right. After the release the customer finds a bug in your module, you cannot be happy saying that regression team missed it, Test lead missed it, developer missed it, and include all the people responsible have missed it no issues. If you answer that way what do you think will happen. As a manger I will tell, “I will deal with them later, thanks for bringing it to my notice, now tell me how you missed it.” or “Thanks for bringing it to my notice, I am planning to throw them out of the job, let me start with you”

    This article is outdated, update it. Now-a-days testers don’t see developers a demons, they work hand in hand, its called Agile or something like that. Its more process based and people based. I am sure the writer of this article has heard about Agile and is certainly using that method.

    Testing IS NOT A GAME, its is never a game, it will never a game. If the product is life threatening, and there is a bug people can die and there is a huge loss in terms of revenue and effort. So don’t compare testing to the stupid game of cricket, and any other great game.

    When we were learning testing if were taught that testing is same for hardware and software. Its it true you give input and check output both in software and hardware, its just that you do differently, think about it. What theory you learn you should be able to apply that to practice and the task at hand. Why do we test? To understand this point : For a given correct input, correct output should come i.e. expected, for invalid input corresponding error message should come. That applies same to hardware, no one can deny that, that concept applies to everything.

    Reply
  15. Just adding to the above and some corrections
    If the product is life threatening, and there is a bug people can die and there is a huge loss for people effected by the death of the person in case it happens, and of course for the company its shame, apart from shame there is loss of revenue, effort. The company may close for good, otherwise they may create a new company and carry out, bu the people effected by the bug will be the worst sufferers, so missing bug in case of safety critical software is not an option, and missing a bug a person should always feel guilty.

    Reply

Leave a Comment