Agile / Software-Test / Testmanagement

Explorativer Test – Formen und Varianten des Explorativen Testens

Wie James Bach in seinem Blog schreibt, ist Exploratives Testen (in Folge kurz: ET) ein „mächtiger und Spaß-machender Zugang“ um Tests durchzuführen. Welche Spielarten es dabei gibt, werden wir uns in diesem Artikel genauer ansehen. Ob Kartenspiel, Touristen-Tour oder Freestyle – die hier aufgezählten Verfahren und Varianten erheben dabei keinen Anspruch auf Vollständigkeit. Für den ET gilt auch, dass jede Methode den jeweiligen Projekten angepasst werden soll und muss.

Spiel_740x415

Session Based Testmanagement (SBTM)

SBTM wurde von den Brüdern Jon und James Bach erfunden und in zahlreichen ihrer Projekte erprobt und weiterentwickelt.

SBTM basiert auf sogenannte Sessions, Zeitfenster von rund 90 Minuten. In diesen Sessions werden in einer Planungsphase festgelegte Charters – eine Art Agenda – von den Testern durchgearbeitet. Die während der Session entdeckten Punkte fließen in einem Session Report ein, der in einem Debriefing besprochen wird. Das Debriefing findet dabei zwischen Tester und Testmanager statt, wichtige Punkte aber auch das Bauchgefühl des Testers das Testobjekt betreffend werden hier besprochen.

Anhand der aus dem Session Report und dem Debriefing gewonnenen Erfahrungen können weitere Sessions vereinbart werden oder folgende Charters noch geändert werden. Die Vorteile des SBTM sind

  • flexibler/agiler Ansatz
  • Berichte werden möglichst schlank gehalten
  • Charters können nach jeder Session auf Grund der neu gewonnenen Information geändert werden. Werden etwa neue Risikobereiche entdeckt, können diese in den folgenden Sessions getestet werden, auch wenn ursprünglich eine andere Agenda festgesetzt wurde.

 

Freestyle ET

Die Königsklasse. Es gibt keine Agenda, der Tester testet auf Grund seiner bisherigen Erfahrung bestimmte Bereiche. Für viele Tester die Variante, die am meisten Spaß mit sich bringt. Hier kann der Tester an der Software jede Gemeinheit auslassen, die ihn in den Sinn kommt. Sozusagen die einzige Regel: Es gibt keine Regeln.

Freestyle setzt allerdings ein großes Vertrauen des Testmanagers bzw. des Projektleiters in die Tester voraus. Abstimmungen und Koordination der Tester müssen auch erfolgen, damit Redundanzen vermieden werden und am Ende nicht nur ein Bereich getestet wurde, weil dieser am meisten Spaß macht.

Hier wird am meisten erfahrungsbasiertes Testen verwendet, da es ansonsten keine zu verwendenden Orientierungshilfen für den Tester gibt. Weitere Testmethoden wie Entscheidungstabellen oder Zustandsanalyse können von den Testern eingesetzt werden, wenn sie die Notwendigkeit empfinden.

 

Grobgranulare/fragmentarische Testfälle

Testfälle können mehr oder weniger detailliert beschrieben werden. Sind sie Schritt für Schritt punktgenau beschrieben, lassen sie keine Freiräume mehr und sind nach Michael Bolton ein „non-sapient-process“, nicht mehr als Checking. Und ein non-sapient-process kann ausgeführt werden von

  1. a) einer Maschine. Diese kann nicht selbst denken und keine Entscheidungen treffen, ist aber schnell und präzise. Kennen wir auch unter Automatisierung. Oder
  2. b) einem Menschen, dem man am besten verboten hat, selbst zu denken. Ist langsam und fehleranfällig. Wird oft bei Outsourcing angewendet.

In letzterem Fall braucht der Tester keine Erfahrung, sowohl aber der Designer des Testfalls!

Testfälle können allerdings auch bewusst grobgranularer geschrieben werden. Erstens wird damit Zeit bei der – fehleranfälligen – Testfallerstellung und Wartung gespart und es lässt dem Tester auch mehr Freiraum, Fehler am Rande zu finden. In der Terminologie von ISTQB wären die grobgranularen Testfälle zwischen Testidee und logischen Testfällen anzusiedeln. Grobgranulare Testfälle zählen für viele ET-Tester trotz der explorativen Anteile noch nicht zum explorativen Test.

Fragmentarische Testfälle sind noch unspezifischer als grobgranulare Testfälle und meist auf Ebene der Testideen anzusiedeln. Die genaue Unterscheidung ist für die Praxis allerdings nicht relevant und projektspezifisch zu regeln.

 

Touristen Touren

James A. Whittaker beschreibt in seinem Buch „Exploratory Software Testing, Tipps, Tricks, Tours, and Techniques to Guide Test Design“ verschiedene Touren durch die Software. Etwa die Guidebook-Tour bei der ein Benutzerhandbuch als Reiseführer verwendet wird. Der Test erfolgt ganz genau nach dem Reiseführer, jede Abweichung wird gemeldet. Denn letztendlich ist entweder die Software oder das Benutzerhandbuch falsch. Whittaker verwendet hier die Analogie zu einem Reiseführer, der dem unbewanderten Touristen in einer neuen Stadt die besten Hotels, Lokale etc. vorschlägt ohne sich aber zu sehr in Details zu verlieren.

Eine weitere Tour ist zum Beispiel die All-Nighter-Tour. Wie so mancher die ganze Nacht durchfeiert, bleiben in dieser Tour Files geöffnet, werden verschoben, es wird nicht gespeichert, usw. Dabei wird die Anwendung auch über Nacht nicht geschlossen, daneben andere Touren durchgeführt.

Museum-Tour, Couch-Potato-Tour, Supermodel-Tour… Alle der Touren hier aufzuzählen sprengt den Rahmen.

 

Karten

Dabei werden Karten der Software oder davon, was die Software leisten soll, erstellt. Die Grundlage dafür können ganz unterschiedliche Informationsquellen sein wie etwa User Storys, Szenarien, Use Cases, (zusammenhängende) Anforderungen, Architekturdiagramme, Risikobereiche, Qualitätskriterien und vieles mehr. Diese Karten können auch gemischt werden zu einer völlig neuen Karte, an Hand derer dann getestet wird. Und wie bei jeder Karte können Wege durch die Karte aufgezeichnet und dadurch die Abdeckung gemessen werden. Diese Methode lässt sich auch mit vielen anderen Methoden kombinieren und kann auch für die klassische Testfallerstellung als Orientierungshilfe dienen.

Hier haben wir die gängigsten Varianten des Explorativen Tests kennengelernt. Jeder der Varianten muss aber zum Projekt passen bzw. an das Projekt angepasst werden.

 

Passende Artikel

Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*