Testkonzept - Testfallautomatisierung
Testautomatisierung steht für die Entlastung der Tester von manuell durchzuführenden Testaktivitäten. Dies kann einerseits die automatisierte Eingabe von Daten sein, die zur Abarbeitung eines Testfalles notwendig sind oder auch die vollautomatisierte Abarbeitung von mehreren Testfällen.
...
Aus organisatorischer Sicht ist es notwendig, dass für automatisierte Tests eine separate Benutzerkennung genutzt und protokolliert wird.
Unter Testautomatisierung ist die Verwendung eines Softwarewerkzeuges unter definierten Vorbedingungen zur maschinellen Durchführung oder Steuerung von Testaktivitäten zu verstehen und diese anschließend danach mit den erwarteten Testergebnissen zu vergleichen (Soll/Ist-Vergleich). |
Eine Durchführung von automatisierten Tests kann prinzipiell parallel in derselben Testumgebung durchgeführt werden, in der auch manuelle Tests durchgeführt werden.
...
Für eine Testfallautomatisierung ist es weniger wichtig, dass möglichst viele Varianten des gleichen Workflows mit unterschiedlichen Daten beschrieben werden sondern vielmehr eine Beschreibung von unterschiedlichen Workflows. Die Ausführung von Tests mit verschiedenen Daten sollte von daher erst bei der Zusammenstellung der Testfälle beschrieben werden.
Die folgenden Aktivitäten können grundsätzlich toolunterstützt durchgeführt werden |
» Testfallerstellung |
» Testdatenerstellung |
» Testskripterstellung |
» Testdurchführung |
» Testauswertung |
» Testdokumentation |
Exkurs Regressionstest
Unter einem Regressionstest versteht man die Wiederholung von Testfällen, um Auswirkungen von technischen Anpassungen (Pflege, Änderungen, Erweiterungen und Korrekturen in bereits getesteten Bereichen einer Software zu prüfen.
Initialaufwand einer Testfallautomation
Methodische Testfallermittlung | Applikationsanalyse |
Erstellung Datenbankmodell/ Regelmatrix | |
Abstimmungen mit Fachbereich(en) | |
Definition und Koordination Vertragsdatenbereitstellung | |
Testautomation | Konzeption Testautomation mit zentraler Testdatenhaltung |
Erstellung Testskript / Framework zur Testdatensteuerung | |
Ergebnisverifikation | |
Regressionstest |
Workflow einer Testautomatisierung - Aufgabenverteilung
...
Kriterien zur Auswahl von zu automatisierenden Testfällen
Kriterium | Beschreibung |
Stabilität Testobjekte | Eine Automatisierung ist wirtschaftlich und aus Testsicht nur in den Systemteilen sinnvoll, die eine hohe Anwendungsreife (d.h. es werden keine großen Systemänderungen erwartet) sinnvoll. |
Release Planung | Für Funktionen, die in einem kommenden Release entfernt oder umfangreicher geändert werden sollen, lohnt sich unter dem Aspekt einer Return-Of-Invest (ROI) eine Testfallautomatisierung nicht. |
Testdaten | Testdaten müssen ausschließlich einem automatisierten Test zugeordnet werden können. Eine Störung durch parallele Nutzung der Testdaten im manuellen Test muss daher durch geeignete Maßnahmen verhindert werden können. |
Testumgebung | Eine automatisierte Ausführung von ausgewählten Tests erfordert die Verfügbarkeit einer geeigneten Testumgebung. |
Testfokus | Testfallautomatisierungen sind insbesondere für Funktionstest oder Funktionskettentest - mit Einschränkungen auch für einen User Acceptance Test - geeignet. |
Drittsysteme | In Drittsystemen werden oft eigene Daten vorgehalten. Dadurch wird es erschwert, dass über alle Systeme konsistente Daten für eine Testfallautomatisierung zur Verfügung stehen können.
Von daher sind die Testfälle für eine Testfallautomatisierung so auszuwählen, dass die Anzahl der notwendigen Drittsysteme möglichst gering gehalten wird. |
Testfallermittlung | Methodisch ermittelte Testfälle eignen sich (aufgrund einer allgemein höheren Qualität) grundsätzlich eher zur Testfallautomatisierung als intuitiv ermittelte Testfälle.
Dennoch kann es vorkommen, dass auch intuitiv ermittelte Testfälle von sehr guter Qualität sind und sich damit auch für eine Testfallautomatisierung eignen. |
Manuelle Ausführung | Um eine Reife für eine Testfallautomatisierung nachzuweisen, muss ein Testfall bereits manuell erfolgreich getestet worden sein.
In diesem Zusammenhang sollte eine Risikoanalyse durchgeführt werden. Bevorzugt sind die Testfälle zur Automatisierung auszuwählen, die bei hoher Kritikalität eine möglichst niedrige Komplexität (Komplexitätsbewertung) aufweisen. |
Genauigkeit der Testfallbeschreibung | Eingabeparameter und erwartete Ergebnisse von Testfällen, deren Testfalldurchführung automatisiert werden soll, sind so genau zu beschreiben, dass eine fachfremde Person ohne Fachwissen die Testfälle ausführen könnte.
Je höhere die Detaillierung von Testfallbeschreibungen ist, umso mehr wird die Testfallautomatisierung erleichtert. |