Classification of Defects / Bugs


There are various ways in which we can classify. Below are some of the classifications:

Severity Wise:
  • 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
Status Wise:
  • Open
  • Closed
  • Deferred
  • Cancelled
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... :)

Also See:


  1. I think on this basis we can divide defects/bugs in 4 categories-
    1) Interface bug
    2) Security bug
    3) Cosmetic bug
    4) Functionality bug

    Please correct me if I am wrong.

  2. very very nice contain

  3. amit one, you are true :)