Das Vorgehen zur Erstellung von automatisierten Tests
29.09.08 by Oliver Hösli
Erfolgreiches, automatisiertes Testen setzt voraus, dass professionell entwickelte, den Ansprüchen genügende Testvorgaben und Testscripts jederzeit für das aktuelle System nachgeführt zur Verfügung stehen. Testen und speziell automatisiertes Testen will aus diesem Grund geplant und die Vorgaben entsprechend „entwickelt“ werden, soll damit ein messbarer Nachweis der Qualität von Projektergebnissen erbracht und langfristig Entwicklungskosten gesenkt werden.
Dank professionellem, methodischem Erarbeiten der Testvorgaben und der Testprogramme, den „Testscripts“, kann die Qualität über das einzelne Projekt im Unternehmen hinaus, langfristig, nachhaltig sichergestellt werden und dank Automatisierung können spätestens im nächsten Projektrelease Kosten gesenkt werden.
Gute Testverfahren, Testwerkzeuge und Testmanagementumgebungen zur Unterstützung gibt es am Markt. Doch nur in Kombination mit dem richtigen Prozess zur Erstellung der Testvorgaben und Testscripts ermöglichen sie IT Abteilungen, die Qualität ihrer Software mit hoher Effizienz sicherzustellen.
Testvorgaben und Testscripts erstellen
Im Rahmen des Entwicklungsvorgehens, beispielsweise auf Basis eines V-Modells, wird das Testen in mehreren Testphasen sauber abgehandelt. Die Erarbeitung des Testinputs, welche Projektanforderung, in welcher Entwicklungsphase auf welche Art in den jeweiligen Tests überprüft werden, bedarf aber eines eigenen Prozesses. Es muss klar festgelegt sein, wer, wie, methodisch aus den Testrequirements die benötigten Testvorgaben und Testscripts erarbeitet. Das V-Modell selbst legt nur fest, dass zu einem bestimmten Zeitpunkt etwas erfolgreich getestet wird.
Die beste Antwort auf diese Anforderung ist ein eigener Subprozess für die Erarbeitung der Testvorgaben. Dieser beinhaltet die Festlegung des Testansatzes, die Erstellung der Testszenarien und Scripts sowie die Bewertung der Ergebnisse im Kontext des Entwicklungsvorgehens.
Werden Tests dann auch noch automatisiert, beinhaltet das Ergebnis dieses Subprozesses eine Reihe von Testscripts, also Testprogramme. Wie für jede Art von Programmentwicklung ist es deshalb sinnvoll, für die Erstellung der Testscripts ein eigenes, pragmatisches V-Modell anzuwenden. Die automatisierten Tests für die Applikationen werden damit methodisch entwickelt, überprüft und bewilligt. Bevor sie zur eigentlichen Anwendung in den Tests gelangen.
Für die Testautomatisierung gilt, was für jede andere Automatisierung gilt: Ein methodischer Ansatz ist Pflicht. Die Requirements werden spezifiziert, programmiert, getestet und die Ergebnisse bzw. Teilergebnisse dieses Entwicklungsprozesses umfassend verwaltet!
Das Erstellen der Testvorgaben und Testscripts aus den Projektanforderungen ist also ein Teilprozess in der Entwicklung, welcher sich quer über das V-Modell für die zu testende Applikation hinweg platzieren lässt. Spezifikationen auf jeder Stufe sind Anforderungen an ihn. Diese sind zu überprüfen, in Testanforderungen zu transformieren und Testvorgehen, Test-Cases, Test-Scripts sind daraus abzuleiten und zu entwickeln. In den verschiedenen Testphasen für die Applikation werden diese im eigentlichen Projekt ausgeführt und die Ergebnisse überprüft und bewertet.
Jede Testphase im Vorgehensmodell wie Unit -, White Box -, Black Box- und Integrationstest bedarf seiner Testvorgaben mit definierten, den richtigen Bereich abdeckenden Testszenarien und Testscripts. Dies unabhängig davon, ob diese automatisch oder manuell ausgeführt werden. Beim automatisierten Test werden zusätzlich die Testprogramme entwickelt.
Wie jedes andere Programm sollten diese mit einem Entwicklungsprozess methodisch sauber geplant, gebaut und überprüft werden. So werden beim Einsatz, also beim eigentlichen Testen im Projekt, in den entsprechenden Phasen, die gewünschten Ergebnisse erzielt.
Ebenfalls gehören die Ergebnisse der Testplanung, Testerstellung und des Scriptings in einer Testmanagementlösung verwaltet. Die Wiederverwendung und damit der nachhaltige Nutzen über das einzelne Projekt hinaus wird so sichergestellt.
|
Phasen V-Modell |
Testvorgehen Phasen innerhalb des Testvorgehens |
|
Test Requirement |
Testrequirements Aus den Requirements werden die für das Testen relevanten Requirements abgeleitet. - Mengengerüst Daten - Testmetrik - Testabdeckung - Impactanalysen etc. |
|
Test Vorgehen / Modelle |
Festlegen des Testvorgehens, Testabdeckung Festlegung der für die Requirements relevanten Testphasen und des Testansatzes. Scoping der Testabdeckung und Abgrenzung gegenüber Drittsystemen, respektive Integration dieser. - Auswirkungsanalyse, Testabgrenzung - Automatisch, manuell - Black Box, White Box, Load Test, Integrationstest |
|
High Level Test- Spezifikation |
High Level Spezifikation der Tests Impact auf Daten evaluieren (Umfang und Art) Detaillierte Testplanung (Umgebung, Ressourcen etc.) Definition Testabdeckung und Testmetrik Regelung der Scriptimplementation Definition der Testumgebungen |
|
Low Level Test Spezifikation |
Low Level Spezifikation des Tests Spezifikation der Testfälle und Actionschritte Festsetzen der Checkpoints bzw. Prüfpunkte Definition der erwarteten Resultate Detailanforderung zur Scriptimplementation Definition der Testumgebungen |
|
Test Umsetzung |
Umsetzung der Scripts (automatisch oder manuell) Entwickeln der Scripts durch Aufzeichnung, Entwicklung etc. Erstellen der manuellen Testscripts Erstellung der Checkpoints Erstellen der zu erwartenden Ergebnissen |
|
Test Unit Test |
Test der einzelnen Scripte Prüfen der einzelnen Scripte (kleinste Ebene, Unit) Review der manuellen Testscripte |
|
Test White Box Test |
Test der Testplanung Überprüfung der Testfälle (Testfälle bestehen aus mehreren Scripts die zusammen geführt wurden) Prüfen der Abhängigkeiten Review der Abhängigkeiten innerhalb der manuellen Testscripts |
|
Test Black Box Test |
Test des Vorgehens Modell und Vorgehen prüfen Richtige Methoden angewandt? Wurde das Vorgehen korrekt umgesetzt? |
|
Test Integrationstest |
Test des Gesamttests Prüfen ob alle Einzelteile wenn diese zusammen gesetzt sind gemäss Vorgaben arbeiten (Gesamttest) Testlauf des „scharfen“ Testens mit Ausführung aller Testscripts |
Fazit
Das Testen will geplant sein! Dies gilt insbesondere auch, wenn der Kunde des Projekts im Qualitätsbereich in der IT sitzt.
Der strukturierte Test, ob automatisch oder manuell, kann mit den entsprechenden Metriken wichtige Aussagen zum Zustand der Software machen. Dass aber das richtige, richtig und effizient getestet werden kann und wird, hängt vom Prozess ab, mit welchem die Testvorgaben geschaffen werden.
Es gilt diesen technischen Subprozess in der IT konsequent methodisch zu unterstützen, um die erwünschte Planbarkeit für das Testen und Vorhersagbarkeit für Projekte zu erlangen. Gleichzeitig wird die geforderte Qualität erlangt, sowie die Komplexität in der IT reduziert.
Sphere: Related Content

06.03.09 um 2:24 pm
Sehr interessanter Artikel! Für mich ist diese Information sehr nützlich.Danke für den guten Tipps und die Tests.