Understanding Software Defects, their Severity & Priority of Resolution
Prior to going into details of “Severity & Priority” issues of software defects, let us quickly run through the definition of a “Software Defect or Fault”
Software Defect: A software defect is a departure in a software product from its expected properties. These can be 1) Detected defect, 2) Residual Defect or 3) Software Failure
Detected Defect: It is a software defect detected prior to installation of the software & before putting into operational use.
Detected Residual Defect: It is a software defect delivered
into the operational installation, either because it was not detected before installation, or may be it was detected but not removed.
Software Failure: It is the set of symptoms coming to the surface when a residual defect becomes prominent during operational use of the software.It is very difficult to standardize the process of recording and analyzing software defects due to organization dependent methods of communicating the defects, decision making & subsequent resolution. Every organization uses its own convenient process & infrastructure to resolve software defects.
However we can comfortably do rating of defects & prioritize their resolution according to certain minimum guidelines described here.
Severity of Defects / Failures: Rating of defects can be done into four different levels according to the severity of the resulting failures.
The severity is the extent to which a defect causes a failure that degrades the expected operational capabilities of the system of which the software is a component. The severity is classified from the point of view of effect on business efficiency.
The software users, who discover the defects, are the best judges to classify the severity of the defect.
Following classification of defect severity assumes that the software remains operational.
A) Critical Defects: These are the extremely severe defects, which have already halted or are capable of halting the operation of a business system. It means the defect has stopped some business function thereby forcing the deployment of manual workaround procedures into the operation.
Example of critical defects can be
# The software application refuses to run or stops in-between;
# Corruption of data
# Serious impact on customer operations for which the customers is aware of the consequences.
B) Major Defects: These are also severe defects, which have not halted the system, but have seriously degraded the performance of some business function. Although this is also a failure, but the business operation continues at a lower rate of performance or disable only some portion of the business operation.
Example of critical defects in a financial application can be
Software allows the input of customer details but refuses to confirm the credit information. This affects the customer facing operation – although the customer may not be aware of it.
C) Minor Defects:
These types of defects are the ones, which can or have caused a low-level disruption of the system or the business operation. Such defects can result into user inefficiency. Although a software with a minor defect suffers from the failure, but it continues to operate. Such a disruption or non-availability of some functionality can be acceptable for a limited period.
Minor defects could cause corruption of some data values in a way that is tolerable for a short period. But the business operations continue despite some degradation in performance – although the business customer may not be aware of it.
D) Cosmetic Defects:
These types of defects are the ones, which are primarily related to the presentation or the layout of the data. However there is no danger of corruption of data and incorrect values.
Example of cosmetic defects are
Headings, Banners, Labels, or Colors are absent or badly chosen. These can be considered as a failure of the software product despite the software being completely operational.
Cosmetic defects have no real effect on the customer facing operations & many times the customers don�t come to know of any degradation in performance. But cosmetic defects can cause frustration & annoyance among the users due to continued inefficiency of using such defective software.
Priority of Defects: When some defect is discovered, a suitable priority is assigned to it. This priority is an indication of the urgency with which the defect must be fixed.
Generally, defects of the greatest severity will be assigned the highest priority. However, due some overriding factors, a high priority may sometimes be allocated to even a minor or a cosmetic defect. For example a cosmetic defect in a presentation by the company�s CEO can be assigned a high priority. Or sometimes, it is wise to club many easily resolvable, but low severity defects before undertaking fixing of a higher severity defect.
Different Levels of Priority:
1) Very Urgent: This priority is allocated to a defect that must be attended with immediate effect.
2) Urgent: This priority is allocated to a defect that must be attended to as early as possible generally at the next convenient break e.g. overnight or at the weekend.
3) Routine: This priority is allocated to a defect, fixing of which is scheduled by the next or some particular release of the software.
4) Not Urgent: This priority is allocated to a defect that may be rectified whenever it is convenient.
Tags: Software Testing, Software Quality, Software design defects, software data defects, quality Assurance, software defects