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:
- Shipping a virus.
- Failing to install and load.
- Breaking other software (e.g., the operating system) on install or uninstall.
The three most common causes of failures are:
- Not verifying that the final release matches the last build tested.
- Failing to virus-check the final release.
- Untested configurations.