Was sind explorative Tests?
In explorativen Tests (engl. exploratory tests) werden nicht vordefinierte Tests während der Testdurchführung dynamisch entworfen, ausgeführt, aufgezeichnet und ausgewertet. Die Auswertung der Testergebnisse wird genutzt, um mehr über die einzelnen Komponente oder das System zu erfahren und um die Tests für die Bereiche zu vertiefen, die mehr Tests erfordern.
Warum explorative Tests?
Die meisten Software-Qualitätstests verwenden einen strukturierten Ansatz. Die Testfälle werden auf der Grundlage bereits definierter User Stories definiert und die Testdaten werden auf der Grundlage der definierten Testfälle strukturiert.
Was dabei oft übersehen wird, sind Randfälle, die durch User Acceptance Testing (UAT) entdeckt werden und auf der Grundlage von User Personas getestet werden. Auf der anderen Seite sind explorative Tests zufällig und unstrukturiert und können Fehler aufdecken, die sonst unentdeckt bleiben würden.
Ausführung
Exploratives Testen wird manchmal mithilfe von sog. sitzungsbasiertem Testen (session-based testing) durchgeführt, um die Ausführung zu strukturieren. Hier werden explorative Tests innerhalb eines definierten Zeitfensters durchgeführt und der Tester nutzt eine Test-Charta, also eine Anweisung von Testzielen und möglichen Testideen wie getestet werden soll.
Sog. Sitzungsblätter (Session-Sheets) können verwendet werden, um die ausgeführten Schritte und Ergebnisse zu dokumentieren.
Wann sollten explorative Tests eingesetzt werden?
- es gibt wenig oder ungenügend Spezifikationen für das Testen
- es gibt einen besonderen Zeitdruck für das Testen
- um formalere Testverfahren zu ergänzen
- wenn es für ein Produkt oder eine Anwendung schnelles Feedback geben muss
Wann sollten explorative Tests NICHT eingesetzt werden?
- Tests müssen bestimmte Vorschriften einhalten
- aus rechtlichen Gründen müssen bestimmte Checklisten und Vorgaben befolgt werden
- für Accessibility Testing, da es hier ebenso bestimmte Standards zu verfolgen gibt