In entomology(the study of real, living Bugs), the term life cycle
refers to the various stages that an insect assumes over its life. If
you think back to your high school biology class, you will remember
that the life cycle stages for most insects are the egg, larvae, pupae
and adult. It seems appropriate, given that http://onestoptesting.com/introduction/risk1.asp# -
This example shows that when a bug is found by a Software Tester, its
logged and assigned to a programmer to be fixed. This state is called
open state. Once the programmer fixes the code , he assigns it back to
the tester and the bugs enters the resolved state. The tester then
performs a regression test to confirm that the bug is indeed fixed and,
if it closes it out. The bug then enters its final state, the closed
state.
In some situations though, the life cycle gets a bit more complicated.
In this case the life cycle starts out the same with the Tester opening
the bug and assigning to the programmer, but the programmer doesn’t fix
it. He doesn’t think its bad enough to fix and assigns it to the http://onestoptesting.com/introduction/risk1.asp# -
You can see that a bug might undergo numerous changes and iterations
over its life, sometimes looping back and starting the life all over
again. Figure below takes the simple model above and adds to it
possible decisions, approvals, and looping that can occur in most
projects. Of course every software company and project will have its
own system, but this figure is fairly generic and should cover most any
bug life cycle that you’ll encounter
The generic life cycle has two additional states and extra connecting
lines. The review state is where Project Manager or the committee,
sometimes called a change Control Board, decides whether the bug should
be fixed. In some projects all bugs go through the review state before
they’re assigned to the programmer for fixing. In other projects, this
may not occur until near the end of the project, or not at all. Notice
that the review state can also go directly to the closed state. This
happens if the review decides that the bug shouldn’t be fixed – it
could be too minor is really not a problem, or is a testing error. The
other is a deferred. The review may determine that the bug should be
considered for fixing at sometime in the future, but not for this
release of the software.
The additional line from resolved state back to the open state covers
the situation where the tester finds that the bug hasn’t been fixed. It
gets reopened and the bugs life cycle repeats.
The two dotted lines that loop from the closed and the deferred state
back to the open state rarely occur but are important enough to
mention. Since a Tester never gives up, its possible that a bug was
thought to be fixed, tested and closed could reappear. Such bugs are
often called Regressions. It’s possible that a deferred bug could later
be proven serious enough to fix immediately. If either of these occurs,
the bug is reopened and started through the process again.
Most Project teams adopt rules for who can change the state of a bug or
assign it to someone else.For example, maybe only the Project Manager
can decide to defer a bug or only a tester is permitted to close a bug.
What’s important is that once you log a bug, you follow it through its
life cycle, don’t lose track of it, and prove the necessary information
to drive it to being fixed and closed.
|