Software Testing & its Myths

As I began putting across my perspective on Software Testing, I found below Quotes quite interesting and relevant to the post:
“Software testers do not make software; they only make them better.”
“Testers don’t break software, software is already broken.”
This post is basically for those who think:

  • Software Testing doesn’t add any value to the project!
  • What is the point in spending resources on testing activity if doing so cannot guarantee a 100% Bug-Free Product.
  • Testing is a dumb job. Anybody can do it!
  • Software Tester should be completely responsible for quality of delivered product.

Being a Software Tester, I am more concerned about testing and don’t want to start Tester and developer battle here. I am bringing few points here to break the myths of a typical Software developer about the necessity and importance of Software Testing in a Software Development process.

Testing Can’t Guarantee High Quality of a Product:

First, we need to understand what is meant by “high quality”. “Quality is value to some person(s) who matters.” In case of Software Development, testing alone cannot guarantee high quality of a product. Let’s take an example, if a mobile game app doesn’t have any known bug, is robust and stable enough but fails to engage the curiosity of the end users. Would it be called as quality product simply because it does not contain any visible defects and is quite robust? Software Testers are not sales inclined and won’t give you product guarantee.

More Testing Better Results:

Let’s see some facts here. In an average MNC, the Tester: Developer ratio is somewhere around 1:3. That means for every 3 developers there is one tester to test their coded program. In case of Microsoft the ratio is said to be 1:1 and in NASA it is known to be a whopping 3:1. As you can clearly see, NASA spends obviously lot of effort on testing its projects. So apparently their projects must be the most robust among all. Unfortunately still we see some space mission failures time and again. Does this mean that NASA testers are not doing their job right? But we should realize that NASA faces a space shuttle mishap once in a decade or so (on an average). In case of shortage of enough testing it could well have been 10 accidents per year or much more!

Product Quality is Everyone’s responsibility:

Usually it is anticipated that the product quality is only tester’s concern. If any defect comes during user’s testing or after production release, it is termed as tester’s fault rather it is the developer’s! It was the developer who had defects in his code. It’s not a blame game. Instead of accusing each other for the mistake made, we must feel responsible for it and more importantly take corrective actions so as to avoid such mistakes from happening in future.

Testing is value addition to product success:

Does testing add value to the project? The answer depends on your outlook. For Example, Why do you taste dish before serving it to your guests? Does testing a prepared dish add value to the preparation? It helps us understand & review loopholes if any in the preparation.  However, testing statistics does provide vital information about the application under test, to the stakeholders of the project about its fitness levels.

To conclude, software testing goes a long way in creating value for projects. Organisations that focus on testing will be able to provide better user experience. It is crucial to develop separate testing departments with experts concentrating on this aspect of the development process. Once they begin to consider testing as an important aspect, they will be able to offer an exceptional experience to the customers.As I began putting across my perspective on Software Testing, I found below Quotes quite interesting and relevant to the post:
“Software testers do not make software; they only make them better.”
“Testers don’t break software, software is already broken.”
This post is basically for those who think:

  1. Software Testing doesn’t add any value to the project!
  2. What is the point in spending resources on testing activity if doing so cannot guarantee a 100% Bug-Free Product.
  3. Testing is a dumb job. Anybody can do it!
  4. Software Tester should be completely responsible for quality of delivered product.

Being a Software Tester, I am more concerned about testing and don’t want to start Tester and developer battle here. I am bringing few points here to break the myths of a typical Software developer about the necessity and importance of Software Testing in a Software Development process.

  • Testing Can’t Guarantee High Quality of a Product:

First, we need to understand what is meant by “high quality”. “Quality is value to some person(s) who matters.” In case of Software Development, testing alone cannot guarantee high quality of a product. Let’s take an example, if a mobile game app doesn’t have any known bug, is robust and stable enough but fails to engage the curiosity of the end users. Would it be called as quality product simply because it does not contain any visible defects and is quite robust? Software Testers are not sales inclined and won’t give you product guarantee.

  • More Testing Better Results:

Let’s see some facts here. In an average MNC, the Tester: Developer ratio is somewhere around 1:3. That means for every 3 developers there is one tester to test their coded program. In case of Microsoft the ratio is said to be 1:1 and in NASA it is known to be a whopping 3:1. As you can clearly see, NASA spends obviously lot of effort on testing its projects. So apparently their projects must be the most robust among all. Unfortunately still we see some space mission failures time and again. Does this mean that NASA testers are not doing their job right? But we should realize that NASA faces a space shuttle mishap once in a decade or so (on an average). In case of shortage of enough testing it could well have been 10 accidents per year or much more!

  • Product Quality is Everyone’s responsibility:

Usually it is anticipated that the product quality is only tester’s concern. If any defect comes during user’s testing or after production release, it is termed as tester’s fault rather it is the developer’s! It was the developer who had defects in his code. It’s not a blame game. Instead of accusing each other for the mistake made, we must feel responsible for it and more importantly take corrective actions so as to avoid such mistakes from happening in future.

  • Testing is value addition to product success:

Does testing add value to the project? The answer depends on your outlook. For Example, Why do you taste dish before serving it to your guests? Does testing a prepared dish add value to the preparation? It helps us understand & review loopholes if any in the preparation.  However, testing statistics does provide vital information about the application under test, to the stakeholders of the project about its fitness levels.
To conclude, software testing goes a long way in creating value for projects. Organisations that focus on testing will be able to provide better user experience. It is crucial to develop separate testing departments with experts concentrating on this aspect of the development process. Once they begin to consider testing as an important aspect, they will be able to offer an exceptional experience to the customers.
System Analyst @ PSI  [:]