Automatisiertes Testen von PL/SQL-Prozeduren im Data-Warehouse-Umfeld

Bok av Bernd Soldan
Der Versuch, fehlerfreie Software zu produzieren, ähnelt in einigen Aspekten dem Streben nach absoluten Werten wie z.B. Gerechtigkeit oder der Suche nach dem heiligen Gral. Auch Idealisten, die sich bemühen dieses Ziel zu erreichen, müssen irgendwann erkennen, dass eine solche Aufgabe von Menschen nicht zu bewältigen ist.Aber auch wenn es nicht möglich ist, von Fehlern freie Programme zu schreiben, dann sollte es trotzdem ein Ziel jedes Softwareentwicklers sein, die Zahl von Fehlfunktionen in Programmen zu minimieren bzw. die Anzahl der Fälle zu maximieren, in denen ein Programm wie erwartet funktioniert. Eine solche Steigerung bzw. Sicherung der Softwarequalität erfordert natürlich Ressourcen, die Kosten und Entwicklungszeit für die Software in die Höhe treiben. Auf der anderen Seite verursacht fehlerhafte Software bei den Anwendern höchst unerwünschte Aufwände. Prominente Beispiele, wie der Absturz der Ariane 5 beim ihrem Erstflug im Juni 1996 oder die Unfälle mit dem medizinischen Bestrahlungsgerät Therac-25 in den achtziger Jahren, stellen nur die Spitze des Eisbergs dar. Um Softwarequalität möglichst effizient und kostengünstig sicherzustellen wurden daher in den vergangenen Jahren unterschiedliche Methoden zum systematischen Testen von Software und Softwarewerkzeuge zur automatisierten Anwendung von Testmethoden entwickelt.Gerade mit der Verfügbarkeit von einfach einsetzbaren Testwerkzeugen wie z.B. JUnit und Softwareentwicklungsmethoden wie XP (eXtreme Programming) hat die Bedeutung systematischer Softwaretests in den vergangenen Jahren deutlich zugenommen. Auf der anderen Seite gibt es immer noch Bereiche, in denen Tests nicht oder nur schwer automatisiert und nur mit entsprechend hohem manuellen Aufwand durchgeführt werden können. Zu diesen Bereichen zählen unter anderem Benutzeroberflächen und Datenbanken.In der vorliegenden Veröffentlichung wird ein Verfahren vorgestellt, das es ermöglicht, Tests von PL/SQL-Programmen in großen ORACLE-Datenbanken automatisiert durchzuführen. Hierbei wird eine funktionierende Lösung für das Problem der Bereitstellung konsistenter Testdaten für jede Testdurchführung vorgestellt.