I explained what testing is about in my last post. This time, I'm going to breakdown how I did it, so you can help the testers in your life do the same!
Testers are not great at explaining what they do.
I know that was true for me in the beginning. Some reasons for that were:
Many of us learn the domain before we know testing and use that knowledge to instinctively look for bugs without using general patterns.
A lot of testing work is focused solely on interacting with the product in shallow ways and that's much easier to explain.
Our teammates are not sure how to prise the information out either (perhaps because they also struggle to ask powerful questions).
Let's work it through:
Step 1: Understand what problem we're solving for who.
Who even wants this thing that we're building and why?
What problem are we trying to solve?
Who has this problem?
How do they deal with it now?
How does our app solve that problem?
Who builds the app / delivers the service?
How does the app make money for the business?
Step 2: Explore what people value.
At this step, testers often focus on what they can see, buttons, text, forms, fields, etc. But go deeper to understand where the quality is.
Who is impacted if the app breaks?
What features do our customers care about the most?
How does it impact them?
What can't they do if said feature breaks?
Step 3: Derive risks from quality
Risk and quality are two-sides of the same coin. Now we understand what people value, we can much more easily spots threats to that value.
How can this fail?
What is the worst thing that can happen?
When might this fail?
How would we know if a problem occurred?
Who benefits from things going wrong?
By the end of these steps, you should have an idea of what kind of testing is possible to mitigate the risks you've just identified.
Remember, each step builds on the last and more than likely, will cause you to loop back around!