Thursday, January 10, 2008

Software Defects Vs. Software Quality!

Software Defects Vs. Software Quality!


“If the software product has some defects, can it still be called a quality product?”

This is a question I was asked during a recent conversation with one of my blog readers (who is also a software tester). It appeared that the tester friend was asked this question in some testing interview and the interviewer had expected a simple YES/NO type answer! Unfortunately the tester, who was unsure about the answer, also expected a similar (YES/NO) answer from me for the above question. To me, this actually seems like a paradoxical question, which can be answered only after breaking it down further into few individual questions, which can throw more light on the context of the subject. But before I attempt to answer this question, let me assume few definitions of the keywords used in the question.

Software Product: A software product is typically a single application or suite of applications built by a software company to be used by *many* customers, businesses or consumers. The mass-market notion differs from custom software built for the use of a single customer by software development firms. – Wikipedia

Defects: A software defect (or "bug") is an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended (e.g., producing an incorrect result). Most software defects arise from mistakes and errors made by people in either a program's source code or its design, and a few can also be caused by compilers producing incorrect code. – Wikipedia

Quality: Quality is value to some person, who matters. – Gerry M. Weinberg

Coming back to the original question, when someone asks, “if the software product has some defects, can it still be called a quality product”, I think a possible answer is: “I can’t tell you for sure unless you are ready to answer few of my questions first”!

If you are a software tester, I am almost sure that you are yet to see software, which does not have any defects in it (even after thorough testing). Even if the testers are not able to identify any significant amount of defects with further testing activity, still no tester with a stable brain on his shoulder would ever dare to state that “the software is defect-free after the testing effort”! In that sense, all software is with some defect (either known defects or yet-to-be-found defects). Since no software is without defect, what is the point in asking something like: "if the software product has some defect …"? What do you think?


I am not sure if the interviewer actually wanted to ask: “if the software product has some *known* defects *after it’s release*, can it still be called a quality product?”

No comments:

Powered By Mushu

Powered By Mushu