In the last post, we tried to explain secret mind mapping mechanics that help us in software testing. Today we describe 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.
CRUD Bug Taxonomy
We will describe the process of generating test ideas from the CRUD bug taxonomy. CRUD is an acronym for Create, Retrieve, Update, and Delete an Object, and it is prevalent in any type of application that handles data.
To have a successful test idea brainstorming session, the group should consist of Test Lead, Testers, and Recorder. The test lead should have done several brain sessions before. Testers could have junior testers. The recorder does not have to be a tester.
Test Lead is the session facilitator. Test lead presents System Under Test, bug taxonomy, and keeps the group focused during the session.
Testers are idea generators by asking What if questions. What if in the Create category for Invoice, the tester using
curl enters attribute that Invoice does not support.
Recorder notes test ideas on paper or using an application. Each idea has to follow bug taxonomy categories. The above test idea should be noted under
Invoice => Create => not supported attribute.
This is an essential guideline in exploratory testing. Set that each session should be 30 minutes long. This helps the team to take a break and to keep the session focused on the bug taxonomy category.
Test lead sets bug taxonomy category and asks how System Under Test could fail for this category and starts the timer. Testers present their ideas unit time outs or test ideas are depleted.
Tester audit existing test plan based on generated test ideas. They fill the test plan to fill the gaps.
The test lead is using test ideas and the process to train new testers in the team.
Testers could use this test ideas list to get familiar with the new application, or if they are stuck with generating new ideas, use this list as an example of how to generate test ideas.
This is an example of how exploratory testing is not ad hoc, but a structured process that helps us to generate test ideas in the context of the system under test.