Zum Inhalt springen

Informatik · Klasse 5–13 · aktualisiert

Komponententests: Testfälle und Isolation verstehen

Du lernst, wie Komponententests einzelne Programmteile prüfen, wie man Testfälle bildet und warum man Tests nach Änderungen wiederholt.

0 von 9 Aufgaben gelöst

Komponententests: Testfälle und Isolation verstehen

Kurz gesagt

Ein Komponententest (auch Modultest oder Unittest) prüft einzelne, abgrenzbare Teile eines Programms. Dafür bildest du Äquivalenzklassen und leitest Testfälle mit Soll-Ergebnis ab. Mock-Objekte ersetzen andere Teile. Nach Änderungen wiederholt man Testfälle als Regressionstest.

Stell dir vor, du baust ein Spiel und änderst nur eine kleine Stelle. Plötzlich geht an einer ganz anderen Stelle etwas kaputt. Damit das nicht unbemerkt passiert, testen Entwickler ihre Programme in Stufen. Hier lernst du, wie das geht und wo Tests an ihre Grenzen stoßen.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Ein Programm besteht aus vielen Teilen. Solche Teile sind zum Beispiel Klassen oder Unterprogramme. Man prüft sie in Stufen.

Der Komponententest prüft einzelne, abgrenzbare Teile der Software. Er heißt auch Modultest oder Unittest (englisch „unit“ heißt „Einheit“). Diese Tests führt häufig der Software-Entwickler selbst durch. Sie sollen zeigen, dass ein Teil technisch läuft und korrekte Teilergebnisse liefert.

Der Integrationstest prüft die Zusammenarbeit voneinander abhängiger Komponenten. Sein Schwerpunkt liegt auf den Schnittstellen. Das sind die Stellen, an denen Teile Daten austauschen.

Der Systemtest prüft das gesamte System gegen die gesamten Anforderungen. Er findet gewöhnlich auf einer Testumgebung statt. Die soll der Umgebung des Kunden möglichst ähnlich sein.

Die Stufen sind in der Praxis oft nicht scharf voneinander getrennt.

Definition

Komponententest

Ein Komponententest prüft einzelne, abgrenzbare Teile eines Programms, zum Beispiel Klassen oder Unterprogramme. Andere Namen dafür sind Modultest und Unittest.

TeststufeWas wird geprüft?Schwerpunkt
Komponententesteinzelne, abgrenzbare Teiletechnische Lauffähigkeit, korrekte Teilergebnisse
Integrationstestvoneinander abhängige KomponentenSchnittstellen zwischen den Komponenten
Systemtestdas gesamte Systemdie gesamten Anforderungen

Beispiel: Taschenlampe (ausgedachtes Beispiel)

  1. 1Ein Gerät wird erst als Ganzes getestet, wenn seine Einzelteile als gesichert gelten.
  2. 2Ausgedacht: Du prüfst erst die Glühbirne allein. Das entspricht dem Komponententest.
  3. 3Dann prüfst du Birne und Batterie zusammen. Das entspricht dem Integrationstest.
  4. 4Zuletzt prüfst du die ganze Lampe. Das entspricht dem Systemtest.

Teste dich

LeichtWelche Aussage über den Komponententest stimmt?

Alles auf einen Blick

Komponententest

  • Komponententest

    prüft einzelne, abgrenzbare Teile; heißt auch Modultest oder Unittest

  • Teststufen

    Komponententest, Integrationstest (Zusammenarbeit der Teile), Systemtest (gesamtes System)

  • Äquivalenzklassen

    gültige und ungültige Gruppen von Eingaben, pro Klasse wählt man einen Wert als Testfall

  • Mock-Objekt

    Platzhalter, der vorher festgelegte Werte liefert, damit ein Teil isoliert getestet wird

  • Grenze

    Ein grüner Test beweist keine Fehlerfreiheit, zum Beispiel bei gleichen Falschannahmen

  • Regressionstest

    Testfälle nach einer Änderung wiederholen und Ist mit Soll vergleichen

Musteraufgabe · Schritt für Schritt

Ticketautomat prüfen (ausgedachtes Beispiel)

  1. 1Ausgedachte Regel: Man darf 1 bis 4 Tickets kaufen. Andere Zahlen werden zurückgewiesen.
  2. 2Klassen bilden: 0 und kleiner (ungültig) · 1 bis 4 (gültig) · 5 und größer (ungültig)
  3. 3Testfälle mit Soll: Eingabe 3 → akzeptiert · Eingabe 0 → zurückgewiesen · Eingabe 7 → zurückgewiesen
  4. 4Die Grenzwerte 1 und 4 sind besonders interessant und können als weitere Testfälle dienen.
  5. 5Ausführen: Das Programm liefert für 3 „akzeptiert“, für 0 „zurückgewiesen“, für 7 „akzeptiert“.
  6. 6Vergleichen: Bei 3 und 0 stimmen Soll und Ist überein. Bei 7 weicht das Ist („akzeptiert“) vom Soll („zurückgewiesen“) ab. Dieser Testfall hat einen Fehler gefunden.

Fehler finden

Prüfe die Aussagen zu den Tageswerten 1 bis 31 In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Bei einem Testfall vergleichst du das Ergebnis, das das Programm wirklich liefert, mit dem erwarteten Ergebnis. Das wirkliche heißt . Im Monatsbeispiel sind nur die Zahlen 1 bis 12 gültig, deshalb liegt die Eingabe 13 in einer Äquivalenzklasse. Wenn man nach einer Änderung Testfälle wiederholt, um sicherzustellen, dass keine neuen Fehler entstehen, nennt man das .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Komponententest

LeichtWie heißt die Teststufe, die das gesamte System gegen die gesamten Anforderungen prüft?
MittelWann wiederholt man Testfälle als Regressionstest?
SchwerEin Komponententest mit Mock-Objekt ist grün. Was folgt daraus?

Weiterlesen in Informatik