Bug can be defined as the abnormal behavior of the
software. No software exists without a bug. The elimination of bugs from the
software depends upon the efficiency of testing done on the software. A bug is
a specific concern about the quality of the Application under Test (AUT).
Bug Life Cycle:
In software development process, the bug has a life
cycle. The bug should go through the life cycle to be closed. A specific life
cycle ensures that the process is standardized. The bug attains different
states in the life cycle. The life cycle of the bug can be shown
diagrammatically as follows:
The different states of a bug can be summarized as
follows:
1. New
2. Open
3. Assign
4. Test
5. Verified
6. Deferred
7. Reopened
8. Duplicate
9. Rejected and
10. Closed
Description of Various Stages:
1. New: When the bug is posted for the first time, its
state will be “NEW”. This means that the bug is not yet approved.
2. Open: After a tester has posted a bug, the lead of the
tester approves that the bug is genuine and he changes the state as “OPEN”.
3. Assign: Once the lead changes the state as “OPEN”, he
assigns the bug to corresponding developer or developer team. The state of the
bug now is changed to “ASSIGN”.
4. Test: Once the developer fixes the bug, he has to
assign the bug to the testing team for next round of testing. Before he
releases the software with bug fixed, he changes the state of bug to “TEST”. It
specifies that the bug has been fixed and is released to testing team.
5. Deferred: The bug, changed to deferred state means the
bug is expected to be fixed in next releases. The reasons for changing the bug
to this state have many factors. Some of them are priority of the bug may be
low, lack of time for the release or the bug may not have major effect on the
software.
6. Rejected: If the developer feels that the bug is not
genuine, he rejects the bug. Then the state of the bug is changed to
“REJECTED”.
7. Duplicate: If the bug is repeated twice or the two
bugs mention the same concept of the bug, then one bug status is changed to
“DUPLICATE”.
8. Verified: Once the bug is fixed and the status is
changed to “TEST”, the tester tests the bug. If the bug is not present in the
software, he approves that the bug is fixed and changes the status to
“VERIFIED”.
9. Reopened: If the bug still exists even after the bug
is fixed by the developer, the tester changes the status to “REOPENED”. The bug
traverses the life cycle once again.
10. Closed: Once the bug is fixed, it is tested by the
tester. If the tester feels that the bug no longer exists in the software, he
changes the status of the bug to “CLOSED”. This state means that the bug is
fixed, tested and approved.
While defect prevention is much more effective and
efficient in reducing the number of defects, most organization conducts defect
discovery and removal. Discovering and removing defects is an expensive and
inefficient process. It is much more efficient for an organization to conduct
activities that prevent defects.
Guidelines on deciding the Severity of Bug:
Indicate the impact each defect has on testing efforts or
users and administrators of the application under test. This information is
used by developers and management as the basis for assigning priority of work
on defects.
A sample guideline for assignment of Priority Levels
during the product test phase includes:
1. Critical / Show Stopper — An item that prevents
further testing of the product or function under test can be classified as
Critical Bug. No workaround is possible for such bugs. Examples of this include
a missing menu option or security permission required to access a function
under test.
.
2. Major / High — A defect that does not function as
expected/designed or cause other functionality to fail to meet requirements can
be classified as Major Bug. The workaround can be provided for such bugs.
Examples of this include inaccurate calculations; the wrong field being
updated, etc.
.
3. Average / Medium — The defects which do not conform to
standards and conventions can be classified as Medium Bugs. Easy workarounds
exists to achieve functionality objectives. Examples include matching visual
and text links which lead to different end points.
.
4. Minor / Low — Cosmetic defects which does not affect
the functionality of the system can be classified as Minor Bugs.
No comments:
Post a Comment