A software defect is
|“||[a] problem or “bug” that if not removed, could cause a program to either produce erroneous results or otherwise fail.||”|
Software defects are typically classified by type, location introduced, when found, severity level, frequency, and associated cost. The individual defects can then be aggregated by cause according to the following approach:
- Lack of conformance to standards — where a problem occurs because the software functions and/or data representation, translation, or interpretation do not conform to the procedural process or format specified by a standard.
- Lack of interoperability with other products — where a problem is the result of a software product's inability to exchange and share information (interoperate) with another product.
- Poor performance — where the application works but not as well as expected.
- (Overview section): The Economic Impacts of Inadequate Infrastructure for Software Testing (Final Report), at 1-12 (May 2002) (full-text).