...
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
...
Testfallermittlung
Eine Testautomatisierung zielt grundsätzlich auf die Automatisierung von Regressionstestfällen, welche künftig erneut für eine Ausführung im (jeden) Release notwendig erscheinen.
Im Vorfeld der Testautomatisierung bedarf es zunächst einet Ermittlung der Testobjekte und eine Bewertung der Testpriorität, die anhand manuell bereits erfolgreich ausgeführter und als wichtig angesehener Tests erfolgen.
...
Testfallerstellung
Testfälle, für die eine Automatisierung erstellt werden soll, müssen anhand verschiedener Kriterien aus bereits erstellten manuellen Testfällen ermittelt und näher beschrieben werden.
Dabei ist insbesondere die Fähigkeit und Notwendigkeit (wichtig, werden immer wieder gebraucht) der Testfälle zur Automatisierung zu beachten. Die zu verwendeten Kriterien können sich von Automatisierungsprojekt zu Automatisierungsprojekt unterscheiden und müssen zu Beginn des Projektes mit den Beteiligten abgestimmt werden.
...
Testfallaufwandschätzung
Für die Schätzung der Testaufwände, die für eine Testautomatisierung von Testfällen anfallen, sind diverse Aspekte zu berücksichtigen, deren Aktivitäten nachfolgende exemplarisch – jedoch nicht abschließend - aufgeführt werden: Testfallermittlung/ -beschreibung, Testdatenermittlung, Initialtestfälle erstellen, Komponenten (erstellen, programmieren, erweitern bzw. überarbeiten), Grunddaten (Anzahl und Art der betroffenen Masken/ GUI Elemente), automatisierte Testdatenbereitstellung (inklusiv deren Rücksetzbarkeit), Pflege der Testautomatisierung, Erweiterung/ Wartung der Testautomatisierung
...
Testfallautomatisierung
Eine Testautomatisierung wird mit der Methode eines Geschäftsprozesstests – der die einzelnen Prozessschritte so bestimmen soll, dass diese in möglichst vielen Varianten (Ausprägungen) des Geschäftsprozesses Verwendung finden können - geprüft.
Für die in einzelne Prozessschritte unterteilten Geschäftsprozesse werden die notwendigen Eingansparameter bestimmt und die Komponenten erstellt. Letztendlich können unterschiedlichen Geschäftsprozesses - so wie benötigt - aus den Komponenten zusammengesetzt und dann als Testfälle ausgeführt werden.
...
Testfallausführung
Die Ausführung der Testfälle, die im Rahmen einer Testautomatisierung erstellten wurden, erfolgt prinzipiell analog der bisherigen manuellen Vorgehens, das Abarbeiten der einzelnen Testschritte wird jedoch technisch unterstütz.
...
Testfallauswertung
Die Auswertung von ausgeführten automatisierten Testergebnissen erfolgt nach der Durchführung der Tests unter Verwendung eines Qualitätssicherungstools, welches die benötigten Auswertungsfunktionen und -möglichkeiten zur Verfügung stellt.
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. |