| 1. Bug reports should be recorded in a database that is
managed by a and that is backed up on a daily basis. Each bug report represents the
result of hours, maybe even days of work and is important company data which should be
well protected and well organized. 2. Bug tracking works best in an environment
where there is a daily build. This way testers aren't reporting bugs that have already
been fixed. They are also discovering newly introduced bugs quicker while the code is
still fresh in the mind of the developers that introduced them.
3. When applicable, build numbers should be used to specify what version of
software a bug was found in, what version it was fixed in, and what version a fix was
verified in. Revision numbers of source code modules modified to fix bugs are helpful
notes for developers, but they aren't necessary to coordinate work between test and
development.
4. Bug reports should go through a process that ensures that they aren't closed
if they shouldn't be. Such a process should require that the person who reported the bug
be the one to verify that it has been fixed or to approve any other type of resolution.
The typical bug
report life-cycle would include the following status values: New, Assigned, Resolved,
Verified and Closed, respectively.
5. To keep the bug report life-cycle simple, use a resolution field to specify how problems are
resolved. Possible resolutions include: Fixed, Won't Fix, Not Reproducible, Duplicate,
By Design and External.
6. Avoid using a committee or meeting to triage bugs reports. This will burn a
lot of man hours that could be used fixing bugs. If the schedule dictates a triage, don't
close bug reports in the meeting because this will circumvent the quality process by
sidestepping testers that report bugs. Use the bug triage to reprioritize, postpone, or
resolve as won't fix instead.
7. A bug report should include a step by step description on how to reproduce
the bug. This reduces the amount of time developers have to spend trying to reproduce the
bug before they fix it. Finding the minimal steps to reproduce the bug will save even more
developer time.
8. Don't make bug reporting complicated by requiring entry of more data than is
really necessary. If it's too much work to enter bug into the tracking system, some bugs
won't be entered, or people may start going around the system and begin reporting bugs by
email or word of mouth.
9. Keep track of how bugs are detected. This will help you determine how best to
spend your testing dollars. Suggested choices for a detection method field include:
Interactive Testing, Test Script Execution, Test Script Design, Unit Testing, Beta Testing
and Customer Report. Hopefully the last two choices aren't your most productive ones
(wink). |