Defect Age in Software Testing

Defect Age :

The term is used to denote time difference, in terms of defects being detected and defects being resolved. Defect age is used as a parameter in software testing to weigh the test effectiveness, with the help of a quantitative analysis. A defect is measured on the basis of the turnaround time, that is, actual time taken to fix the defect divided by the planned time taken to fix the defect. When a defect occurs, the development team tries to analyse it's impact and decides on a target fix date , by when it shall be resolved.

So defect age is divided into two parameters :

  • Phases
  • Time

Defect Phase - a numerical value is assigned to a defect occurring at any phase, depending on the degree of risk involved in the defect.

  • 'Defect Injection Phase' is the phase of SDLC in which the defect was first introduced.
  • 'Defect Detection Phase' is the phase in which the defect was figured out.

This can be elucidated with the following graphical representation.

defect age

As we can see, a number is assigned to a phase corresponding to its respective testing phases. If we simply state it, a defect discovered during the high level designed phase is assigned value 1, then 2, if in coding phase then 3 and so on. That means as the phases become more complex, the value assigned to it is in a higher range.

Defect Age Time :- This is a way of analysing the difference between the date of defect detection and the time till when the defect is open or has been resolved. When defect is calculated by time, few factors characterises it's measurement :

  1. The time difference can be calculated in hours or in days.
  2. Then defects are also labelled as - closed or open. Closed or fixed status means the defects are verified, and thus closed.
  3. A formulae can be applied to defect age time. (defect age in time=defect fixed date-defect detection date)
  4. Usually, an average age of all defects, is calculated.

"Defect Spoilage" is a technique by which, the values assigned during defect detection in phase helps us to assess defect removal activities.

Formulae : Defect spoilage = (sum of number of defects * Discovered phase)/ total number of defects.

Outcome of the above formulae gives us a number, which denotes a spoilage value. The lesser the spoilage value, the better the detect discovery process is considered.

Conclusion :

Defect age in software testing is a widely used concept which aids developers to find a fault in the software system. The idea is to catch a bug/defect in a timely manner, which further ensures that the system being developed has minimum number of faults in it. Defect ageing provides a systematic approach to maintain the flow of software development. An efficient way to handle discrepancies.