TESTING
SOFTWARE QA
RESOURCES
One of the most difficult and yet most important software quality assurance and testing tasks is to estimate the expected number of bugs in a given software module or project. Good estimation methods are important for determining when to stop testing (and hence budgeting test project duration); evaluating the test project performance; and deciding which quality assurance strategies are most appropriate and effective for the project at hand.

While metric methods will answer the bug count question during and after the testing effort an adequate advance estimate of bug counts is only derivable from historical experience and analogy to similar projects.

Furthermore, new standardized development platforms such as .NET change the basis for bug estimation because they reduce common sources of bugs (e.g. memory leaks, bad type definition) and allow the enforcement of standardization on the programming process.

Consider for example the following important findings:
Notes taken from Software Testing Fundamentals: Methods and Metrics, by Marnie L. Hutcheson .

A 1995 report by Capers Jones, "Software Quality for 1995: What Works and What Doesn't," for Software Productivity Research, gives the performance of the four most common defect removal practices in the industry today: formal design and code inspections, formal quality assurance, and formal testing. The efficiency of bug removal for these methods used individually is as follows:

Formal design inspections 45% - 68%
Formal software testing 37% - 60%
Formal quality assurance 32% - 55%
No formal methods at all 30% - 50%

When taken in combination:

Formal design inspections and formal code inspections 70% - 90%

The best combination:

Formal design inspections, formal quality assurance, formal testing 77% - 95%

When used alone, formal quality assurance does only 5 percent better than no formal methods at all. It is not possible to determine its relative worth when used in combination with other methods. However, it can be argued that considering the following problems, the contribution of formal quality assurance is minimal.

Obviously, without a proper basis for estimating the total number of defects it is impossible to provide a recentage of defects removed. The extremely important results for evaluating the combination of fromal methods to adopt rely entirely on determining how many defects can be expected in a given project.