"As usual, Joe asks great questions!"
I was flattered. It really pleases me when I hear that about anyone on my team, as I consider that a very high compliment for a tester. One of the principal causes of software bugs is miscommunication, and asking great questions is one way (perhaps the best way) to prevent bugs before they make their way into code.
Ask All of the Stakeholders
- Is this what we need?
- What is the relative priority of this work versus all other work I may have?
- What problems are you seeing?
- What is most important to you?
- What does X mean?
- What is missing here?
- What should happen if I do Y?
- Which of these features are "musts", and which are "nice to have"?
- What is the expected volume of this system?
- What are the performance needs?
- In what environments (OS, Browser, database, etc) must this system execute?
- Into which locales/languages will this system be released?
- Are there any standards (corporate, UI, legal, etc) that are relevant?
- What are the security requirements?
- What are the milestones?
- When must this system ship?
- Is there any room for slippage?
- How accurate must my schedule estimates be?
- When do I expect to receive each feature?
- How quickly must I determine if a build is testable?
- What is claimed in writing about this system?
- What examples are written?
- What is suggested for users to try first?
- How extensive will your unit testing be?
- Are you using any new technology?
- What worries you about this system under test?
- Are there any other tests you would like to see performed?
- Are you getting what you need from me?
- How detailed should my Test Plan be for this system?
- How much of my testing should be written into Test Case?
- How can I best take advantage of Test Automation here?
- Where are the boundaries in this system?
- How do I make this error message appear?
- Is this a bug, or is my test invalid?
- What's the simplest, most straightforward way to reproduce this bug?
- Is this bug report clear enough for the intended audience?
- What happens if I try this again, in a slightly different way?
- What would a new user do here? Whould an experienced user do anything differently?
- In what order should I execute my tests, so as to give the most important feedback first?
- What else should I test now?
- What tests haven't I tried yet on this system?
- What can I do today that would have the most significant positive impact on quality?
- What do I need to learn, in order to be effective in testing this system?
- What do I need in my test lab to be successful?
- Do I have enough help?
- Am I proceeding on a path that will complete on time?
- Do you have any advice or tips on testing this system?
- When you tested a prior version of this system (or one like it), how did it go?
- Who does what?
- How often will we meet?
- What do we need to do to communicate effectively during the project?
- How am I doing?
- Am I spending my time wisely?