Oliver HösliOliver Hösli 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.

Das Erstellen automatisierter Test als Prozess im V-Modell
Das Erstellen automatisierter Test als Prozess im V-Modell

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

Ein Kommentar

  • 1
    Andrea:

    Sehr interessanter Artikel! Für mich ist diese Information sehr nützlich.Danke für den guten Tipps und die Tests.

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>