Session based testing
Actually I wanted to write this way earlier, but things like the stomach flu make you suddenly forget about writing…
Anyway, enough wallowing in self-pity:
I attended a local testing event called testing with a stranger these days. It was organized by the JUG Ostfalen and featured Markus Gärtner presenting the basic outlines of session based testing. Presenting is probably the wrong verb here as Markus had all participants actively testing. Overall it was quite impressive how many bugs about 30 people found in two hours. So these are the notes I took, feel free to correct me where you think it’s appropriate.
Session based testing is a structured way of exploratory testing. The latter combines test design, test execution and test based learning into one simultaneous action. Or in other words: Think while you are testing and learn from it.
Session based test management is based on four principles:
- Time box
- Testcharter
- Notes
- Debriefing
Time box: Every session is limited to a certain period of time, usually 30 to 120 minutes, where the tester focusses on a certain part of the software.
Test-charter: This is about the testing focus. Define beforehand what you will be looking at. This includes the given time box, your point of emphasis (getting to know the software, testing a certain aspect, bug retesting, those kind of things), the test environment, the type of report. This is just a rough outline, add whatever suits your needs here. A useful linguistic pattern is: explore {GOAL} with {TOOLS, UTILITIES} to {GAIN INFORMATION}.
Notes: This could be anything that is useful for the tester, ranging from mind maps over session recordings to old bug reports.
Debriefing: A debriefing follows every session and should include the awkward acronym PROOFLA (but hey, while I total forgot whose idea it was, the acronym stuck…):
- Past: What did you do?
- Results: What did you achieve?
- Obstacles: What got in your way?
- Outlook: What should be done next? Is there anything needing more investigation?
- Feelings: What are your feelings towards the session?
- Learnings: What did you learn?
- Adaptions: What should be changed about the session and/or your approach?
The less experienced testers are with session based testing, the more important proper debriefing gets.
Conclusion: I really like this approach as it puts the focus back on the user. From what I get some people think lowly on this approach and heavily favor automated testing. Something I disagree with. I don’t think it is a “either or” situation but rather a “and” one as both types of testing complement each other perfectly.
If you want to dip deeper into session best testing, have a look here.