Sitzungsbasiertes Testen

R 2.0.0

Was ist Sitzungsbasiertes Testen?

Was ist Sitzungsbasiertes Testen?

Ein Testansatz, bei dem die Testaktivitäten als Testsitzungen geplant werden.

Beschreibung

Das sitzungsbasierte Testen zeichnet sich durch eine explorative und informelle Vorgehensweise aus, bei der Tester in Gruppen, sogenannten „Test Sessions", zusammenkommen, um eine Anwendung oder Softwareprodukte zu evaluieren. In diesen Sitzungen werden Tests durchgeführt, und die Ergebnisse werden gemeinsam besprochen. Dieser Ansatz ermöglicht es, verschiedene Perspektiven und Erfahrungen der Tester, Entwickler und Endanwender zu nutzen, um potenzielle Probleme und Schwachstellen in der Software zu identifizieren.

Charakteristische Merkmale

  1. Exploratives Testen:
    Im Gegensatz zu vordefinierten Testfällen, die im Voraus erstellt werden, konzentriert sich das sitzungsbasierte Testen auf exploratives Testen. Die Tester verwenden ihre Fachkenntnisse und Erfahrungen, um die Software auf Schwachstellen zu prüfen, ohne im Voraus genaue Schritte festzulegen.

  2. Test-Chartas:
    Die Tester arbeiten mit Test-Chartas, die (in den meisten Fällen) während einer Testsession erstellt werden. Diese Test-Chartas definieren den Fokus der Testaktivitäten, können jedoch flexibel angepasst werden, um auf unerwartete Entdeckungen während der Testsession zu reagieren.

  3. Testzeit:
    Obwohl die Testsession zeitlich begrenzt ist, (timboxed) wird für die Durchführung einzelner Testfälle keine genaue Zeit festgelegt. Die Tester haben die Freiheit, ihre Zeit auf der Grundlage ihrer Beobachtungen und ihrer Einschätzung der Risiken zu verteilen.

  4. Ad-hoc umsetzbar:
    Die zeitlich limitierten Test Sessions können ad hoc einberufen werden und versetzen dadurch das Team in die Lage z.B. User Stories auch während eines Sprints abzunehmen.

  5. Zusammenarbeit der Tester:
    Die Testsessions sind oft kollaborativ. Tester (und Entwickler) arbeiten zusammen, teilen ihre Beobachtungen und Erkenntnisse und lernen voneinander. Dies fördert einen Wissensaustausch und kann dazu beitragen, eine breitere Palette von möglichen Problemen zu identifizieren.

  6. Dokumentation:
    Jede Testsitzung wird in einem festen und vorab festgelegten Format (session sheet) stichwortartig (elektronisch) protokolliert (Testziel, Angaben über das zu testende System uns seine Umgebung, Angaben zur Vorgehensweise, Testabdeckung, knappe Beschreibung der Funktionalitäten, Oberflächenelemente, die im Test betrachtet wurden, gefundene Fehler, offene Fragen, Unklarheiten etc.). Ziel dabei ist, dass alle derartigen Testprotokolle des Teams elektronisch leicht verdichtet und ausgewertet werden können.

Session-Sheets

Beim sitzungsbasierten Testen hat es sich bewährt sogenannte Session-Sheets zu führen. Diese beschreiben beispielsweise:

Wer …
hat wann …
mit welchen Daten …
auf welcher Umgebung/Browser (…​)
auf welche Weise …
welche Funktion getestet?
Und was kam dabei raus?

Session-Sheets in Jira

Sitzungsbasierte Testsessions kann man auch direkt in einem Werkzeug abbilden:

Eine Möglichkeit ist eine Echtzeitprotokollierung in Jira:

  • In Jira wird z.B. für eine User Story ein Testfall mit einem Namen erstellt, der konkret den Fokus des Tests beschreibt, und mit dieser verknüpft

  • Der Testfall selber bleibt leer. d.h. hier werden keine Testschritte beschrieben

  • Im Testfall kann man für den Test benötigte Dateien hinterlegen, z.B. Testdaten, Konfigurationen etc.

  • Im Ausführungsteil des Testfalls kann man dann die Ergebnisse des Tests erfassen

  • Im Falle einer Abweichung oder eines Fehlers wird ein Bug erstellt, der die konkreten Testschritte enthält und mit dem Testfall verbunden wird

  • Im Ausführungsteil des Testfalls wird zur Dokumentation auch das Session-Sheet verknüpft, oder Screenshots etc. abgelegt

  • Abschließend wird der Test auf den Status "Passed" oder "Fail" gesetzt

