In Jerry Weinberg and Don Gause’s Exploring Requirements, there’s a set of context-free questions to ask about a product or service. The authors call them context-free questions, but to me, many of them are more like context-revealing questions.
In the Rapid Software Testing class, the participants and the instructors make discoveries courtesy of our exercises and conversations. Here’s a list of questions that come up fairly consistently, or that we try to encourage people to ask. Whether you’re working with something new or re-evaluating your status, you might find these questions helpful to you as you probe the context of the test project, your givens, and your mission.
I leave it as an exercise for the reader to link these questions to specific points in the Heuristic Test Strategy Model and the Satisfice Context Model.
- Is it okay if I ask you questions?
- Who is my client?
- Are you my only client?
- Who is the customer of the product?
- Who are the other stakeholders?
- What is my mission?
- What else might be part of my mission?
- What problems are you aware of that would threaten the value of this product or service?
- Do you want a quick, practical, or deep answer to the mission or question you have in mind?
- How much time do I have?
- How long before the next release or deployment?
- How long before the end of this testing or development cycle?
- When do you want reports or answers?
- How do you want me to provide them? How often?
- When were you thinking of shipping or deploying this product or service?
- What else do you want me to deliver?
- How do you want me to deliver it?
- This thing I’m testing… could I have it myself, please?
- Is there another one like it?
- Are there more than that?
- Is that all there are?
- How is this one expected to be the same or different from the other ones?
- Here’s what I believe I see in front of me. What else could it be?
- Here’s what I’m thinking right now. What else might be true? What if the opposite were true?
- Could you describe how it works?
- Could you draw me a diagram of how it works?
- How would I recognize a problem?
- I think I’m seeing a problem. Why do I think it’s a problem? For whom might it be a problem?
- What does this thing depend upon?
- What tools or materials were used to construct it?
- Who built this thing?
- Can I talk to them?
- Are they easy to talk to? Helpful?
- Have they ever built anything like this before?
- Is there anyone that I should actively avoid?
- Who else knows something about this?
- Who’s the best person to ask about this?
- Who are the local experts in this field?
- Who are the acknowledged experts, even if they don’t work here?
- Has anyone else tested this?
- Can I see their results, please?
- Who else is on my test team?
- What skills and competencies are expected of me?
- What other skills and competencies can be found on the test team? Elsewhere?
- What skills and competencies might we be lacking?
- What information is available to me?
- Is there more information available?
- Where could I find more information? Is that the last source you can think of?
- In what other forms could I find information?
- Is that all the information there is? Is there more? Are there more rules? Requirements? Specifications?
- If information is in some way wanting, what can I do to help you discover or develop the information you need?
- What equipment and tools are available to help with my testing?
- What tools would you like me to build? Expect me to build?
- Is there some data that is being processed by this thing?
- Can I have some of that data?
- Can I have a description of the data’s structures?
- What are your feelings about this thing?
- Who might feel differently?
- How might they feel?
- What do customers say about it?
- Can I talk to the technical support people?
- (How do I feel about this thing?)
- Who can we trust? Is there anyone that we should distrust?
- Is there anything that you would like to prohibit me explicitly from doing?
- Are there any other questions I should be asking you?