
Checkpoints
Checkpoints in ABAP sind nicht-operationale Anweisungen, die ausschließlich zu Testzwecken dienen. Es gibt immer-aktive und aktivierbare Checkpoints. Letztere sind nur wirksam, wenn sie zuvor im System explizit aktiviert wurden. Eine solche Aktivierung ist im laufenden Betrieb möglich und kann auf bestimmte Benutzer oder Applikationsserver eingeschränkt werden.
Breakpoints
Mit der Anweisung BREAK-POINT wird ein Haltepunkt definiert. Während der Dialogverarbeitung wird die Programmausführung bei Erreichen dieser Anweisung angehalten und der ABAP-Debugger gestartet. In der Hintergrundverarbeitung wird die Programmausführung hingegen nicht unterbrochen. Es gibt sowohl eine immer-aktive als auch eine aktivierbare Variante dieser Anweisung.
Logpoints
Die Anweisung LOG-POINT dient zur Protokollierung des Programmablaufs. Das Erreichen dieser Anweisung wird in einem aggregierenden Protokoll festgehalten. Optional können Variableninhalte mit im Protokoll festgehalten werden. Diese Anweisung ist nur in einer aktivierbaren Variante verfügbar.
Assertions
Die Anweisung ASSERT stellt eine Zusicherung dar, die anhand des zugehörigen logischen Ausdrucks zur Laufzeit überprüft wird. Ist die logische Bedingung nicht erfüllt, so führt dies bei einer immer-aktiven Assertion stets zu einem Laufzeitfehler. Bei einer aktivierbaren Assertion kann alternativ das Anhalten im Debugger analog zu BREAK-POINT oder die Protokollierung analog zu LOG-POINT gewählt werden. Bei nicht-aktiven Assertions erfolgt keine Auswertung des logischen Ausdrucks.
Modultests
In jedes ABAP-Programm können durch Deklaration und Implementierung einer lokalen Testklasse Modultests aufgenommen werden. Der Zusatz FOR TESTING zur Anweisung CLASS DEFINITION kennzeichnet eine lokale Klasse als Testklasse. Innerhalb der Testklasse können Testmethoden implementiert werden, die die Funktionalität des umgebenden Programms aufrufen und das Ergebnis verifizieren. Der umgekehrte Zugriff des umgebenden Programms auf Komponenten der Testklasse ist hingegen verboten.
Testmethoden innerhalb einer Testklasse werden durch den Zusatz FOR TESTING zur Anweisung METHODS gekennzeichnet. Während eines Testlaufs, der über die ABAP Workbench bzw. Eclipse gestartet werden kann, werden die Testmethoden nacheinander von der Laufzeitumgebung ausgeführt. Die Testmethoden melden ihre Ergebnisse unter Verwendung von Methoden der Klasse cl_aunit_assert an die Modultest-Infrastruktur zurück. Neben Testmethoden kann eine Testklasse auch weitere Methoden enthalten. Zum Aufbau einer geeigneten Testkonfiguration (Fixture) können private Methoden mit folgenden vordefinierten Namen implementiert werden: class_setup, class_teardown, setup und teardown. Die ersten beiden Methoden sind statisch und werden automatisch einmal vor beziehungsweise nach allen Tests der Klasse ausgeführt. Die letzteren beiden Instanzmethoden werden jeweils vor beziehungsweise nach der Ausführung jeder einzelnen Testmethode von der Laufzeitumgebung aufgerufen.