Aufgabe: Entwicklertest implementieren
Diese Aufgabe beschreibt, wie man eine Gruppe von Tests erstellt, um zu überprüfen, ob eine Komponente ordnungsgemäß funktioniert, bevor Tests einer höheren Formalitätsstufe durchgeführt werden.
Zweck
  • Einen oder mehrere Tests implementieren, mit denen die einzelnen Softwarekomponenten durch physische Ausführung überprüft werden können
  • Tests entwickeln, die in Verbindung mit anderen Tests als Teil einer größeren Testinfrastruktur durchgeführt werden können.
Beziehungen
RollenHauptrollen: Zusätzliche Rollen: Unterstützende Rollen:
EingabenVerbindlich: Optional: Extern:
  • Ohne
Ausgaben
Schritte
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.


Eigenschaften
Mehrere Vorkommen
Ereignisgesteuert
Fortlaufend
Optional
Geplant
Wiederholt anwendbar
Weitere Informationen