Difftesting - Testen von Konsolenprogrammen mit diff

Was sind diff-Tests?

Difftests sind eine einfache und komfortable Möglichkeit die Ausgaben eines Konsolenprogramms, die auf bestimmte Eingaben ausgegeben werden auf ihre Richtigkeit zu überprüfen, und somit vorhandene Fehler aufzuspüren. Denn auch wenn ein Programm Fehlerfrei kompiliert, heißt das noch lange nicht, dass alles so funktioniert wie man es sich gedacht hat.
Um ein Programm mit Hilfe von Difftests zu testen schreibt man sich für jeden Test eine Eingabedatei, die alle für die Ausführung des Programm benötigten Eingaben beinhaltet, und eine Ausgabedatei, in der die für die Eingaben zu erwartenden Ausgaben stehen. Dann ruft man das Programm mit der Eingabedatei auf und leitet die Ausgabe in eine weitere Datei um.
Und jetzt kommt diff ins Spiel. Diff ist ein Programm zum Vergleichen von zwei Dateien, das die Unterschiede zwischen den beiden Dateien ausgibt.

Wie führt man einen diff-Test durch?

Eingabe aus Datei umleiten:

icon source bash
./program < test.in

Ausgabe in Datei umleiten:

icon source bash
./program > test.realout

Ausgabedatei bei Eingabe mit Eingabedatei erzeugen:

icon source bash
./program < test.in > test.realout

Ausgabe mit 'diff' überprüfen:

icon source bash
diff test.out test.realout

Fortsetzung folgt...

Aktualisiert ( Samstag, 06. Februar 2010 um 13:05 Uhr )