Testen von Software ist notwendig und zeitraubend. Der Unittest-Ansatz, der insbesondere im Java-Umfeld mit JUNIT bekannt geworden ist, setzt darauf, dass das Testen Teil des Entwicklungsprozesses ist und dass Tests soweit wie möglich automatisiert ablaufen. Dies hat den Vorteil, dass die Tests jederzeit schnell wieder ausgeführt und somit negative Seiteneffekte von Änderungen schnell identifiziert werden können.
SASUnit ist ein von HMS Analytical Software entwickeltes frei verfügbares SAS-Makropaket. Es steuert die Ausführung von Testszenarien und erstellt automatisch übersichtliche Testberichte im HTML-Format.
Um ein Makro mit SASUnit zu testen, benötigt man unveränderliche Testdaten und muss mindestens ein Testszenario erstellen, das meist aus mehreren Testfällen besteht. Jeder Testfall ruft das zu testende Programm, oft ein Makro, mit bestimmten Daten und Parameterwerten auf und prüft anschließend, ob die gewünschten Ergebnisse zurückgeliefert wurden. Es können dabei beispielsweise Werte von Makrovariablen, Inhalte von SAS-Datasets und das Vorhandensein oder die Abwesenheit bestimmter Meldungen im SAS-Log geprüft werden.
SASUnit steuert die Ausführung der Testszenarien und erstellt aus den Prüfergebnissen Testberichte im HTML-Format, in die die Testdaten, die Testszenarien und erweiterte Prüfergebnisse (z.B. Output von PROC COMPARE) integriert sind. Für nicht-automatisch testbare Eigenschaften (z.B. korrektes Layout von Grafiken und Berichten) können Checklisten für die manuelle Prüfung in die Testberichte integriert werden.
Screenshots vom Testprotokoll:
Näheres zur Anwendung von SASUnit finden Sie in dem anhängenden Artikel sasunit.pdf. Die anhängende Datei readme.html enthält weitere technische Hinweise. SASUnit und Anwendungsbeispiele können Sie mit anhängender Zip-Datei herunterladen.
Beachten Sie die Lizenzbedingungen:
Copyright 2008 durch HMS Analytical Software GmbH, Heidelberg, Deutschland (http://www.analytical-software.de). Hiermit gewähren wir das Recht, diese Software und ihre Dokumentation unter der GNU General Public License zu verwenden, zu kopieren, zu verändern und zu verteilen. Wir machen keinerlei Zusicherungen über die Funktionsfähigkeit dieser Software für irgendeinen Zweck. Näheres siehe http://www.gnu.de/gpl-ger.html
SASUnit enthält Teile von Doxygen, siehe http://www.doxygen.org