Difftesting - Testen von Konsolenprogrammen mit diff

Inhaltsverzeichnis[Verbergen]

1. 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.

2. Wie führt man einen diff-Test durch?

Eingabe aus Datei umleiten:

./program < test.in

Ausgabe in Datei umleiten:

./program > test.realout

Ausgabedatei bei Eingabe mit Eingabedatei erzeugen:

./program < test.in > test.realout

Ausgabe mit 'diff' überprüfen:

diff test.out test.realout

Fortsetzung folgt...

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