1. Lack of “Lust for finding Defects” – Lust could be an objectionable vice in the Bible, but in the “Bible of Software Testing“, lust is a good thing; lust for finding defects that is. Have a craving, appetite, or great desire towards finding defects is something that differentiates a great tester from that of a mediocre one. Once this lust dies down inside a tester’s heart, it would be very difficult to keep going.

    Having said this, I do realize that there could be times like the “tester’s block syndrome” [a condition, associated with testing as a profession, in which a tester may lose the ability to find new bugs and defects in the software that (s)he is testing]. It can happen with anybody. But don’t let it become the end of the world for you. If you are struggling to find bugs in the software and feeling burnt out, “change the way you have been testing” – adopt new test ideas, try new ways to find where the AUT (application under test) might be broken, try out pair testing, explore new unexplored areas of the AUT and even try taking a short break. And still, if nothing at all works… then change your AUT! I know how difficult it can be to change the AUT (and your project) in certain contexts. In such cases, try out new applications (there are tons out there begging to be tested; just look around) and once you start finding defects in the new AUT, it won’t be long before you would start discovering defects (again) in your old AUT.

  2. Envy – If you are in the field of testing then I can almost certainly bet that you must have come across testing teams where only few team members perform exceptionally well and the others instead of taking it as a reason of motivation rather feel envious about them. Enviousness and jealousy leads to hatred and hatred in turn takes you further away from the path to success.
  3. Lack of “Greed for Knowledge” – Like lust, greed also is a good thing to have for a software tester. Some call it the “burning desire to learn” and others call it “the passion to excel“, but to me they all mean essentially the same thing. Once some great mind said — “knowledge is wealth/money“. And it couldn’t be agreed more for software testing. I believe that a tester should be like a “search engine king“, who is a jack of all trades and the master of many! As a test manager I would want my testers to be knowledgeable in every aspects of computing — knowledge about programming languages, operating systems, web services, technology updates, gadgets, search engines, scripting skills… everything counts as long as they help the team to be better at testing.
  4. Sloth – Laziness is not a luxury if you are in the software business; and the onus is even greater if you are a tester working in a tight testing schedule. In my opinion, this is one of the greatest sins a tester could ever commit – laziness in testing, laziness in learning new stuffs, laziness in updating your skills, laziness in showing interest in finding defects in what you’re testing… all can doom you and your career as a tester. So beware!
  5. Wrath – Numerous situations may arise in a tester’s life where (s)he would find her/him against the team of programmer. But anger and wrath are never the solution to such scenarios. Hate the defects, NOT the programmer. Criticize the software that we test, NOT the programmer who coded it. And don’t ever forget that to err is human and if there were no errors, there would be no need for us (testers) in the team. Being diplomatic and factual with a small dose of humility can do wonders in dealing with any such adverse situations; NOT anger/wrath.
  6. Pride – I can imagine how an occasional self-pat can help boost self-confidence and create room for the much needed motivation. But be careful NOT to overdo it and keep it at “occasional” level. Pride is probably the easiest gateway to witness failure and the feel-good factor associated with pride makes it even more dangerous.
  7. Gluttony – Yes, I said that greed is a good thing for you if you are in the profession of software testing. But greed is not same as gluttony (over-testing, excess testing)! Learning to know where to stop testing is a lesser known art. If you didn’t find any new defects in the past hour of testing, then perhaps you wouldn’t find any, even if you extend the testing session for another couple of hours! In such cases taking a much needed break is a wiser decision than to extend the testing session. Furthermore, every test project is associated with budget constraints and you probably wouldn’t want to make your testing efforts look like a liability to the whole project instead of adding value, would you?

What are the other deadly sins for a software tester that you would want to add to the above list? Share your thoughts via comments.

About the Author

Debasis Pradhan, Software Testing consultant and 17 years of experience in testing, is a self-identified context-driven tester who is practicing exploratory testing. He currently blogs at http://software-testing-zone.blogspot.com/. The purpose of his blog is to help testers learn advanced testing skills, share their experiences and envision a better future for software testers by bringing some respect to the craft of testing. You can find this article posted on his blog at: http://software-testing-zone.blogspot.com/2010/05/seven-deadly-sins-of-software-testing.html.