Einheitentests werden für die kleinsten testbaren Einheiten (Elemente) der Software ausgeführt. Getestet werden die
interne Struktur (Logik und Datenfluss) sowie die Funktion und das beobachtbare Verhalten der Einheiten. Vorraussetzung
für das Entwerfen und Implementieren von Tests mit Schwerpunkt auf der internen Struktur sind Kenntnisse zur
Implementierung der Einheit (Whitebox-Ansatz). Für das Entwerfen und Implementieren von Tests zur Überprüfung des
beobachtbaren Verhaltens und der Funktionen von Einheiten sind solche Kenntnisse nicht erforderlich. Dieser Ansatz wird
daher als Blackbox-Ansatz bezeichnet.
Beide Herangehensweisen werden zum Entwerfen und Implementieren der verschiedenen Testarten verwendet, die für das
erfolgreiche und vollständige Testen von Einheiten erforderlich sind (siehe Verfahren:
Testarten).
Zusätzliche Informationen zum Ableiten von Testfällen für Einheitentests finden Sie im Abschnitt Verfahren: Testfall.
Gehen Sie nach dem Whitebox-Testansatz vor, wenn Sie die interne Struktur einer Einheit überprüfen möchten. Theoretisch
müssten Sie jeden möglichen Pfad durch den Code testen, was in der Praxis allerdings nur bei sehr einfachen Einheiten
möglich ist. Zumindest sollten Sie alle Entscheidungspfade einmal durchgehen, damit jede Anweisung mindestens
einmal ausgeführt wird. Eine Entscheidung ist in der Regel eine Anweisung if, und ein Entscheidungspfad ist der Pfad
zwischen zwei Entscheidungen.
Um diese Testabdeckung zu erreichen, sollten Sie die Testdaten so auswählen, dass jede Entscheidung unter allen
möglichen Gesichtspunkten bewertet werden kann.
Mit Tools für Codeabdeckung können Sie den Code identifizieren, der bei Ihren Whitebox-Tests nicht ausgeführt wird.
Parallel zu Ihren Whitebox-Tests sollten Sie Zuverlässigkeitstest durchführen.
Zusätzliche Informationen hierzu finden Sie im Abschnitt Verfahren:
Testfall.
Blackbox-Tests werden eingesetzt, um die spezifizierten Funktionen und das beobachtbare Verhalten der Einheit zu
überprüfen, ohne dass bekannt ist, wie die Einheit die Funktion oder das Verhalten implementiert. Blackbox-Tests
konzentrieren sich auf die Ein- und Ausgaben der Einheit.
Beim Ableiten von Einheitentests aus dem Blackbox-Ansatz werden die Eingabe- und Ausgabeargumente von Operationen der
Einheit und/oder der Ausgabestatus zur Bewertung herangezogen. Eine Operation kann beispielsweise einen Algorithmus
enthalten (der zwei Werte als Eingabe erfordert und einen dritten Wert als Ausgabe zurückgibt) oder eine Statusänderung
für ein Objekt oder eine Komponente einleiten, wie es beim Hinzufügen oder Löschen eines Datenbanksatzes der Fall ist.
Beide Möglichkeiten müssen vollständig getestet werden. Für das Testen einer Operation sollten Sie genug Testfälle
ableiten, um Folgendes überprüfen zu können:
-
Die Operation hat für jeden gültigen Eingabewert einen entsprechenden Wert zurückgegeben.
-
Die Operation hat für jeden ungültigen Eingabewert einen entsprechenden Wert zurückgegeben.
-
Bei jedem gültigen Eingabezustand wird ein entsprechender Ausgabezustand erreicht.
-
Bei jedem ungültigen Eingabezustand wird ein entsprechender Ausgabezustand erreicht.
Mit Tools für Codeabdeckung können Sie den Code identifizieren, der bei Ihren Whitebox-Tests nicht ausgeführt wird.
Parallel zu Ihren Blackbox-Tests sollten Sie Zuverlässigkeitstest durchführen.
Zusätzliche Informationen hierzu finden Sie im Abschnitt Verfahren:
Testfall.
|