Using Questions to Design Software Test Plans
I keep six honest serving-men (They taught me all I knew); Their names are What and Why and When and How and Where and Who.
—Rudyard Kipling
A test plan is a document in which test ideas are captured. I use test plans to capture test ideas before doing any actual testing. I also update the test plan to record my observations and new ideas as I test.
In my view, what’s important isn’t the test documentation, but rather the actual testing that takes place, which means that generating good ideas about what to test is essential. How do you generate test ideas? This article demonstrates one method for generating test ideas: asking the same questions that an investigative journalist would ask.
Why Ask "Why?"
As a tester, I believe that it’s helpful to have multiple methods for generating test ideas. You could conduct a risk analysis or build test cases from use cases. One method that’s particularly helpful to me is simply asking questions. One question leads to the next question and to yet another test idea. Asking questions helps me to achieve multiple goals:
- Traversing an application to learn and understand it
- Discovering test ideas
- Finding application defects
Skilled software testers generate test ideas and have questions forming in their minds even before reading any product documentation. Relying on product requirements as the only method of planning test ideas and building test ideas isn’t thinking analytically or creatively. In fact, in some ways, reading requirements and use cases can stop your creative thoughts, leading you to think only of ideas that run along the same road as the written documentation. If that product documentation is poor or incomplete, your testing may mirror it, coming up short of ideas and leaving product defects intact as you ship product releases. This is why test planning should begin as an analytical and creative process. After the test plan has begun, you can read the product documentation to see whether it resolves your questions or expands your ideas.