How To Define Effective Charter For Exploratory Testing — Tentamen Software Testing Blog

Image for post
Image for post
Elixir Ecto Many To Many Relation

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.

Image for post
Image for post
Image by screamingeve from Pixabay

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

Image for post
Image for post
Source: Wikipedia

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.

Image for post
Image for post
Image by Mabel Amber from Pixabay

Data

Image for post
Image for post
Elixir Ecto Many To Many Relation

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:

  1. Who Is Interested Party
  2. What Is Vulnerability
  3. Application Area

Originally published at https://blog.tentamen.eu on October 6, 2020.

Written by

Founder of Tentamen, software testing agency.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store