Defect age is used to denote time difference, in terms of defects being detected and defects being resolved. It 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:
Defect Phase - a numerical value is assigned to a defect occurring at any phase, depending on the degree of risk involved in the defect.
This can be elucidated with the following graphical representation.
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 :
"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.
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.