Programmierung

Automatisierte Tests mit CONZEPT 16

Mit diesem Artikel möchte ich einen Einblick in die Arbeit der CONZEPT 16 Entwicklung ermöglichen und dabei das Thema Softwaretests aufgreifen.

Speziell bei der Einführung neuer Komponenten (wie dem Laufwerkstreiber in der Version 5.6) und bei der Neuentwicklung von bestehenden Komponenten (wie dem ODBC-Treiber) sind Tests unabdingbar, um Programmierfehler zu finden. Für den neuen ODBC-Treiber ist zudem eine Kompatibilität gegenüber dem bestehenden Treiber wichtig.
In diesem Zusammenhang sind zwei Stufen von Softwaretests besonders interessant: Modultests (Unit-Tests) setzen auf kleineren Bestandteilen der Software auf und testen ihr korrektes Verhalten (bspw. ob eine Funktion für gewisse Eingabedaten den korrekten Rückgabewert liefert). Systemtests prüfen hingegen das Verhalten eines gesamten Softwaresystems (bspw. die Korrektheit bezüglich des spezifizierten Verhaltens, Vergleich der Performance).
Während auf das Thema Modultests in einem separaten Blog-Artikel eingegangen werden soll, möchte ich hier berichten, wie Systemtests für oben genannte Komponenten realisiert wurden.
Für den ODBC-Treiber wurde mit CONZEPT 16 eine Testapplikation geschrieben, die beliebig viele SQL-Abfragen speichern und automatisiert über ODBC ausführen kann. Das Ergebnis jeder Abfrage wird dabei mit dem des ODBC-Treibers aus Version 5.5 verglichen, sodass Abweichungen festgestellt und korrigiert werden können.
Zum Test des Laufwerkstreibers wurde ebenfalls eine Testapplikation mit CONZEPT 16 entwickelt. Diese führt Operationen (Lesen, Schreiben, Umbenennen…) auf dem Laufwerk durch und prüft deren Erfolg. Anhand von Hashwert-Vergleichen lässt sich beispielsweise feststellen, ob der Dateiinhalt nach einem Schreibvorgang korrekt ist. Des Weiteren ermöglicht sie die Simulation von Lastsituationen (Stresstest).
Der Vorteil dieser Testapplikationen ist ihre automatisierte und wiederholbare Ausführung: Sie lassen sich nach jeder programmiertechnischen Änderung durchführen, um eventuell entstandene Programmierfehler zu entdecken.

Keine Kommentare

Kommentar abgeben