TL;DR
Now that we explored simple explanations for heuristics and oracles with examples let’s see Elizabeth Hendrickson’s ideas on how to create charters for exploratory testing. This is a part of the Exploratory Testing Pathway. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.
Variety And Perspectives
When you start with exploratory testing, the first problem you encounter is how to define useful charter for exploratory testing sessions? A charter gives you a scope for the exploratory testing duration. You test part of the application using a different testing approaches for a defined time duration.
A good tester can look at software under test from multiple perspectives. Doing that, different testing techniques would emerge. For example, using counter strings for finding issues with text input string is just one approach. Elizabeth suggests more approaches.
Sequence Of Actions
With a music sequencer, you can record music in a quite number of different sequences of keystrokes.
Tip. When the application interface has many buttons, input boxes, and checkboxes, it is time to vary the sequence of actions.
Timing
As in the previous example, when you have a lot of input elements, vary the time needed to input a sequence of input elements.
Diagrams
You are lucky enough, and your team has created several diagrams as help in developing features for the application under test. This could be a state diagram, data flow diagram, use case diagram, or diagram that only exists in the context of your project. Those diagrams could be a great source of different angels on the application under test. For example, in the diagram above, try to open/close the door sequence 20 times. Or close the already closed door. You get the picture.
Personas
Get into role play and try to find out or think of the type of users of the application under test. Maybe your application’s most frequent users are newly married couples.
Data
Data relations are very important. They are represented with diagrams that come very handy in creating test ideas. If I delete a blog post, what would happen with all post comments?
Focus
With these test idea generators, you will realize very quickly that there is an infinitive number of possible tests. In exploratory testing, we need focus, and we have focus through charters area. Charters are defined as the area of the application under test, who is an interested party, and the type of vulnerability that is important. With those three pieces of information, we chan sample software testing techniques and get more focus for our exploratory testing session.
Conclusion
Different angles on the application under tests are a great tool for creating charters. Do not hunt just for errors and bugs. Also, try to do very unusual happy flows with the application. To sample from an infinitive number of possible exploratory test, create charters where each charter is defined with three parameters:
- Who Is Interested Party
- What Is Vulnerability
- Application Area