LU01c - Aufbau eines Testfalls

Auf einen Blick
Ein Testfall beschreibt eine Situation, die wir prüfen wollen: mit welchen konkreten Eingaben wir testen und welches Ergebnis wir erwarten. Ein guter Testfall ist so genau, dass eine andere Person ihn ohne Rückfragen durchführen kann.

Sie können

  • die Bestandteile eines Testfalls nennen,
  • Positiv- und Negativtests unterscheiden,
  • Testfälle tabellarisch und einzeln darstellen,
  • die Qualität eines Testfalls beurteilen.
Feld Inhalt Beispiel
Nr. Eindeutige Nummer, damit wir den Testfall im Protokoll wiederfinden TF-03
Bezeichnung Was getestet wird, in wenigen Worten Seitenlänge 0 wird abgelehnt
Vorbedingung Was vor dem Test gegeben sein muss (optional) Programm ist gestartet, Felder sind leer
Eingabe Die konkreten Werte, keine Beschreibungen wie «eine grosse Zahl» Seite a: 0, Seite b: 15, Seite c: -1
Erwartetes Ergebnis Was das Programm genau ausgeben oder anzeigen soll (SOLL) Meldung «Eine der Seiten hat die Länge 0: Berechnung nicht möglich»

Bei Programmen mit Benutzeroberfläche (Webseite, App) kommen oft noch Schritte dazu, zum Beispiel: «Button Berechnen anklicken».

Art Frage Beispiel
Positivtest Funktioniert das Programm mit gültigen Eingaben richtig? Seite a = 3, Seite b = 4 → Seite c = 5
Negativtest Reagiert das Programm sinnvoll auf ungültige Eingaben? Seite a = 0 → Fehlermeldung

Anfängerinnen und Anfänger testen oft nur positive Fälle. Die meisten Fehler verstecken sich aber in den Negativtests und an den Grenzwerten (siehe LU01a - Gute Testdaten finden).

Bei Eingabefeldern unterscheiden wir zwei Arten von ungültigen Eingaben:

  • Formal falsch: Die Eingabe hat das falsche Format, zum Beispiel abc statt einer Zahl.
  • Formal korrekt, aber ungültig: Das Format stimmt, der Wert ist aber nicht erlaubt, zum Beispiel -5 für eine Länge.

Das Programm berechnet eine Seite eines rechtwinkligen Dreiecks.

  • Der Benutzer gibt die Länge von zwei der drei Seiten ein.
  • Für die unbekannte Seite gibt er -1 ein.
  • Das Programm gibt die Länge der dritten Seite aus.

Jede Zeile enthält einen Testfall. Diese Form ist kompakt und eignet sich für Programme mit wenigen Ein- und Ausgaben.

Nr Bezeichnung Eingabe Erwartetes Ergebnis
Seite a Seite b Seite c
1 Berechnung der Seite c 3 4 -1 Seite c: 5
2 Berechnung der Seite a -1 4 5 Seite a: 3
3 Seitenlänge a ist 0 0 15 -1 Eine der Seiten hat die Länge 0: Berechnung nicht möglich
4 Alle Seiten angegeben 3 4 5 Alle drei Seiten angegeben: Berechnung nicht möglich

Jeder Testfall erhält eine eigene Tabelle. Diese Form eignet sich für Programme mit vielen Eingaben oder mehreren Schritten.

Nr. 3
Bezeichnung Seitenlänge a ist 0
Vorbedingung Programm ist gestartet
Eingabe Seite a: 0
Seite b: 15
Seite c: -1
Erwartetes Ergebnis Meldung «Eine der Seiten hat die Länge 0: Berechnung nicht möglich»

Bei einer Webseite gehören die Bedienschritte zum Testfall. Beispiel für das Programm British Inheritance Tax:

Nr. 5
Bezeichnung Betrag mit Tausendertrennzeichen
Vorbedingung Webseite ist geöffnet, alle Felder sind leer
Schritte 1. Im Feld Betrag 500'000 eingeben
2. Im Feld Jahre 4.5 eingeben
3. Button Berechnen anklicken
Erwartetes Ergebnis Neben dem Feld Betrag erscheint «Keine gültige Zahl». Der Steuerbetrag bleibt leer.
  • Ein Ziel: Jeder Testfall prüft genau eine Situation.
  • Konkret: Eingaben und erwartetes Ergebnis sind exakte Werte und Texte.
  • Reproduzierbar: Wer den Testfall zweimal ausführt, erhält dasselbe Ergebnis.
  • Unabhängig: Ein Testfall funktioniert, ohne dass vorher ein anderer ausgeführt werden muss.
  • Nachvollziehbar: Eine andere Person kann ihn ohne Rückfragen durchführen.
Schlecht Besser
Eingabe: ein grosser Betrag vor ein paar Jahren Eingabe: Betrag 500000, Jahre 4.5
Erwartet: Das Programm funktioniert Erwartet: Steuerbetrag 42000
Erwartet: Fehlermeldung Erwartet: Meldung «Keine gültige Zahl» neben dem Feld Betrag
Testfall prüft Betrag und Jahre falsch Je ein Testfall für den falschen Betrag und für die falschen Jahre

Das Beispiel oben enthält 4 Testfälle. Welche weiteren Testfälle braucht es, um das kleine Programm vollständig zu testen? Denken Sie an negative Werte, Buchstaben, Dezimalzahlen und an eine Hypotenuse, die kürzer ist als eine Kathete.

  1. Welche Felder gehören mindestens zu einem Testfall?
  2. Warum reicht «Erwartet: Fehlermeldung» nicht als erwartetes Ergebnis?
  3. Nennen Sie für das Feld «Seite a» je ein Beispiel für eine formal falsche und eine formal korrekte, aber ungültige Eingabe.
  4. Wann wählen Sie die einzelne statt der tabellarischen Darstellung?
  • modul/m450/learningunits/lu01/testfall.txt
  • Zuletzt geändert: 2026/11/11 10:54
  • von admin