Cobol-Batch-Programmtest am CICS-Bildschirm:

In Einzelschritten durch die Cobol-Logik

03.09.1982

FRANKFURT - Nicht mehr zeitgemäß sind nach Ansicht von Joachim Hübner * die bisher zur Verfügung stehenden Testhilfen für Cobol-Programmierer. Er beschreibt im folgenden eine neue Testhilfe, die in seinem Haus entwickelt wurde und die Testprozedur verkürzen soll.

Bei Einsatz des Programmprodukts Online-Cobol-Trace wird das zu testende Programm wie bisher mit dem vorhandenen Cobol-Compiler übersetzt und gelinkt. Nach Aufruf des Programmes in einer Batch-Partition durchläuft es jedoch nicht wie üblich Anweisung für Anweisung, sondern es "wartet" vor der ersten Anweisung der Procedure Division darauf, daß der Tester über ein CICS-Programm Verbindung mit ihm aufnimmt.

Erst nachdem unter CICS der entsprechende Programmname eingegeben wurde, wird der TRACE gestartet.

Nach dem Einschalten des TRACE am Bildschirm erscheint auf den oberen 15 Zeilen ein Ausschnitt aus der Umwandlungsliste des Programmes. Die mittlere dieser Zeilen zeigt diejenige Anweisung, welche ausgeführt wird, nachdem der Tester die Eingabetaste des Sichtgerätes drückt. Da nach erscheint die nächste auszuführende Anweisung.

Durch Betätigen der Eingabetaste ist es also möglich, das Programm in Einzelschritten zu testen, wobei immer das aktuelle Statement mitsamt seiner Umgebung angezeigt wird. Mit dieser Single-step-Methode ist es leicht möglich zu kontrollieren, ob die tatsächlich codierte Programmlogik der gewünschten entspricht.

Wird innerhalb der Einzelschrittverarbeitung erkannt, daß der gewünschte Programmablauf sich vom tatsächlichen unterscheidet, so hat der Tester die Möglichkeit, mit der "GO"-Anweisung und der Zeilennummer, zu welcher verzweigt werden soll, den Lauf des Programmes zu beeinflussen. Eine "GO"-Anweisung ist auf jedes im Programm codierte Statement erlaubt. Nach Ausführung dieses Befehles arbeitet das Programm ausgehend von der neuen Anweisungsnummer wieder in Einzelschritten.

Um ein größeres Programm nicht mit tausenden von Einzelschritten testen zu müssen, kann sich der Tester der "Begin"-Anweisung bedienen. "Begin bei einer bestimmten Anweisungsnummer" schaltet die Einzelschrittverarbeitung aus und meldet sich erst dann wieder am Bildschirm, wenn die Programmlogik die ausgewählte Anweisung erreicht hat. Das System schaltet dann wieder auf Einzelschrittverarbeitung um.

Wenn ein unter der Kontrolle von ONCT laufendes Programm auf eine abnormale Programmunterbrechung trifft (Datenfehler, Division durch Null, Protetion), so wird diese Unterbrechung am Bildschirm angezeigt. Der Bediener hat folgende Möglichkeiten, den Test weiterzuführen:

a) Mit der Anweisung "OMIT" kann er diese Cobol-Anweisung überspringen. Sie wird nicht ausgeführt und der Programmablauf wird mit der nächsten Anweisung fortgesetzt.

b) Mit der Anweisung "GO" kann er an einer anderen Stelle des Programmes den Test fortfahren.

c) Durch Eingabe der "SHOW"-Anweisung und eines symbolischen Feldnamens aus dem Programm, kann er sich die Inhalte aller Felder hexa- oder alphanumerisch anzeigen lassen. Feldinhalte, welche einen eventuellen Programmabbruch verursacht haben, können mit dem "Modify"-Befehl am Bildschirm verändert werden. Nach dem Korrigieren von Feldinhalten kann diejenige Anweisung, welche den Programmabbruch verursacht hat, wiederholt werden.

Während einer Phase des ausgeschalteten TRACE (beim Ausführen einer "Begin"-Anweisung) wird bei einem Programmabbruch ebenfalls der TRACE reaktiviert und das fehlerhafte Statement angezeigt.

Alle über CICS eingegebenen Eingriffe in das zu testende "Batch"-Programm werden auf einer Liste protokolliert, so daß eine Änderung des Quellenprogrammes leicht möglich ist.

* Joachim Hübner, Online-Systeme GmbH, Frankfurt.