Umfang eingrenzen und Tests festlegen
Zweck:
|
Die zu testende Komponente identifizieren und eine Testgruppe definieren, die in der aktuellen Situation
den meisten Nutzen bringt.
|
In einer formalen Umgebung sind die Komponenten und die benötigten Tests im Artefakt Testdesign angegeben. Wenn das der
Fall ist, ist dieser Schritt optional. In anderen Fällen werden die Entwicklertests durch Änderungsanfragen,
Fehlerkorrekturen, zu überprüfende Implementierungsentscheidungen und Subsystemtests, bei denen die Eingabe nur über
das Designmodell erfolgt, gesteuert. Für alle diese Fälle gilt:
-
Das Ziel definieren: Schnittstelle aus Subsystem und Komponente validieren, Implementierung validieren, Mangel
reproduzieren
-
Den Umfang definieren: Subsystem, Komponente, Komponentengruppe
-
Den Testtyp und die Details definieren: Blackbox, Whitebox, Bedingungen vor dem Test, Bedingungen nach dem Test,
unveränderliche Größen, Ein-/Ausgabe- und Ausführungsbedingungen, Überwachungs-/Steuerpunkte, Bereinigungsaktionen
-
Die Lebensdauer des Tests festlegen. Beispiel: Ein Test, der speziell zur Behebung eines Mangels entwickelt wurde,
kann ein "Einwegtest" sein, ein Test jedoch, der die externen Schnittstellen ausführt, hat dieselbe Lebensdauer wie
die zu testende Komponente.
|
Passende Implementierungstechnik auswählen
Zweck:
|
Die passende Technik zur Implementierung des Tests ermitteln.
|
Es gibt verschiedene Techniken zur Implementierung eines Tests, alle können jedoch in zwei allgemeine Kategorien
unterteilt werden: manueller und automatischer Test. Die meisten Entwicklertests werden mit automatischen Testtechniken
implementiert:
-
Programmierte Tests: Verwenden entweder dieselben Softwareprogrammiertechniken und dieselbe Umgebung wie die zu
testende Komponente oder weniger komplexe Programmiersprachen und -tools (z. B. Script-Sprachen: tcl, Shell-basiert
etc.)
-
Aufgezeichnete oder erfasste Tests: Wurden von Testautomatisierungstools erstellt, die die Interaktionen zwischen
der zu testenden Komponente und dem restlichen System erfassen und die Basistests erzeugen
-
Generierte Tests: Einige Aspekte dieses Tests, entweder die Prozedur oder die Testdaten, können mit komplexeren
Testautomatisierungstools automatisch generiert werden.
Der beliebteste Ansatz ist zwar der programmierte Test, in einigen Fällen, z. B. beim Test der GUI, ist jedoch der
manuelle Testansatz effizienter, bei dem man eine Folge von Anweisungen abarbeitet, die in einem beschreibenden Text
enthalten sind. |
Test implementieren
Zweck:
|
Die Tests, die im Definitionsschritt oder in der Definitionsaufgabe identifiziert wurden, implementieren.
|
Implementieren Sie alle Elemente, die im ersten Schritt definiert wurden. Definieren Sie die Vorbedingungen der
Testumgebung detailliert und deutlich. Geben Sie die Schritte an, die erforderlich sind, um die zu testende Komponente
in den Status zu versetzen, in dem der Test bzw. die Tests durchgeführt werden können. Geben Sie die Schritte an, die
ausgeführt werden müssen, damit die Umgebung in den ursprünglichen Zustand zurückversetzt werden kann. Achten Sie
besonders auf die Implementierung der Überwachungs-/Steuerpunkte, da diese möglicherweise eine besondere Unterstützung
benötigen, die in die zu testende Komponente implementiert werden muss.
|
Externe Dateien erstellen
Zweck:
|
Daten, die textextern gespeichert und während der Testausführung verwendet werden, erstellen und verwalten.
|
In den meisten Fällen bewirkt die Entkopplung der Testdaten vom Test, dass die Lösung besser verwaltet werden kann.
Wenn die Lebensdauer des Tests sehr kurz ist, ist die feste Codierung der Daten im Test vielleicht effizienter, aber
wenn viele Testausführungszyklen mit verschiedenen Datenbeständen erforderlich sind, ist der einfachste Weg die externe
Speicherung. Es gibt einige andere Vorteile, wenn die Testdaten vom Test entkoppelt werden:
-
Der Datenbestand kann für mehrere Tests verwendet werden
-
Der Datenbestand kann einfach geändert und/oder multipliziert werden
-
Der Datenbestand kann verwendet werden, um die bedingte Verzweigungslogik im Test zu steuern.
|
Testimplementierung überprüfen
Zweck:
|
Überprüfen, ob die Tests richtig funktionieren.
|
Testen Sie den Test. Prüfen Sie die Umgebungskonfiguration und die Bereinigungsanweisungen. Führen Sie den Test durch,
beobachten Sie sein Verhalten und beheben Sie die Testmängel. Wenn der Test lange laufen soll, beauftragen Sie eine
weniger qualifizierte Person mit seiner Ausführung. Stellen Sie fest, ob genügend unterstützende Informationen zur
Verfügung stehen. Überprüfen Sie den Test mit anderen Mitarbeitern des Entwicklungsteams und anderen Interessierten.
|
Rückverfolgbarkeitsbeziehungen verwalten
Zweck:
|
Wirkungsanalyse und Untersuchungsberichte für die verfolgten Elemente erstellen
|
Ob Sie Rückverfolgbarkeitsbeziehungen verwalten müssen oder nicht, ist von der Formalitätsstufe abhängig. Ist die
Verwaltung erforderlich, aktualisieren Sie die Rückverfolgbarkeitsbeziehungen anhand der
Rückverfolgbarkeitsanforderungen, die im Testplan festgehalten sind.
|
|