Durch die Verknüpfung von z.B. User Stories mit den Testfällen und der Testausführung ist erkennbar, welche User Stories bereits mit welchem Ergebnis getestet wurden.

Eine alternative Vorgehensweise ist die Konzentration der Dokumentation auf gefundene Abweichungen und Fehler. In einem solchen Fall wird kein Testfall erstellt, sondern es erfolgt lediglich eine Erfassung der Abweichung oder des Fehlers inklusive der Testschritte, der Testdaten und aller übrigen notwendigen Informationen, die zur Reproduktion des Fehlers durch den Entwickler notwendig sind. Die Session-Sheets werden an einem für alle zugänglichen Ort abgelegt, die direkte Verfolgbarkeit geht dadurch jedoch verloren.

Timebox

ALT MISSING
Abb. 1: Timebox

Sitzungsbasiertes Testen ist, wie der Name schon ausdrückt, zeitlich auf die Länge der Sitzung begrenzt. Welcher Zeitrahmen sich als praktikabel und sinnvoll erweist, ist von Projekt zu Projekt unterschiedlich. Auch wenn eine Sitzung theoretisch einen ganzen Arbeitstag umfassen oder im Extremfall auch mehrere Tage dauern kann, wird eine Überschreitung der unten genannten Grenzen nicht empfohlen.

  • kurz: 60 Minuten

  • normal: 90 Minuten

  • lang: 120 Minuten

Ablauf und Spielregeln

Hier nochmal der Ablauf einer Testsession:

  • Alle in einem Raum - Exploratives Testen lebt vom Austausch

  • Zum Start der Session erhalten die Tester ein Briefing vom Experten oder dem Entwicklerteam, in welchem die Eckdaten der durchzuführenden Test Session definiert werden

  • Jeder darf sich mit jedem Pairen (Tester/Tester - Tester/Entwickler - Entwickler/Entwickler)

  • Jedes Paar oder jeder Einzelne arbeitet in den Testsessions für sich, aber jeder darf mit jedem reden.

  • Jeder arbeitet im Rahmen seiner im Kick-off vereinbarten Test-Charta.

  • Ideen für neue Tests werden notiert und im Follow-up besprochen.

  • Jeder nutzt alle Testentwurfstechniken, die er kennt.

  • Testfallentwurf und Testergebnisse werden kontinuierlich notiert

Ende der Test Session:

  • Die Tester tauschen ihre Eindrücke aus

  • Aufgedeckte Potenziale zusammenfassen

  • Erkenntnisse fließen an das Entwicklerteam zurück

  • Feedback an Stakeholder geben

  • Bugs erfassen

  • Neue Test-Chartas aus den gewonnenen Erkenntnissen erstellen

  • Lesson Learned 🙂

Versuch macht klug!

Probieren Sie es doch einfach direkt mal aus:

  • Checklisten zu Testverfahren, Touren, Szenarien und Fehlerangriffen

  • Konfigurationsvariationen

  • CRUD (create, read, update, delete)

Quellen

  • Abbildung Uhr: FLATICON, Freepik Company S.L. Autor*in: juicy_fish, abgerufen am 04.12.2024

  • ISTQB Glossary Sitzungsbasierter Test, abgerufen am 19.08.2024

  • Jonathan Bach: Session-Based Test Management, pdf-Datei (174 KB), abgerufen am 01.02.2024

  • Elisabeth Hendrickson: Explore It! Wie Softwareentwickler und Tester mit explorativem Testen Risiken reduzieren und Fehler aufdecken, 2014, dpunkt Verlag

  • M. Baumgartner, M. Klonk, H. Pichler, R. Seidel u. S. Tanczos: Agile Testing - Der agile Weg zur Qualität, 2018, Carl Hanser Verlag

  • Testen in Scrum-Projekten, 1. Auflage 2013; T. Linz; S.124-125