Pages

Tuesday, May 17, 2011

Software Testing Classics : Bug Advocacy by Cem Kaner

What is “Bug Advocacy” all about?

The title pretty much says it all (I hope), but let’s take a look at some key excerpts from this 100-page masterpiece to find out more. First the, the premise:
  1. The point of testing is to find bugs.
  2. Bug reports are your primary work product. This is what people outside of the testing group will most notice and most remember of your work.
  3. The best tester isn’t the one who finds the most bugs or who embarrasses the most programmers. The best tester is the one who gets the most bugs fixed.
  4. Programmers operate under time constraints and competing priorities. For example, outside of the 8-hour workday, some programmers prefer sleeping and watching Star Wars to fixing bugs.

A bug report is a tool that you use to sell the programmer on the idea of spending her time and energy to fix a bug.

Motivating the Bug Fixer
Some things that will often make programmers want to fix the bug:

  • It looks really bad.
  • It will affect lots of people.
  • Getting to it is trivially easy.
  • It has embarrassed the company, or a bug like it embarrassed a competitor.
  • One of its cousins embarrassed the company or a competitor.
  • Management (that is, someone with influence) has said that they really want it fixed.
  • You’ve said that you want the bug fixed, and the programmer likes you, trusts your judgment, is susceptible to flattery from you, owes you a favor or accepted bribes from you.

Overcoming Objections Via Analysis of the Failure

Things that will make programmers resist spending time on the bug:

  • The programmer can’t replicate the defect.
  • Strange and complex set of steps required to induce the failure.
  • Not enough information to know what steps are required, and it will take a lot of work to figure them out.
  • The programmer doesn’t understand the report.
  • Unrealistic (e.g. “corner case”)
~SA