Cost of quality=Cost of conformance + Cost of non-conformance
Conformance costs consist of:
- prevention costs (funds spent on quality assurance— training, requirements and code reviews, other activities that promote valuable software product)
- appraisal costs (funds spent on planning test activities, developing test cases and data, and executing those test cases once).
Non-conformance costs consist of:
- internal failures (include all expenditures that appear when test cases fail the first time they’re run, as they often do. Since we get into formal testing in an independent test team, the costs of internal failure increase. The tester researches and reports the failure, after that the programmer finds and fixes the defect, the release engineer produces a new release, next step is that system administration team installs that release in the test environment, and software tester retests the new release to confirm the fix and to check for regression.)
- external failures (incurred when a tester finding software bug, the client does. These costs will be even higher than those associated with either type of internal failure, programmer-found or tester-found. In these situations you also incur the technical support overhead and the more costly process of releasing a fix to the field rather than to the test lab. You should also add for this intangible spending: irritated clients, hurt to the image of the organization, even lawsuits is possible.
So you should consider software testing as an investment. Undoubtedly we want to minimize the price of quality. But it is often cheaper to avert troubles than to repair them, if we must repair defects, internal failures cost not so much as external failures.