Software-Terminologie kann im Hinblick auf Software-Testing manchmal verwirrend sein. Testfall, Testskript, Testszenario, Testplan. Sie klingen irgendwie alle ähnlich, haben aber alle unterschiedliche Funktionen und Bedeutungen für den gesamten Software-Entwicklungszyklus. In diesem Zyklus ist das Erstellen und Ausführen von Testfällen der erste von mehreren Schritten innerhalb des Testings und bildet damit den Grundstein dafür, ein letztendlich qualitativ hochwertiges Produkt zu releasen.
Denn mithilfe von Testfällen (eng. Test Cases) wird noch vor dem Release überprüft, ob das Produkt spezifizierte Anforderungen und aufgestellte Qualitätsparameter (z. B. Funktionalität, Usability) erfüllt.
Das Schreiben von Test Cases bereitet insbesondere QA/Test Managern häufig Kopfzerbrechen. Denn Test Cases fordern viel Expertise ab: Sie müssen realistisch, zielgerichtet sein und dabei präzise typische Szenarien sowie Testbedingungen beschreiben. Bei der Erstellung von Test Cases sind dir bestimmt folgende Fragen schon begegnet:
- Was ist mein Ausgangspunkt vom Test Case? Welche Vorbedingungen müssen erfüllt sein?
- Wird der Test Case die benötigten Resultate aufdecken? Was sind überhaupt die primären Bereiche?
- Welche notwendigen Daten werden für eine erfolgreiche Ausführung benötigt?
- Bin ich in der Lage die auszuführenden Schritte und erwarteten Ergebnisse klar und deutlich zu formulieren?
- Ist der Aufbau des Test Cases sinnvoll strukturiert? Weiß der Tester/User worauf es ankommen soll?
- Werden die Test Cases Zeit ersparen, bestehende Prozesse optimieren und damit nachhaltigen Mehrwert stiften?
In vier Schritten werden wir dir erläutern, wie du verständliche Test Cases erstellst und nach dem eigentlichen Testing noch weiter optimieren kannst.
1. Definiere den Test Scope so detailiert wie möglich, dennoch nur so viel, wie nötig
Ganz gleich, ob du Test Cases für externe Crowdtester schreibst oder für deine Tester in der unternehmensinternen QA-Abteilung, mach dir bitte eines klar: Gehe immer davon aus, dass die Tester das Testobjekt das erste mal „begutachten“ und über keinerlei Hintergrundwissen zu dem Testobjekt verfügen. Die wirkliche Kunst des Entwickelns besteht darin, die Testumgebung so vertraut zu machen, dass diese dem Tester intuitiv erscheint, sobald sie diese zum ersten Mal zu Angesicht bekommen.
Achte bitte bei der Ausarbeitung / Vorbereitung des Scopes und deren Test Cases auf folgende Punkte:
- Erkläre in kurzen Worten, worum es sich bei dem Testobjekt handelt. Was kann dieses?
- Hauptfokus: Auf welche Bereiche soll der Tester primär achten?
- Welche Voraussetzungen müssen gegeben sein, um testen zu können? Bedenke dabei auch Aspekte wie z. B. Device, OS, Hardware, Accounts, Zugänge (VPN), Out of Scope, Location
- Vermeide Fachbegriffe und unverständliches Insider-Wording! Formuliere so detailliert wie möglich, dennoch nur so viel, wie nötig!
- Versetze dich in die Lage eines Laien. Prüfe selbst oder mithilfe eines Kollegen, ob dein Test Scope wirklich verständlich geschrieben ist und alle nötigen Aspekte berücksichtigt wurden.
2. Test Cases für jedermann verständlich machen
Bitte beachte beim Ausformulieren von Test Cases für externe Crowdtester oder interne Tester auch folgende Punkte:
- Wähle einen deutlichen Titel, der den Testfall beschreibt.
- Beschreibe den Testfall in einer kurzen Zusammenfassung, um so dem Tester den Einstieg zu erleichtern.
- Gib eine klare Bearbeitungszeit des Testfalles an! Dies ist äußerst wichtig, falls der Testfall innerhalb einer bestimmten Zeit, oder am Stück, ohne Unterbrechung durchlaufen werden muss.
- Gib, wenn nötig, Hintergrundinformationen im jeweiligen Schritt an. Beschreibe was genau und was der Tester im nächsten Schritt zu erwarten hat und welche Auswirkung dies hat.
- Benenne unbedingt die wichtigsten Funktionalitäten des Produktes, die zu 100% funktionieren müssen.
- Baue den Testfall intuitiv und dem Produkt entsprechend auf. Versetze dich in die Lage eines Users: Was genau macht dieser im Normalfall? Spiegelt der Verlauf des Testfalls die spätere User Experience bzw. User Journey realistisch wider?
- Bündel alle wichtigen Testdaten innerhalb des Test Cases und ordne die spezifischen Testdaten den einzelnen Schritten zu. Dadurch verhinderst du Verwirrung und vermeidest, dass der Tester zwischen den einzelnen Schritten hin und herspringen muss. Lass den Tester sich voll und ganz auf die chronologische Ausführung des Testfalls konzentrieren.
- Wichtig: Die einzelnen Schritte des Test Cases und die zu erwartbaren Ergebnisse müssen kurz und verständlich geschrieben sein. Füge lieber einen Schritt mehr hinzu, als dass du einen Schritt mit Informationen unnötig überlädst.
3. Feedback der Tester einholen
Wir können noch so gut vorbereiten und planen, wie wir wollen – letztendlich sind unsere Tester, die Menschen, die den wirklichen Erfolg des Testings bestimmen und damit das Produkt bestmöglich auf den Release vorbereiten. Enger Kontakt mit den Testern und regelmäßige Feedback-Sessions zu neuen und bestehenden Testfällen sind daher ungemein wichtig, wenn du deine Testfälle laufend optimieren möchtest.
4. Review der Testfälle
Nun wurden sorgfältig alle Schritte eingehalten, der Testlauf ist zu Ende, die Ergebnisse des Testings liegen vor und du hast (hoffentlich) sogar das wertvolle Feedback der Tester erhalten. Nimm dir nun die Zeit und besprich deine Ergebnisse mit sämtlichen am Testing beteiligten Personen. Nutze jegliche Art von Feedback und lass dieses in den nächsten Testing-Zyklus mit einfließen, um sowohl Zeit als auch Geld zu sparen und aus möglichen Fehlern zu lernen.
Quality Assurance ist ein andauernder und fortlaufender Prozess. Versuche daher jeden neuen Testzyklus so zu nutzen, dass du die letztendlich beste Version des Testobjekts erhältst. Voraussetzung hierfür ist aber, dass du realistische Testfälle kreierst, die von deinen Testern problemlos durchlaufen werden können.