There are various ways in which we can classify. Below are some of the classifications:
- Major: A defect, which will cause an observable product failure or departure from requirements.
- Minor: A defect that will not cause a failure in execution of the product.
- Fatal: A defect that will cause the system to crash or close abruptly or effect other applications.
Work product wise:
- SSD: A defect from System Study document
- FSD: A defect from Functional Specification document
- ADS: A defect from Architectural Design Document
- DDS: A defect from Detailed Design document
- Source code: A defect from Source code
- Test Plan/ Test Cases: A defect from Test Plan/ Test Cases
- User Documentation: A defect from User manuals, Operating manuals
Type of Errors Wise:
- Comments: Inadequate/ incorrect/ misleading or missing comments in the source code
- Computational Error: Improper computation of the formulae / improper business validations in code.
- Data error: Incorrect data population / update in database
- Database Error: Error in the database schema/Design
- Missing Design: Design features/approach missed/not documented in the design document and hence does not correspond to requirements
- Inadequate or sub optimal Design: Design features/approach needs additional inputs for it to be completeDesign features described does not provide the best approach (optimal approach) towards the solution required
- In correct Design: Wrong or inaccurate Design
- Ambiguous Design: Design feature/approach is not clear to the reviewer. Also includes ambiguous use of words or unclear design features.
- Boundary Conditions Neglected: Boundary conditions not addressed/incorrect
- Interface Error: Internal or external to application interfacing error, Incorrect handling of passing parameters, Incorrect alignment, incorrect/misplaced fields/objects, un friendly window/screen positions
- Logic Error: Missing or Inadequate or irrelevant or ambiguous functionality in source code
- Message Error: Inadequate/ incorrect/ misleading or missing error messages in source code
- Navigation Error: Navigation not coded correctly in source code
- Performance Error: An error related to performance/optimality of the code
- Missing Requirements: Implicit/Explicit requirements are missed/not documented during requirement phase
- Inadequate Requirements: Requirement needs additional inputs for to be complete
- Incorrect Requirements: Wrong or inaccurate requirements
- Ambiguous Requirements: Requirement is not clear to the reviewer. Also includes ambiguous use of words – e.g. Like, such as, may be, could be, might etc.
- Sequencing / Timing Error: Error due to incorrect/missing consideration to timeouts and improper/missing sequencing in source code.
- Standards: Standards not followed like improper exception handling, use of E & D Formats and project related design/requirements/coding standards
- System Error: Hardware and Operating System related error, Memory leak
- Test Plan / Cases Error: Inadequate/ incorrect/ ambiguous or duplicate or missing – Test Plan/ Test Cases & Test Scripts, Incorrect/Incomplete test setup
- Typographical Error: Spelling / Grammar mistake in documents/source code
- Variable Declaration Error: Improper declaration / usage of variables, Type mismatch error in source code
These are the major ways in which defects can be classified. I’ll write more regarding the probable causes of these defects in one of my next posts… 🙂