Classification of Errors
by Severity
Often the severity of a
software defect can vary even though the software never changes. The reason being is that a software
defect’s severity depends on the system in which it runs.
For example, the
severity of the Pentium’s floating-point defect changes from system to
system. On some systems, the
severity is small; whereas on other systems, the severity is high.
Another problem (which
occurs regularly) is that the definitions of the severity levels (or categories)
themselves change depending on the type of system. For example, a catastrophic defect in a
nuclear system means that the fault can result in death or environmental harm; a
catastrophic defect in a database system means that the fault can (or did) cause
the loss of valuable data.
Therefore, the system
itself determines the severity of a defect based on the context for which the
defect applies. The context makes
all the difference in how to classify a defect’s severity.
I
have attached two sample classification methods – a 3 level classification
method, and a more comprehensive 5 level classification method, which I hope you
may find useful.
Errors,
which are agreed as valid, will be categorised as follows :-
·
Category
A -
Serious errors that prevent System test of a particular function continuing or
serious data type error
·
Category
B -
Serious or missing data related errors that will not prevent implementation.
·
Category
C -
Minor errors that do not prevent or hinder functionality.
1.
An "A"
bug is a either a showstopper or of such importance as to radically affect the
functionality of the system i.e. :
§
If,
because of a consistent crash during processing of a new application, a user
could not complete that application.
§
Incorrect
data is passed to system resulting in corruption or system crashes
Example
of severally affected functionality:
§
Calculation
of repayment term/amount are incorrect
§
Incorrect
credit agreements produced
2.
Bugs
would be classified as "B" where a less important element of functionality is
affected, e.g.:
§
a
value is not defaulting correctly and it is necessary to input the correct
value
§
data
is affected which does not have a major impact, for example - where an element of a customer
application was not propagated to the database
§
there
is an alternative method of completing a particular process - e.g. a problem
might occur which has a work-around.
§
Serious
cosmetic error on front-end.
3.
"C"
type bugs are mainly cosmetic bugs i.e.:
§
Incorrect
/ misspelt text on screens
§
drop
down lists missing or repeating an option
1.
Catastrophic:
|
Defects that could (or did) cause disastrous
consequences for the system in question. E.g.) critical loss of data, critical loss of
system availability, critical loss of security, critical loss of safety,
etc. |
|
|
2. Severe:
|
Defects
that could (or did) cause very serious consequences for the system in
question.
E.g.)
A function is severely broken, cannot be used and there is no
workaround. |
|
|
3. Major:
|
Defects
that could (or did) cause significant consequences for the system in
question - A defect that needs to be fixed but there is a
workaround. E.g.
1.) losing data from a serial device during heavy
loads. E.g.
2.) Function badly broken but workaround
exists |
|
|
4. Minor:
|
Defects
that could (or did) cause small or negligible consequences for the system
in question. Easy to recover or workaround. E.g.1)
Error messages misleading. E.g.2)
Displaying output in a font or format other than what the customer
desired. |
|
|
5. No
Effect: |
Trivial
defects that can cause no negative consequences for the system in
question. Such defects
normally produce no erroneous outputs. E.g.1)
simple typos in documentation. E.g.2)
bad layout or mis-spelling on screen. |