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.
Lernziele
Sie können
- die Bestandteile eines Testfalls nennen,
- Positiv- und Negativtests unterscheiden,
- Testfälle tabellarisch und einzeln darstellen,
- die Qualität eines Testfalls beurteilen.
Bestandteile eines Testfalls
| 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».
Positiv- und Negativtests
| 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
abcstatt einer Zahl. - Formal korrekt, aber ungültig: Das Format stimmt, der Wert ist aber nicht erlaubt, zum Beispiel
-5für eine Länge.
Beispiel: Dreiecksseite berechnen
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
-1ein. - Das Programm gibt die Länge der dritten Seite aus.
Tabellarische Darstellung
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 |
Einzelne Darstellung
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: 0Seite b: 15Seite c: -1 |
| Erwartetes Ergebnis | Meldung «Eine der Seiten hat die Länge 0: Berechnung nicht möglich» |
Vorlage für eine Webseite
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 eingeben2. Im Feld Jahre 4.5 eingeben3. Button Berechnen anklicken |
| Erwartetes Ergebnis | Neben dem Feld Betrag erscheint «Keine gültige Zahl». Der Steuerbetrag bleibt leer. |
Merkmale eines guten Testfalls
- 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 |
Übung
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.
Kontrollfragen
- Welche Felder gehören mindestens zu einem Testfall?
- Warum reicht «Erwartet: Fehlermeldung» nicht als erwartetes Ergebnis?
- Nennen Sie für das Feld «Seite a» je ein Beispiel für eine formal falsche und eine formal korrekte, aber ungültige Eingabe.
- Wann wählen Sie die einzelne statt der tabellarischen Darstellung?
