In the last post, we described an example of a process that generates test ideas based on a CRUD bug taxonomy. The idea was from this excellent paper: Bug Taxonomies: Use Them to Generate Better Tests [Vijayaraghavan, Kaner]. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.
Cem Kaner summarizes the meta-rule for elements of a bug taxonomy:
“The goal is to find a nugget that will arise under a wide enough range of circumstances that it is worth including in the list.”
The tester needs to decide what is wide enough based on the context of the application under test.
Context Is A King
To determine wide enough, we first need to determine the application context. The divide and conquer strategy should be applied.
Identify a feature that needs to be tested.
Each feature consists of several functions:
Identify functions that make a feature.
Having functions as our context, identify the list of risks related to those functions. Risk is any outcome of a function that is not desirable. You could use Bach’s Heuristic Test Strategy Model in creating a list of risks.
Cluster risks into primary and secondary categories as a whole team.
When you run out of ideas, it is time to consult Github open source projects.
Use Github’s advanced search to find open source projects in the context of your application under test.
For example, for
Invoice keyword, I found the Invoice Ninja project that currently has 667 open issues. Now you can browse through the Issues page to get fresh risk-related test ideas.