Erfahrungsbasiertes Testen
R 2.0.0
Beschreibung
Das erfahrungsbasierte Testen nutzt die Erfahrung von Testern, Entwicklern und (Fach-)Anwendern zur Ableitung der Testfälle, Testbedingungen und Testdaten. Verwendet wird auch die Kenntnis über die erwartete Nutzung der Software, ihrer Umgebung sowie wahrscheinliche Fehlerzustände und deren Verteilung im Testobjekt. Insbesondere als Ergänzung zu systematischen Testverfahren können erfahrungsbasierte Ansätze ihre volle Wirksamkeit entfalten.
Bei erfahrungsbasierten Testverfahren steht das Können, die Intuition und das Fachwissen im Vordergrund. Zum Beispiel:
-
Die Erfahrung mit ähnlichen Applikationen und Technologien
-
Fehlersammlungen/Fehlermodelle zu den verwendeten Technologien bzw. Programmiersprachen
-
Kenntnis von Vorgängersystemen und deren Schwächen
-
Kenntnis über die Rahmenbedingungen der Softwareentwicklung z.B. Komponenten, die unter starkem Zeitdruck erstellt werden
Bei den spezifikationsbasierten und strukturbasierten Testverfahren gibt es bestimmte Techniken (siehe auch Testentwurfsverfahren), die man als eine "Schritt-für-Schritt-Anleitung" anwenden kann, um Testfälle zu erstellen. Das heißt, wenn unterschiedliche Tester die Techniken gekonnt auf dieselben Anforderungen anwenden, werden sie auf die gleichen Testfälle kommen.
Erfahrungsbasierte Testverfahren
Intuitive Testfallermittlung
Häufig können Tester aufgrund ihrer Erfahrung bestimmte Fehler erahnen. Bei der intuitiven Testfallermittlung erstellen die Tester intuitiv im ersten Schritt eine Liste möglicher Fehlerzustände. Darauf basierend werden dann Testfälle entworfen, die auf diese Fehlerzustände abzielen.
-
Erstellen einer Liste mit möglichen Fehlhandlungen, Fehlerzuständen und Fehlerwirkungen, um daraus Tests abzuleiten.
-
Diese Liste wird erstellt aufgrund von
-
Erfahrungen
-
Informationen über Fehler
-
allgemeiner Kenntnis darüber, warum Software fehlschlägt
-
Exploratives Testen
Beim explorativen Testen startet der Tester fast ohne vorherige Vorbereitung mit der Testdurchführung.
-
„Die einfachste Definition von explorativem Testen ist Lernen, Testfallerstellung und Testfallausführung gleichzeitig.“ - James Bach
-
Ein Testansatz, bei dem die Tests dynamisch entworfen und ausgeführt werden, basierend auf Wissen, der Erkundung des Testelements und den Ergebnissen früherer Tests.
Checklistenbasiertes Testen
Checklistenbasiertes Testen ist eine etwas formellere Variante des explorativen Tests. Es wird eine Liste von Kontrollpunkten genutzt, welche beachtet, überprüft oder beim Testen in Erinnerung gerufen werden muss. Alternativ nutzt man eine Menge von Regeln und Kriterien, gegen welche das zu testende Produkt verifiziert werden muss.
ISTQB definiert dieses Vorgehen als „ein erfahrungsbasiertes Testentwurfsverfahren, bei dem der erfahrene Tester eine Liste von Kontrollpunkten nutzt, die beachtet, überprüft oder in Erinnerung gerufen werden müssen, oder eine Menge von Regeln oder Kriterien, gegen die ein Produkt verifiziert werden muss.“
Der Entwurf der Checklisten basiert auf Erfahrung, Know-How sowie Fehlerverständnis bezüglich des Testobjekts und bietet als Hilfestellung insbesondere für wiederholbare Aktionen einen strukturierten Ansatz, mit dem verhindert wird, dass wichtige Elemente übersehen werden.
Nachvollziehbarkeit und Effizienz können gesteigert werden und die Checklisten kombinieren auf diese Weise den flexiblen sowie ansatzweise formellen Charakter bei den erfahrungsbasierten Tests.
Angefügt befindet sich ein mögliches Beispiel für den GUI Test einer typischen Login-Seite:
Testobjekt | Inhalt | Erledigt |
---|---|---|
Login-Seite |
Ist das Logo an der richtigen Stelle gemäß Anforderungen? |
|
Wird der Kopfzeilentext korrekt angezeigt? |
||
Akzeptiert das „Benutzername/E-Mail-Feld“ gültige Eingaben? |
||
Wird eine Fehlermeldung bei ungültigen Eingaben im „Benutzername/E-Mail-Feld“ ausgegeben? |
||
Wird das Feld „Passwort“ korrekt angezeigt? |
||
Erscheint bei Eingabe falscher Passwörter eine Fehlermeldung? |
||
Werden Fehlermeldungen in der spezifizierten Farbe angezeigt? |
||
Wird der Text der „Anmelden“ Schaltfläche korrekt angezeigt? |
||
Ist die „Anmelden“ Schaltfläche anklickbar und funktioniert? |
||
Wird der Text des Links „Passwort vergessen“ korrekt dargestellt? |
||
Funktioniert der Link „Passwort vergessen“ auf die spezifizierte Weise? |
||
Wird der Text des Links „Neues Konto erstellen“ korrekt dargestellt? |
||
Funktioniert der Link „Neues Konto erstellen“ auf die spezifizierte Weise? |
||
… |
Sitzungsbasiertes Testen
Eine höhere formale Stufe des erfahrungsbasierten Tests ist das sitzungsbasierte Testen. Mithilfe einer vorbereiteten Test-Charta, Session Sheets sowie zeitlicher Begrenzung werden in den Testsitzungen Erkenntnisse gewonnen und reproduzierbar erfasst.
Vor- und Nachteile des erfahrungsbasierten Testens
Das erfahrungsbasierte Testen ist eine schnell einsetzbare und flexible Möglichkeit Software zu testen und eignet sich hervorragend, um im agilen Umfeld Test-Aktivitäten in den Entwicklungszyklus hineinzunehmen. Die einzige Voraussetzung ist, dass genügend Erfahrungswissen verfügbar ist. Diese Tests lassen sich zumindest stichwortartig, oder anhand einer Testcharta, was Ihre Durchführung und Ergebnisse betrifft, dokumentieren und sind daher genauso Teil des Testvorgehens und auswertbar wie alle anderen Testaktivitäten auch.
Dennoch gibt es auch Nachteile beim erfahrungsbasierten Testen. Das Vorgehen verführt oft zu Nachlässigkeiten, was die Dokumentation betrifft. Dann wird es schwierig, die Ergebnisse des Tests zu reproduzieren und die Kommunikation mit der Entwicklung beispielsweise wird erschwert. Darüber hinaus haben die Fachexperten oft einen vollen Terminkalender und sind nicht so zuverlässig einplanbar wie etwas automatisierte Unit- oder Fachtests. Dann braucht man einen Plan B.
Insgesamt kann das erfahrungsbasierte Testen ein wertvoller Bestandteil der jeweils eingesetzten Testmethodik sein, aber es sollte nicht als Ersatz für formale Methoden verwendet werden. Ein optimales Testvorgehen wird daher darin bestehen beide Verfahren miteinander zu kombinieren, sodass sich Stärken und Schwächen gegenseitig aufheben.
Quellen
-
Abbildungen Anwendungsbeispiel: FLATICON, Freepik Company S.L. Autor*in: juicy_fish, abgerufen am 27.11.2024
-
ISTQB Glossary erfahrungsbasierter Test, abgerufen am 19.08.2024
-
German Testing Board, ISTQB Certified Tester Lehrplan Foundation Level, Version 4.0.1a, 2023, abgerufen am 12.12.2024
-
Qcademy UG, Ein Überblick über Software Testing Methoden, abgerufen am 12.12.2024