Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

18.08.1978 - 

Werkzeug zum Testen von Cobol-Programmen:

Code-Tester analysiert Quellenprogramme

Ein EDV-Programm wird in der Praxis meist dann als ausgetestet angesehen, wenn der geplante Fertigstellungstermin erreicht ist und das Programm mit einigen zufällig zustande gekommenen Testdaten fehlerfreie Ergebnisse geliefert hat. Das in diesem Zustand in den "echten" Einsatz gebrachte Programm wird oft über Monate und Jahre hinaus Fehler offenbaren, die von Anbeginn in ihm steckten oder bei der Fehlerbehebung nachträglich hineinprogrammiert wurden. Neben der mangelnden organisatorischen Vorbereitung und wenig effektiven Programmierverfahren ist das unvollständige, unsystematische Testen von EDV-Programmen dafür verantwortlich, daß bis zu 60 Prozent der Personalkapazität an Programmierern heute durch Wartung und Pflege bestehender Software gebunden sind.

Nach einer Faustregel sind Fehler, die nicht im Modultest erkannt wurden, nur mit 50mal höheren Kosten bei Programmen im Einsatz zu beseitigen. Bei Dialog-Anwendungen und Anwendungen auf dem Gebiete der Prozeßsteuerung können noch erheblich höhere Kosten anfallen. Diese Erkenntnis macht es notwendig, dem Testen von Programmen allerhöchste Aufmerksamkeit zu schenken.

Grundsätzlich kann ein EDV-Programm nach zwei Methoden daten- oder codebezogen systematisch getestet werden.

Ein hundertprozentiger datenbezogener Test mit allen zulässigen Datenkombinationen ist selbst bei kleinsten EDV-Modulen unmöglich. Die Anforderungen an einen systematischen datenbezogenen Test müssen daher auf die korrekte Verarbeitung einer repräsentativen Untermenge an Datenkombinationen reduziert werden.

Systematisches Testen von EDV-Programmen ist ohne Testwerkzeuge nicht denkbar.

Die vorhandenen Testwerkzeuge für den datenbezogenen Test sind sehr unvollkommen. Sie beschränken sich im wesentlichen auf die bekannten (...)tengeneratoren. Nach brauchbaren theoretischen Ansätzen zur Schaffung von repräsentativen Testdatenumgebungen für ein beliebiges EDV-Programm wird noch gesucht.

Beim codebezogenen Test wird das Programm mit seinen Programmzweigen als ein gerichteter Graph betrachtet

(Bild 1). Jede Kante des Graphen mindestens einmal in einer Testserie zu durchlaufen, ist die Minimalforderung an einen systematischen codebezogenen Test.

Für den codebezogenen Test von Cobol-Programmen hat Krupp Datenverarbeitung das Testwerkzeug Cocot (Cobol-Code-Tester) entwickelt. Der Cobol-Code-Tester analysiert Cobol-Quellenprogramme. In alle Programmzweige (Kanten des gerichteten Programm-Graphen) werden automatisch Durchlaufzähler eingefügt. Mit dem von Cocot generierten Cobol-Quellenprogramm werden anschließend die Programmteste durchgeführt. In jedem Testlauf wird festgestellt, ob und wie oft ein Programmzweig angesprochen wurde. Bei Programmende wird eine Übersicht über alle Programmzweige ausgegeben. Sie schließt ab mit dem Nachweis, wie viele der Programmzweige absolut und prozentual durchlaufen wurden (Bild 2).

Der Einsatz des Testwerkzeuges Cocot hat zu einer erheblichen Steigerung der Effektivität beim Testen von Cobol-Programmen geführt. Da unbestechlich alle Programmzweige von Cocot gekennzeichnet und nicht durchlaufene nachgewiesen werden, steht zum ersten Mal ein Kontrollmaßstab zur Verfügung, der Aussagen über den Testgrad des Programms zuläßt. Mit dem Nachweis noch nicht durchlaufener Programmzweige erhält der Tester eine Unterlage zur gezielten Erstellung weiterer Testdaten. Toter Code und falsche Ablauflogik werden beim Einsatz des Testwerkzeuges Cocot aufgespürt und können berichtigt werden. Der wiederholte Test mit einem einzigen Testdatenbestand weicht dem Testen mit sich verändernden Testdatenbeständen, da immer angestrebt wird, 100 Prozent der Programmzweige zu durchlaufen.

Ein Testwerkzeug wie der Cobol-Code-Tester Cocot war überfällig. Das zeigt deutlich das Ausmaß, in dem sich unsere Programmierer und Tester mittlerweile dieses Werkzeugs bedienen.

*Dipl.-Math. Hans-Peter Niederhausen ist Hauptabteilungsleiter im Geschäftsbereich Datenverarbeitung der Fried. Krupp GmbH, Krupp Gemeinschaftsbetriebe