What is Defect Density? Formula to calculate with Example

What is Defect Density?

Defect Density is the number of defects confirmed in software/module during a specific period of operation or development divided by the size of the software/module. It enables one to decide if a piece of software is ready to be released.

Defect density is counted per thousand lines of code also known as KLOC.

How to calculate Defect Density

A formula to measure Defect Density:
Defect Density = Defect count/size of the release

Size of release can be measured in terms of a line of code (LoC).

Defect Density Example

Suppose, you have 3 modules integrated into your software product. Each module has the following number of bugs discovered-

  • Module 1 = 10 bugs
  • Module 2 = 20 bugs
  • Module 3 = 10 bugs

Total bugs = 10+20+10 =40

The total line of code for each module is

  • Module 1 = 1000 LOC
  • Module 2 = 1500 LOC
  • Module 3 = 500 LOC

Total Line of Code = 1000+1500+500 = 3000

Defect Density is calculated as:

Defect Density = 40/3000 = 0.013333 defects/loc = 13.333 defects/Kloc

Defect Density

A standard for defect density

However, there is no fixed standard for bug density, studies suggest that one Defect per thousand lines of code is generally considered as a sign of good project quality.

Factors that affect the defect density metrics
  • Code complexity
  • The type of defects taken into account for the calculation
  • Time duration which is considered for Defect density calculation
  • Developer or Tester skills

Advantages of defect density

  • It helps to measure the testing effectiveness
  • It helps to differentiate defects in components/software modules
  • It is useful in identifying the areas for correction or improvement
  • It is useful in pointing towards high-risk components
  • It helps in identifying the training needs to various resources
  • It can be helpful in estimating the testing and rework due to bugs
  • It can estimate the remaining defects in the software
  • Before the release, we can determine whether our testing is sufficient
  • We can ensure a database with a standard defect density