Brewing Trouble


A checklist for beginning a test might look like this:

Important! Before you begin your test:

  • Make sure all delivered files have the correct version.
  • Set up your test environment to emulate the real-world environment as closely as possible.
  • Ensure the system is in a known state before you begin testing.

Now there's plenty that you might add to this list. Adding a few things specific to your environment would be a good idea. But remember the power of brevity. The more items you add to a list, the more likely someone using the list will inadvertently skip over items, inviting disaster.

When constructing a list like this, try filling in the blanks in these sentences:

  • If anything is going to go wrong here, it's most likely ________________
  • The top three most damaging kinds of failures would be: 1) ____ 2) _____ 3) ______
  • The three most common causes of failures are: 1) ____ 2) _____ 3) ______

The answers to these questions form the basis for your checklist. Let's see how this would apply to the process of releasing software after it has been tested.

  • If anything is going to go wrong here, it's most likely: the software that ships isn't the software that was tested.

The top three most damaging kinds of failures would be:

  1. Shipping a virus.
  2. Failing to install and load.
  3. Breaking other software (e.g., the operating system) on install or uninstall.

The three most common causes of failures are:

  1. Not verifying that the final release matches the last build tested.
  2. Failing to virus-check the final release.
  3. Untested configurations.

About the author

Elisabeth Hendrickson's picture Elisabeth Hendrickson

The founder and president of Quality Tree Software, Inc., Elisabeth Hendrickson wrote her first line of code in 1980. Moments later, she found her first bug. Since then Elisabeth has held positions as a tester, developer, manager, and quality engineering director in companies ranging from small startups to multi-national enterprises. A member of the agile community since 2003, Elisabeth has served on the board of directors of the Agile Alliance and is a co-organizer of the Agile Alliance Functional Testing Tools program. She now splits her time between teaching, speaking, writing, and working on agile teams with test-infected programmers who value her obsession with testing. Elisabeth blogs at and can be found on Twitter as @testobsessed.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!