You are on page 1of 7

Bug Life Cycle:

Introduction:

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.

The typical lifecycle of a bug is as follows:


1. Bug is identified in system and created in Bugs Online
2. Bug is assigned to a developer
3. Developer resolves bug or clarifies with user
4. Developer sets bug to "Completed" status and assigns back to original user
5. Original user verifies that bug has been resolved and if so sets bug to "Closed" status. Only the
original user who created the bug has access to "Close" the bug. Once the bug is closed it may
never be re-opened or have future activity.
6. If the bug was not resolved to the user's satisfaction they may assign it back to the developer with a
description (by adding a new detail). If this occurs then the bug returns to step 2 above.
It is important to note that throughout the lifecycle of a bug, it should be assigned to someone. The system
will allow for a bug to not be assigned but the usage of this feature should be minimal.
By insuring that a bug is always assigned to a user or a developer, system administrators will maintain a
high level of accountability for all bugs submitted to the system.
A Bug's Life Cycle
The status and resolution field define and track the life cycle of a bug.

STATUS RESOLUTION
The status field indicates the general health The resolution field indicates what happened to this
of a bug. Only certain status transitions are bug.
allowed.
UNCONFIRMED No resolution yet. All bugs which are in one of
This bug has recently been added to these "open" states have the resolution set to
the database. Nobody has validated blank. All other bugs will be marked with one
that this bug is true. Users who have of the following resolutions.
the "canconfirm" permission set may
confirm this bug, changing its state
to NEW. Or, it may be directly
resolved and marked RESOLVED.
NEW
This bug has recently been added to
the assignee's list of bugs and must
be processed. Bugs in this state may
be accepted, and become
ASSIGNED, passed on to someone
else, and remain NEW, or resolved
and marked RESOLVED.
ASSIGNED
This bug is not yet resolved, but is
assigned to the proper person. From
here bugs can be given to another
person and become NEW, or
resolved and become RESOLVED.
REOPENED
This bug was once resolved, but the
resolution was deemed incorrect. For
example, a WORKSFORME bug is
REOPENED when more
information shows up and the bug is
now reproducible. From here bugs
are either marked ASSIGNED or
RESOLVED.
RESOLVED FIXED
A resolution has been taken, and it is A fix for this bug is checked into the tree and
awaiting verification by QA. From tested.
here bugs are either re-opened and INVALID
become REOPENED, are marked The problem described is not a bug
VERIFIED, or are closed for good WONTFIX
and marked CLOSED. The problem described is a bug which will
VERIFIED never be fixed.
QA has looked at the bug and the LATER
resolution and agrees that the The problem described is a bug which will not
appropriate resolution has been be fixed in this version of the product.
taken. Bugs remain in this state until REMIND
the product they were reported The problem described is a bug which will
against actually ships, at which point probably not be fixed in this version of the
they become CLOSED. product, but might still be.
CLOSED DUPLICATE
The bug is considered dead, the The problem is a duplicate of an existing bug.
resolution is correct. Any zombie Marking a bug duplicate requires the bug# of
bugs who choose to walk the earth the duplicating bug and will at least put that
again must do so by becoming bug number in the description field.
REOPENED. WORKSFORME
All attempts at reproducing this bug were
futile, reading the code produces no clues as to
why this behavior would occur. If more
information appears later, please re-assign the
bug, for now, file it.

Other Fields
Severity
This field describes the impact of a bug.
Blocker
Blocks development Priority
and/or testing work
crashes, loss of data, This field describes the importance and order in
Critical which a bug should be fixed. This field is utilized
severe memory leak
Major major loss of function by the programmers/engineers to prioritized their
minor loss of function, work to be done. The available priorities are:
or other problem P1 Most important
Minor P2
where easy
workaround is present P3
cosmetic problem like P4
Trivial misspelled words or P5 Least important
misaligned text
Request for
Enhancement
enhancement

You might also like