Show TOC

ABAP Unit und der testgesteuerte EntwicklungszyklusLocate this document in the navigation structure

Verwendung

Wie verwenden Sie die ABAP Unit in der testgesteuerten ABAP-Entwicklung? In der ABAP Workbench beeinflusst der TDD-Entwicklungszyklus auf folgende Weise die Entwicklung.

Entwicklungszyklus

In der herkömmlichen TDD schreiben Sie eine Testmethode und führen diese danach aus. Wenn der getestete Code nicht implementiert wurde, schlägt die Testmethode fehl.

Sie implementieren den zu testenden Code so, dass der Test positiv ausfällt, und wiederholen den Zyklus, bis die getestete Methode und letztlich die gesamte Klasse vollständig entwickelt und auch vollständig testbar sind.

Sie können die ABAP Unit mit ABAP-Klassen, Funktionsbausteinen und ausführbaren Programmen verwenden. In diesem Fall ist eine ABAP-Klasse beschrieben, die anderen Fälle sind jedoch ähnlich.

  1. Wenn Sie eine neue Klasse entwickeln, legen Sie ein Include für ABAP-Modultestklassen an.

  2. Implementieren Sie die Testklasse oder -klassen direkt im Quellcode-basierten Editor. ABAP-Modultestklassen sind üblicherweise lokale Klassen im Klassen-Pool einer globalen Klasse.

    Benötigen Ihre Modultests ein Test-Fixture? Sie können das Fixture mit speziellen Methoden, die ABAP Unit automatisch ausführt, anlegen und wieder entfernen.

    ABAP-Unit-Fehlermeldungen enthalten den Namen der Testmethode und der Testklasse. Daher sollten Sie Namen wählen, die die Fehlerursache beschreiben. Vorschläge finden Sie unter Namenskonventionen für ABAP Unit.

  3. Wenn Sie die Signatur einer Methode angeben, die in einer Ihrer Testmethoden getestet wird, dann definieren Sie die gestestete Methode im Class Builder.

    Zumindest die Signatur der getesteten Methode muss definiert und aktiviert werden, bevor Sie eine ABAP-Modultestmethode aktivieren können.

    Zur Zeit müssen Sie die Methode manuell definieren. Sie können die Signatur des getesteten Codes nicht aus der Testmethode generieren.

  4. Aktivieren Sie Ihre Klasse (einschließlich aller Includes).

  5. Führen Sie die ABAP-Modultests aus, um die Implementierung voran zu treiben, die Sie in dem getesteten Code vornehmen.

    In dem Code, an dem Sie arbeiten, führen Sie die ABAP-Modultests am einfachsten folgendermaßen durch:

    • Geben Sie die Tastenkombination CTRL-SHIFT-F10 ein, oder

    • Wählen Sie Anfang des Navigationspfads <Objektmenü> Nächster Navigationsschritt Ausführen Nächster Navigationsschritt Modultests Ende des Navigationspfads

      Sie können Ihre Modultests auch mit Messung der Quelltextabdeckung ausführen: Anfang des Navigationspfads <Objektmenü> Nächster Navigationsschritt Ausführen Nächster Navigationsschritt Modultests mit Nächster Navigationsschritt Abdeckungsmessung Ende des Navigationspfads.

    Wenn Sie ABAP-Modulfehler erhalten, wiederholen Sie das Verfahren ab Schritt 2. Andernfalls definieren Sie die nächste Modultestreihe.

Hinweis

Wurden die getesteten Methoden bereits angelegt?

Dann können Sie den ABAP Unit Wizard verwenden, um implementierbereite Definitionen von Testklassen und -methoden aus den getesteten Methoden zu generieren. Der Assistent kann in dem Maße neue Testmethoden hinzufügen, wie Sie neue zu testende Methoden hinzufügen.

Sie können den Assistenten auch verwenden, um ABAP-Modultestklassen für Funktionsbausteine in einer Funktionsgruppe anzulegen. Für ausführbare Programme steht der Assistent nicht zur Verfügung.

Nachdem die Entwicklung abgeschlossen ist, können Sie ABAP-Modultests natürlich weiterhin als Regressionstests verwenden. Wenn Sie den getesteten Code ändern oder erweitern, können Sie dann sicher sein, dass der geänderte Code korrekt funktioniert und dass vorhandene Funktionen nicht beschädigt werden.

Automatische Massentests können mit dem Code Inspector ebenfalls durchgeführt werden.

Sie können auch Ihre eigene automatische Ausführung von ABAP-Modultests einrichten. Öffnen Sie hierzu in der Transaktion SE80 das Kontextmenü für ein oder mehrere ausgewählte Objekte und wählen Sie Anfang des Navigationspfads Ausführen Nächster Navigationsschritt Modultests mit Nächster Navigationsschritt Einplanung Ende des Navigationspfads. Sie können die Ergebnisse der Modultests anzeigen, mit oder ohne Messung der Quelltextabdeckung. Oder Sie können die Modultests im Hintergrund ausführen und die Ergebnisse per Mail erhalten.