ABAP Unit - Übersicht 
ABAP Unit ist Teil der Testlandschaft für ABAP-Programme. ABAP Unit bietet die Möglichkeit an, Modultests zu implementieren und diese sowohl manuell als auch automatisch durchzuführen.
Im zeitlichen Ablauf von Tests steht ABAP Unit nach den statischen Programmprüfungen und an erster Stelle der Laufzeittests, d.h. vor den Integrations- und Abnahmetests.
ABAP Unit erlaubt es, Fehler früh (noch in der Entwicklungsphase) zu erkennen und kostengünstig zu beseitigen. Der Mehraufwand für die Entwicklung der Tests wird in der Regel durch die resultierende Unterstützung des produktiven Codings kompensiert.
Die wichtigsten Eigenschaften von ABAP Unit für die Programmierung von Modultests sind:
Die Tests werden in ABAP programmiert. Es ist kein Erlernen zusätzlicher Testskriptsprachen notwendig.
Die Testentwicklung findet in der ABAP-Entwicklungsumgebung statt. Es ist kein Erlernen weiterer Oberflächenbedienung notwendig.
Mit dem ABAP Unit Wizard lassen sich Testklassen für Klassen (Class-Pools) und Funktionsgruppen generieren. Bei anderen Programmobjekten können Sie die Testklasse manuell anlegen.
Die Tests werden mit den getesteten Entwicklungsobjekten transportiert und stehen somit in allen Systemen der Entwicklungs- und Testlandschaft zur Verfügung.
Die wichtigsten Eigenschaften von ABAP Unit für die Ausführung und Auswertung von Modultests sind:
In der Entwicklungsphase können Tests direkt aus dem Editor aufgerufen werden.
Die Testausführung kann automatisiert werden.
Es sind Massentests durch die Integration der Modultests in das Werkzeug Code Inspector möglich.
Jeder kann ABAP-Modultests ausführen. Da ABAP Unit-Tests keine Parameter haben, ist für ihre Ausführung kein Expertenwissen erforderlich.
Eine Ergebnisanzeige bietet die komfortable Auswertung und Analyse von Modultestfehlern an.
Die integrierte Abdeckungsanalyse durch den Coverage Analyzer ermöglicht Auswertungen über den Grad der Abdeckung durch die Modultests und das Ermitteln von nicht getesteten Code-Strecken.
Modultests sind in Produktivmandanten nicht ausführbar und können somit in Produktivsystemen weder Last noch Probleme durch Nebenwirkungen verursachen.
Diese Eigenschaften sind wie folgt realisiert:
Tests werden während oder sogar vor der eigentlichen Programmentwicklung in der Form von Testmethoden in Testklassen entwickelt.
Testklassen sind lokale Klassen des zu testenden ABAP-Programms und sind damit Bestandteil dieses Programms. Durch die interne Sicht sind damit zum einen alle sichtbaren Programmbestandteile testbar und zum anderen ist die Versionsintegrität auch nach Transporten gewährleistet.
Spezielle Fixture-Methoden erlauben den Auf- und Abbau von wiederholbaren Testbedingungen für jeden Test und erlauben dadurch eine effiziente Testerstellung.
Ein Produktivsystem wird nicht durch den zusätzlichen Testcode der Programme belastet, da der Bytecode der Testklassen in produktiven Systemen nicht generiert wird.
Dieses Konzept trennt klar zwischen der Entwicklung und der Ausführung von Tests. Tests und Testbedingungen (Fixtures) werden von Entwicklern in ihre Programme eingebaut. Ausgeführt werden Tests danach in der Regel:
von den Entwicklern selbst als Einzeltests, um einzelne Entwicklungsabschnitte des produktiven Codings zu testen,
von speziellen Testern, z. B. Qualitätsmanagern, im Rahmen von Testaufgaben beim Test von fertig gestellten Programmen.