Anwenderbericht: Klöckner-Humboldt-Deutz AG, Köln

Testaufwand drastisch reduziert

26.05.1978

Effizienz der Anwendungsprogrammierung und Qualität der Programmprodukte werden von verschiedenen Faktoren beeinflußt. Neben Leistungsfähigkeit und Können des Programmierers sind Verfahren und Methoden der Programmentwicklung von entscheidender Bedeutung.

Aufgabe des EDV-Managements ist es daher, geeignete Instrumente auszuwählen und bereitzustellen, damit vorhandene Leistungsreserven genutzt, die Produktivität gesteigert und die Qualität verbessert wird. Das Ganze ist unter wirtschaftlichen Gesichtspunkten zu betreiben.

Diese Erkenntnis ist nicht neu. Seit Jahren wird bei uns im Sinne dieser Zielsetzung gearbeitet. So wird im kommerziellen Bereich einheitlich nur Cobol, für Unter- und Standardprogramme sowie für Systemprogramme nur Assembler verwendet. Es wird ausschließlich nach der Standardprogrammierlogik mit einem entsprechenden Generator gearbeitet, ein einheitliches Dateiverwaltungsprogramm benutzt und die Programmentwicklung im Dialog betrieben. Entscheidungstabellentechnik mit entsprechendem Generator und Softwarepakete zur Leistungsmessung der produzierten Programme finden ebenfalls Verwendung.

Aufwendige Testdatenerstellung

In einer Analyse stellten wir fest, daß die Erstellung unserer Testdaten aufwendig und im Ergebnis nicht zufriedenstellend war. Teilweise kopierten wir echte Produktionsdaten, wobei die Schwierigkeit darin bestand, den Datenbestand hinsichtlich der erforderlichen Testbedingungen zu analysieren, zu extrahieren und zu modifizieren. Ohne diesen Aufwand jedoch war die Unsicherheit noch größer, ob die kopierten Datenbestände unsere Testfälle vollständig abdecken würden. Konnte auf Produktionsdaten nicht zurückgegriffen werden, mußten teilweise Sonderprogramme geschrieben oder weniger komfortable Standardprogramme verwendet werden. Wir entschlossen uns daher, bei entsprechender Eignung, einen Testdatengenerator einzusetzen. Anhand eines Anforderungskataloges wurde eine eingehende Marktanalyse durchgeführt, die zu dem Ergebnis führte, den Testdatengenerator "Pro/Test" von ZEDA in Wuppertal einzusetzen.

Testen unabhängig vom Programmentwicklungsstand

Im einzelnen wurden folgende Anforderungen an einen Generator gestellt:

- Testdatengenerierung für alle Speicherformen

- Erzeugung der Testdaten in Abhängigkeit von Bedingungen

- arithmetische Funktionen

- Generierung von Tabellen

- Unabhängigkeit von Programmiersprachen

- Zugriff auf vorhandene Daten

- sowie gute Performance und leichte Erlernbarkeit

Während der Voruntersuchung schieden bereits Generatoren aus, die wesentlichen Anforderungselementen nicht entsprachen. Im Rahmen praktischer Testinstallationen erwies sich "Pro/Test" als der für unsere Zwecke geeignetste, denn er erfüllte alle unsere Anforderungen. Außer dem Testdatengenerator, der Daten neu generiert, erwarben wir auch den File-Processor, der auf bereits vorhandene Daten zugreift. Schon während der vierwöchigen Probeinstallation stellte sich die Unabhängigkeit vom Programm- und Systementwicklungsstand als besonderer Vorteil heraus: Wir arbeiteten gerade an einem Projekt, das aus mehreren von einander abhängigen Programmen bestand. Diese Programme konnten wir unabhängig voneinander parallel testen, ohne den Output eines vorangehenden Bausteins abwarten zu müssen. Dadurch konnte das Projekt schneller beendet werden.

Wenig Aufwand, hoher Nutzen

Der Generator besitzt ein umfassendes Leistungsspektrum zur Erstellung von Testdaten. Trotzdem ist er leicht und schnell zu erlernen. Die Testdaten werden zuverlässig und vollständig generiert. Dadurch konnte die Zahl der Testsätze drastisch reduziert werden. Wir speichern heute nicht mehr die Testdaten, sondern nur die Parameter. Damit sparen wir nicht nur Speicherplatz. Wir überschauen vielmehr direkt, welche Testbedingungen definiert sind und wissen von jedem zu generierenden Satz, welche Datenkonstellationen er abdeckt. Da wir die Parameterkarten in einer eigenen Bibliothek speichern, sind sie leicht verfügbar. Die Generierung von Testdaten ist so schnell, daß wir innerhalb kürzester Zeit die Daten vorliegen haben. Heute gehen wir daran, alle gespeicherten Testdatenbestände für ältere Programme durch entsprechende Parameter zu ersetzen. Die Vorteile von "Pro/Test" waren mitentscheidend dafür, daß wir keinerlei Probleme bei der Einführung hatten. Bereits nach eintägiger Schulung konnten die Mitarbeiter den Generator für ihre praktische Arbeit einsetzen. Auch die Zusammenarbeit mit den Fachabteilungen wurde günstig beeinflußt. Die Prüfung auf Vollständigkeit der Testfälle ist wesentlich vereinfacht. Der Fachabteilung bieten wir eine bessere Basis für den Input-Output-Vergleich nach erfolgtem Testlauf.

Nutzen auch für Datenschutz und Revision

Für uns ist es heute kein Problem mehr, der Revision kurzfristig die Voraussetzung für Teste nach bestimmten Anforderungen zu bieten. Datenschutzfragen werden in der Weise leicht gelöst, daß wir bei Rückgriff auf geschützte Produktionsdaten diese leicht und nach einem bestimmten Algorithmus mit Hilfe des File-Processors modifizieren können. Es ist klar, daß ein solcher Algorithmus jeweils immer nur denen bekannt ist, die die Test-Daten generieren und auswerten müssen. Größtenteils ist ein Rückgriff auf geschützte Praxisdaten jedoch gar nicht mehr notwendig, da gleichwertige Datenbestände mit Hilfe des Testdatengenerators ohne weiteres erstellt werden können. Insgesamt können wir heute feststellen, daß die Ergebnisse von "Pro/Test" im praktischen Betrieb den Erwartungen voll entsprechen. Damit haben wir unser Instrumentarium zur Rationalisierung und Effizienzsteigerung unserer Anwendungsprogrammierung weiter vervollständigt.

*Leiter Anwendungsprogrammierung bei Klöckner-Humboldt-Deutz.