{"id":1693,"date":"2014-04-18T09:47:06","date_gmt":"2014-04-18T07:47:06","guid":{"rendered":"https:\/\/erlebe-software.de\/?p=1693"},"modified":"2021-01-18T15:37:00","modified_gmt":"2021-01-18T14:37:00","slug":"einsatz-von-abap-unit-zur-steigerung-der-entwicklungsqualitaet-teil","status":"publish","type":"post","link":"https:\/\/erlebe-software.de\/abap-und-co\/einsatz-von-abap-unit-zur-steigerung-der-entwicklungsqualitaet-teil\/","title":{"rendered":"Einsatz von ABAP Unit zur Steigerung der Entwicklungsqualit\u00e4t \u2013 Teil I"},"content":{"rendered":"\n

Im Rahmen einer Artikelserie erscheinen unter dem Thema Einsatz von ABAP Unit<\/strong><\/a> drei Beiträge zum effizienten Unit-Testing von ABAP-Entwicklungen.<\/p>\n

Dieser erste Artikel zeigt grundlegende Möglichkeiten zum Einsatz von ABAP Unit für Reports und Klassen. Der zweite Artikel geht auf Best Practices ein und erläutert, wie Unit Tests im ABAP Umfeld am besten eingesetzt werden können. Im dritten Artikel wird auf weitere Tools eingegangen, die Sie beim Unit-Testing unterstützen.<\/p>\n

\"Udemy-abap-4\"<\/a><\/p>\n

Für Besucher von Erlebe Software können wir unseren Kurs <\/span><\/span>„<\/span><\/span>SAP ABAP Dynamische Programmierung<\/span><\/span>“<\/span><\/span> mit kr<\/span><\/span>ä<\/span><\/span>ftigem Rabatt anbieten.<\/span><\/span><\/strong><\/p>\n

SAP ABAP Dynamische Programmierung<\/a><\/p>\n

Warum überhaupt ABAP Unit-Tests?<\/h2>\n

Unit-Tests dienen der Überprüfung des Verhaltens von einzelnen Komponenten. Eine Komponente im Sinne eines Unit-Testes hat dabei genau eine Funktionalität. Durch Unit-Tests lässt sich schnell und sicher feststellen, ob diese einzelnen Komponenten wie gewünscht funktionieren. Dies ist vor allem für den Anwendungsentwickler, aber auch für die Projektsteuerung wichtig. Während der Anwendungsentwickler jederzeit seinen aktuellen Arbeitsstand überprüfen kann, z.B. ob die Anwendung nach Änderungen noch die Anforderungen erfüllt, kann die Projektsteuerung den Fortschritt des Entwicklungsprojekts verfolgen. Gerade in großen Projekten liegt die Fehlersuche oft tief im Detail, durch ABAP Unit-Tests fallen diese Stellen direkt auf. Im Gegensatz zu manuellen Tests durch Benutzer, laufen automatisierte Unit-Tests in wenigen Sekunden durch und werden automatisch protokolliert. Selbstverständlich ersetzen ABAP Units-Tests manuelles Testen nicht komplett. Zu den Grenzen von ABAP Unit berichte ich im dritten Beitrag dieser Reihe.<\/p>\n

Automatisierte Tests lassen sich für klassische Reports, aber auch für ABAP OO Klassen anlegen. ABAP Unit selbst ist objektorientiert umgesetzt.<\/p>\n

<\/div>\n
\n\t
\n\t\t
\n\t\"Einsatz\n<\/div>\n\t\t
\n\t\t\t
\n\tWir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.\n<\/div>\n\t\t\t
\n\tSchon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\t
\n\t
\nSie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.\n

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.<\/p>\n

Kontaktieren Sie mich: Telefon 0211.9462 8572-16<\/strong> oder per E-Mail info@erlebe-software.de<\/a><\/strong>
\nIngo Biermann, Fachbereichsleiter\n<\/div>\n<\/div>\n<\/p>

 <\/p>\n

Unit-Tests in ABAP Reports<\/h3>\n

Zum Testen eines Reports ist eine innere Klasse anzulegen. Die Definition der Klasse beinhaltet die wichtigen Schlüsselwörter DEFINITION FOR TESTING und geschieht im privaten Sichtbarkeitsraum. Die Implementierung der Klasse erfolgt nun immer nach dem gleichen Muster:<\/p>\n

    \n
  1. Definition von Variablen für den Ausgangswert und den Erwartungswert<\/li>\n
  2. Aufruf der zu testenden Form-Routine des Reports mit dem Ausgangswert<\/li>\n
  3. Aufruf der Vergleichsmethode des ABAP-Unit-Frameworks mit dem Resultat, dem Erwartungswert und einer auszugebenden Nachricht im Fehlerfall:  cl_aunit_assert=>assert_equals( act = resultat exp = erwartungswert msg = ‘nachricht’ )<\/li>\n<\/ol>\n

    Über einen Rechtsklick auf den Report und Ausführen->Modultest wird der Unit-Test durchgeführt. Falls das Resultat nicht dem Erwartungswert entspricht, wird die Nachricht in einem Ergebnisdialog ausgegeben.  In diesem kann auch an die relevante Stelle gesprungen werden. Im positiven Fall wird nur eine Erfolgsmeldung angezeigt.<\/p>\n

    \"ABAP<\/a>

    ABAP Unit Ergebnisanzeige<\/p><\/div>\n

    Unit-Tests in ABAP OO Klassen<\/h2>\n

    Zum Testen von ABAP OO Klassen übernimmt das ABAP Unit-Framework die Arbeit, die beim Testen von Reports selbst durchzuführen sind. Für eine geöffnete Klasse kann über Hilfsmittel -> Testklassengenerierung eine ABAP Unit Testklasse mit allen nötigen Rümpfen generiert werden.<\/p>\n

    \"ABAP<\/a>

    ABAP Unit Generierung<\/p><\/div>\n

    Für jede vorhandene Methode in der zu testenden Klasse wird eine Testmethode angelegt. Für diese sind nur noch Ausgangswert und Erwartungswert nachzupflegen. Alles andere hat das Unit-Framework bereits erledigt. Nach dem Pflegen der beiden Werte kann der ABAP Unit-Test über einen Rechtsklick auf die Klasse Test->Modultest ausgeführt werden. Auch hier begrüßt einen die bereits von den Reports bekannte Ergbebnisanzeige im Fehlerfall.<\/p>\n

    \"Unser<\/div>

    E-Book: ABAP Entwicklungsrichtlinien<\/h3><\/div>

    \n\t\t\t\t\tRichtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.\t\t\t\t<\/p><\/div><\/div>

    Jetzt anfordern<\/a><\/div><\/div>

    E-Book: ABAP Entwicklungsrichtlinien<\/h3>