Professional Documents
Culture Documents
What is a bug ?
What is a bug?
Faulty requirements
Unexpected behavior
How to define expectation?
What is a Bug Life Cycle?
and
Assigned Closed
Review Open Test
Deferred
Rejected
Reopened
Status associated with a bug:
New:
When a bug is found for the first time, the software tester
communicates it to his/her Team leader, in order to confirm if that is
a valid bug. After getting confirmation, the tester logs that bug and
the status New is assigned to the bug.
Assigned:
After the bug is reported as New, it comes to the Development
Team which verifies if the bug is valid. If it is valid, Development
leader assigns it to a developer to fix it and a status Assigned is
assigned to it.
Open:
Once the developer starts working on the bug, he/she changes the
status of the bug to Open to indicate that it is being worked upon to
rectify.
Fixed:
Once the developer makes necessary changes in the code and verifies
the code, he/she marks the bug as Fixed and passes it over to the
Development Lead in order to pass it to the Testing team.
Pending Retest:
After the bug is fixed, it is passed back to the testing team to get
retested and the status Pending Retest is assigned to it.
Retest:
The Test lead changes the status of the bug, which is previously
marked with Pending Retest to Retest and assigns it to a tester for
retesting.
Closed:
After the bug is assigned a status Retest, it is again tested. If the
problem is solved, the tester closes it and marks it with Closed
status.
Reopen:
If after retesting the software for the bug opened, if the system
behaves in the same way or same bug arises once again, then the
tester reopens the bug and again sends it back to the developer
marking its status as Reopen.
Pending Rejected:
If the developers think that a particular behavior of the system, which
the tester reports as a bug has to be same and the bug is invalid, in
that case, the bug is rejected and marked as Pending Reject.
Rejected:
If the Test Lead finds that the system is working according to the
specifications & the bug is invalid as per the explanation from the
developer, he/she rejects the bug and marks its status as Rejected.
Postponed:
Sometimes, testing of a particular bug has to be postponed for
an indefinite period. It may occur because of many reasons,
such as unavailability of Test data, unavailability of particular
functionality etc. That time, the bug is marked with Postponed
status.
Deferred:
In some cases a particular bug stands no importance and is
needed to be/can be avoided, that time it is marked with
Deferred status
Thinking about Bug Lifecycle
States in the bug report lifecycle or workflows represents key
players in bug find/ repair
Transition between states represent handoffs between those key
players
Bug ID: This is a unique ID (number generated for the bug at the
time of reporting) which identifies the bug.
Project: Name of the project under which the testing is being carried
out.
Summary: Description of the bug in short, which will help in
identifying the bug.
Description: Detailed description of the bug. It includes the actual
steps performed by the tester for which the application failed. At the
end, the actual results obtained and expected result are mentioned.
Date Detected: Date on which the bug was detected and reported.
Actual Date of Closure: Actual date when the bug is closed. i.e.
date at which the bug was fixed and retested successfully.
Test Case ID: This field contains the ID of the test case as in
the UTC, that failed for the bug.
The Audience for Bug Report
First customer of a bug report is generally the developer/
development manager.
Dev manager needs to assign bugs to appropriate
developer
Developer needs to look at assigned bugs and fix then in
a priority order
Second customer of the bug report is generally the tester who
raised the bug
To provide more information or clarification
Verify the fix if the bug has been fixed
Other Audience
Test Manager
Development Manager
Program Manager
Product Manager
Management Team
Impact of Bad Bug Reports
Developer might flip the Bozo bit for the tester writing
bad bug report
Important problem may not be fixed
Top management may take wrong decision on what to do
with the bug
Problem may not be reproduced
Testers reputation and consequently career growth may
be adversely impacted.
Are Bad Reports a Problem?
Programmers return many bug report as work-as-designed,
irreproducible, no-fault-found, leading to....
Wasted time in writing the report
Frustration for tester and developer alike
Loss of test team credibility
No increase in product quality
Bug reports can be irreproducible due to.
Intermittence
Inconsistent test/development environment
Disputes over correct behavior
But many irreproducible bug reports are simply bad bug reports,
poorly conceived and poorly written
Importance of Good Bug Report
A good bug report
Helps developer to resolve the problem faster
Helps tester (including testers other than who raised the
bug) close the fixed bug faster
Helps top management take fix/ do not fix /defer type
of decision faster
A bug report is window into the mind of a tester. You
should aim at providing the best view through that window.
Ten Steps to a Good Bug Report
Structured: test Carefully
Reproduce: test it again
Isolate: test it differently
Generalize: test it else where
Compare: review similar test result
Summarize: relate test to customer
Condense: trim unnecessary information
Disambiguate: use clear words
Neutralize: express problem impartially
Review: Be sure
Is failure a regression
Change introduces defects not in earlier version
The summary if often the only part of the bug report read
Condense
Eliminate extraneous word or steps
Reread report carefully
Attempting humor
Using sarcasm
Temper tantrums?
Test team should only submit best possible bug reports, given
time constraints appropriate to priority of bug
What do Bug tracking Tool Track?
Bug Tracking Tolls: Database that manage narrative and
classificatory information
Failure Descriptions: Narrative describing observed
problem
Status and Resolution: Narrative describing the steps to
closure and end findings
Version tested, state, severity, priority etc: classifying the
bug
The Failure description
The heart of the bug report
Severity Vs. Priority
Severity: effect of failure Priority: effect of failure on
(immediate or delayed) on user/ customer/ operator
system
1. Complete loss of value
1. Loss of data, hardware 2. Unacceptable loss of value
damage, or a safety issue 3. Possibly acceptable
2. Loss of functionality with reduction in value
no workaround
3. Loss of functionality with a 4. Acceptable reduction in
workaround value
4. Partial loss of functionality 5. Negligible reduction in
5. Cosmetic or trivial value