testing.com > Testing Craft > Techniques (Handling Bugs) > Failure Improvement

Search

Failure Improvement

Created and summarized by Brian Marick.

Here, I'm talking about what many people call "fault isolation" or "defect isolation". I think failure improvement is a better term. The process begins when you observe a failure of the program. It ends with other observed failures that enable you to write better bug reports. "Better" can mean several things:

Why bother with this? - Individual failures are easier for everyone to handle. If you reported the intermingled failures, two developers might have to work simultaneously on the same bug report. When is the single bug report really fixed? What if the development manager decides that only one of the problems is worth fixing for this release? How do you keep track of what's been fixed and what's still pending?

Why bother with this? - Developers are quite likely to discard your bug report if they can't reproduce the failure on the first or second try. If they consistently have trouble reproducing the failures you report, they will "flip the bozo bit" on you - decide that everything you say is poorly thought through. Unfair, perhaps, but that's the way it works.

Why bother with this? - The developer spends less time thinking about irrelevant steps or data, so she fixes the bug faster. A developer's time is usually worth more than yours, so it makes sense for you to spend time saving her some. It is important, however, to avoid simplifying the problem beyond the point where it saves the developer time. Understanding what "simple enough" means is one of the things you learn as you work on a product and with particular developers.

Why bother with this? - The more general your description, the quicker the developer can find the problem. Moreover, developers sometimes fall into the trap of fixing a particular symptom instead of the underlying cause. They look at the problem too narrowly. By generalizing, you help them avoid that.

Why bother with this? - At some point in your project, people will be sleep-deprived and desperate. Don't expect people in "crunch mode" to imagine the potentially world-shattering consequences of your seemingly innocuous failure. Demonstrate them.

Case Studies

Readings


Related Testing Craft Pages


Be the first person to add a comment in the Wiki Forum at page FailureImprovement.
(The Forum is explained in its FrontPage.)


Summarized Discussion

In this spot, the author of this page will occasionally summarize the discussion in the Forum.