The fault classification describes the cause of the fault/failure that was observed.
After considerable research, we have selected and modified terms
principally from these sources:
IBM's Ram Chillarege, "Orthogonal Defect Classification;"
IEEE Standard. 1044 Standard Classification for Software Anomalies;
George Stark, The MITRE Corporation;
Boris Beizer, Software Testing Techniques.
Examples are not inclusive, for lack of space, but should provide enough
information for selection:
Specification/ Function: | Affects significant capability, end-user features, product application programming interface (API), interfaces with hardware architecture, global structures. Requirements Specification incorrect/ inadequate |
Interface: | Corresponds to errors in interacting with other components (software, hardware, user/database), modules, device drivers, call statements, control blocks, parameter lists. |
Data Handling: | Data file not available; data referenced out-of bounds; data initialization; variable used as flag or index not set properly; data not properly defined / dimensioned; subscripting error; initialization, data structure |
Logic/ checking: | Addresses program logic that has failed to properly validate data and values before they are used, loop conditions; omitted cases; neglected extreme conditions; iterating loop incorrectly; |
Computational / algorithm: | Incorrect operand in equation; Incorrect variables in algorithms; incorrect punctuation; rounding or truncation errors; efficiency or correctness problems that can affect the task and can be fixed without design change; missing computation |
Performance / timing: | Time limit exceeded; storage limit exceeded; code or design inefficient; network efficiency |
Input: | Incorrect format; input read from incorrect location; end-of-file missing or improperly encountered; incorrect data used for test cases |
Output: | Data written to different location; incorrect format; incorrect expected values for testing; presentation |
Documentation: | Errors can affect all publications and maintenance notes, and comments within design and code; presentation; ambiguous statement; incomplete; redundant; incorrect; not traceable |
Operation: | COTS software changes; configuration control |
Improvement / Enhancement: | Improve existing functions; improve interfaces; improve efficiency; improve usability |
Build/package/ merge | Errors that occur due to mistakes in library systems, management of changes, or version control. |