Aussehen
Test
Definition: Test
Ein Test prüft, ob das Programm eine Anforderung erfüllt. Er kann Fehler zeigen, aber nie beweisen, dass keine mehr da sind.
Definition: Testfall
Ein Testfall besteht aus einer Eingabe, dem erwarteten und dem tatsächlichen Ergebnis.
Wähle Werte, bei denen Fehler wahrscheinlich sind. Beim Eintrittspreis im Zoo (Kinder unter 5 Jahren zahlen nichts, von 5 bis 13 Jahren 4 Euro, ab 14 Jahren 8 Euro) sind das:

- Typische Werte: 10 Jahre.
- Grenzwerte: knapp außerhalb, am Rand und knapp innerhalb: 4, 5, 6 und 13, 14, 15.
- Unsinnige Werte: −1, 200, ein Buchstabe, eine leere Eingabe.
Black-Box und Code-Review
Definition: Black-Box-Test
Beim Black-Box-Test ignorierst du den Quelltext: Du gibst etwas ein und prüfst, was passiert.
Definition: Code-Review
Beim Code-Review liest eine andere Person den Quelltext und fragt bei jeder Verzweigung und Schleife: Welcher Fall ist hier nicht vorgesehen?
Teste nicht allein, was du selbst gebaut hast, denn du prüfst sonst nur, woran du beim Schreiben gedacht hast.
Wiederholen und automatisieren
Neuer Code kann kaputt machen, was vorher lief. Darum führt ihr nach jeder Änderung alle bisherigen Testfälle erneut aus (Regressionstest). Ein Unit-Test macht das automatisch, in Python zum Beispiel mit pytest:
python
def test_fuenfjaehriges_kind_zahlt_vier_euro():
assert preis(5) == 4Schreibt dieselbe KI Code und Test, kann derselbe Denkfehler in beiden stecken. Leite die Testfälle darum aus den Anforderungen ab, nicht aus dem Code.