Funktionstests
   in SAP


 Assertations & Breakopints, ABAP Unit und eCATT

                            … es geht auch einfach
Ariane 5 – Erstflug!




 • 290.000.000 € Schaden
 • Ursache: Arithmetischer Überlauf bei der Umwandlung einer 64-
   Bit-Gleitkomma-Zahl in eine 16-Bit-Ganzzahl
 • Für eine nicht mehr benötigte Softwarekomponente (Wurde für
   Ariane 4 für Flugbahnberechnung verwendet)
                                     … es geht auch einfach
Agenda


         Software Tests
         ABAP-Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
Agenda


         Software Tests
         ABAP-Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
Problemstellung
                      Eigenentwicklung
                                                         Customizing
                          Add Ons




                  Upgrade/Patches                        Transporte                            Transporte




         SAP                              Kunde                                Kunde                            Kunde
                                    Entwicklungssystem                  Test/Qualitätssystem                Produktivsystem

•   Upgrades, Eigenentwicklungen, Customizing verändern laufend das System
•   Tests prüfen
     –    Führen die Veränderungen zum gewünschten Systemverhalten?
     –    Funktionieren Erweiterungen auch nach Patches oder Upgrades wie gewünscht?

                                                                       … es geht auch einfach
Testtools

     Entwicklertest      Integrationstest     Systemtest       Akzeptanztest

         •Assertations       •ABAP Unit           •eCATT
         •Breakpoints        •Gui Scripting
         •ABAP Unit          •eCATT
         •eCATT




                                                    … es geht auch einfach
Entwicklertests

       Entwicklertest      Integrationstest     Systemtest       Akzeptanztest

           •Assertations       •ABAP Unit           •eCATT
           •Breakpoints        •Gui Scripting
           •ABAP Unit          •eCATT
           •eCATT




• Algorithmus, Logic
• Schnittstellen
• Fehlerhandling



                                                      … es geht auch einfach
Integrationstests

           Entwicklertest      Integrationstest     Systemtest       Akzeptanztest

               •Assertations       •ABAP Unit           •eCATT
               •Breakpoints        •Gui Scripting
               •ABAP Unit          •eCATT
               •eCATT



•   Interaktion von Softwarekomponenten
     – In Kombination von Softwarekomponenten kann das System fehlerhaft reagieren
•   Schnittstellenfehler welche bei Entwicklertests nicht auftreten
•   Timing Probleme
     – Können bei Entwicklertests nicht erkannt werden
• Regression Tests
     – Sicherstellung, dass neue Entwicklungen keinen negativen Einfluss auf bestehende
       Module haben
                                                          … es geht auch einfach
Systemtests

        Entwicklertest      Integrationstest     Systemtest       Akzeptanztest

            •Assertations       •ABAP Unit           •eCATT
            •Breakpoints        •Gui Scripting
            •ABAP Unit          •eCATT
            •eCATT




• Vorwiegend Tests durch Fachbereich
   – Wurden die Anforderungen korrekt umgesetzt?




                                                       … es geht auch einfach
Akzeptanztest

       Entwicklertest      Integrationstest     Systemtest       Akzeptanztest

           •Assertations       •ABAP Unit           •eCATT
           •Breakpoints        •Gui Scripting
           •ABAP Unit          •eCATT
           •eCATT




• Wie Systemtests, jedoch mit Kundeneinbindung




                                                      … es geht auch einfach
Agenda


         Software Tests
         ABAP Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
ABAP Checkpoints

      Assertions              Breakpoints                    Logpoints
   • ASSERT                  • BREAK-POINT
   • ASSERT ID … CONDITION   • BREAK-POINT ID …           • LOG-POINT ID …




Zentral mit der Transaktion SAAB aktivierbar/deaktivierbar


                                                  … es geht auch einfach
Assertions
     IF L_TEST EQ SPACE.
        MESSAGE ‘ERROR‘ TYPE ‘X‘.
     ENDIF.



     ASSERT L_TEST NE SPACE.




     ASSERT ID HUGO L_TEST NE SPACE.




                               … es geht auch einfach
Breakpoints
     BREAK-POINT.




     BREAK ‘USERNAME‘.




     BREAK-POINT ID HUGO.




                            … es geht auch einfach
Logpoints



     LOG-POINT ID HUGO.




                          … es geht auch einfach
Agenda


         Software Tests
         ABAP Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
Unit (Modul)


  – komplexer Codeabschnitt
  – definiertem Input / Aktion
  – überprüfbare Ergebnisse / Effekte

  Methode, Funktionsbaustein, Forms, Reports,…

                              … es geht auch einfach
ABAP UNIT Tests
 – ABAP
 – SAP Entwicklungsumgebung (SE80, SE38,SE24…)
 – Start aus Editor / ABAP UNIT Test Browser
 – automatisiert und massenfähig (CI)




                           … es geht auch einfach
Aufbau
                                Testmethode
                                     a
         Testklasse 1
                                Testmethode
  Unit                               b

                                Testmethode
         Testklasse 2
                                     a

                 … es geht auch einfach
Testklassen

  – Lokale Klasse in ABAP-Programme - FOR TESTING
  – Ausführbare Programme, Class-Pools,
    Funktionsgruppen, Modul-Pools und Subroutinen-
    Pools
  – Testmethoden - FOR TESTING



                            … es geht auch einfach
Testmethoden

  – parameterlose Instanzmethode
  – private (protected)
  – Testen der Unit
  – Auswertung und Protokollierung -
    CL_AUNIT_ASSERT



                             … es geht auch einfach
Definition Testklasse
    CLASS lcl_utest_count        "#AU Duration Short
    DEFINITION FOR TESTING.      "#AU Risk_Level Critical

     PRIVATE SECTION.
      METHODS:
      ut_select_1 FOR TESTING,
      ut_select_2 FOR TESTING

    ENDCLASS.




                                            … es geht auch einfach
Implementierung Testklasse
    CLASS lcl_utest_count IMPLEMENTATION.
    METHOD ut_select_1.

     DATA: lr_test TYPE i.

     PERFORM do_someting USING 'A'
                         CHANGING l_test.

     cl_aunit_assert=>assert_equals(
             exp       =1
             act       = l_test
             msg       = 'There is a bug' ).
    ENDMETHOD.


                                           … es geht auch einfach
UNIT Test ausführen


         SE38, SE24,…
                                          700 EHP2




                        … es geht auch einfach
Ergebnisse auswerten




                       … es geht auch einfach
Live on System




                 … es geht auch einfach
CL_AUNIT_ASSERT (CL_ABAP_UNIT_ASSERT)
•   ASSERT_EQUALS
•   ASSERT_DIFFERS
•   ASSERT_BOUND
•   ASSERT_NOT_BOUND
•
•
    ASSERT_INITIAL
    ASSERT_NOT_INITIAL
                                            700 EHP2
•   ASSERT_CHAR_CP
•   ASSERT_CHAR_NP
•   ASSERT_TEXT_MATCHES
•   ASSERT_TABLE_CONTAINS
•   ASSERT_NUMBER_BETWEEN
•   ASSERT_SUBRC
•   ASSERT_EQUALS_F (ASSERT_EQUALS_FLOAT)
•   ASSERT_THAT
•   FAIL
•   ABORT



                                               … es geht auch einfach
Duration und Risk_Level (Klasse)
CLASS lcl_utest_count     "#AU Duration Short
DEFINITION FOR TESTING.   "#AU Risk_Level Critica

CLASS lcl_utest_count DEFINITION FOR TESTING
                                  DURATION MEDIUM "700 EHP2
                                  RISK LEVEL HARMLESS.

    Duration                    Risk_Level
         •   SHORT                   •   CRITICAL              TX
         •   MEDIUM                  •   DANGEROUS
         •   LONG                    •   HARMLESS
                                                       SAUNIT_CLIENT_SETUP




                                              … es geht auch einfach
Level und Quit (Methode)
cl_aunit_assert=>assert_bound(
    act         = lr_ref
    msg         = 'No Reference returned'
    level       = if_aunit_constants=>critical
    quit       = if_aunit_constants=>method ).


     Level                        Quit
         •   TOLERABLE                   •   NO
         •   CRITICAL*                   •   METHOD*
         •   FATAL                       •   CLASS
                                         •   PROGRAM




                                                  … es geht auch einfach
Globale Testklassen

                • häufig verwendete Tests
                • Initialisieren Testdaten




                              … es geht auch einfach
Fixtures

•   CLASS_SETUP
•   SETUP
•   Testmethode
•   TEARDOWN
•   CLASS_TEARDOWN

                     … es geht auch einfach
Code Inspector – TX SCI




                          … es geht auch einfach
Agenda


         Software Tests
         ABAP Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
SAP-Gui Scripting
• Simuliert das Verhalten von Benutzern
• Kann für Lasttests verwendet werden
• VBS - Visual Basic Scripts




                           … es geht auch einfach
Skriptentwicklung




• Aufzeichnung der Transaktion erzeugt VBS-
  Script-File


                           … es geht auch einfach
Agenda


         Software Tests
         ABAP Checkpoints
         ABAP Unit
         Gui Scripting
         Testautomation mit eCATT




                                    … es geht auch einfach
Mensch oder Maschine
           Intelligenz/Kreativität
           Finden von Workarounds
           Hoher Personaleinsatz
           Zeitaufwändig
           Geringe Wiederverwendbarkeit
           Geringe Reproduzierbarkeit


           Geringer Personaleinsatz
           Schneller als manuelle Tests
           Wiederverwendbar
           Reproduzierbare Fehler
           Maschine ist dumm
           Schulungsaufwand Tools
           Aufwand Testfallerstellung


                                          … es geht auch einfach
CATT vs. eCATT
• eCATT ist eine Weiterentwicklung von CATT welches seit R/3 3.0
  verfügbar ist
   – Unterstützt alte GUI Transaktionen, SAP GUI Controls, Web Services, Web
     Dynpros, …
• CATT
   – Nur R/3 Standardtransaktionen verwendbar
   – keine externen Applikationen oder internetbasierte Anwendungen
     möglich
   – Keine neuen CATT Testscripts ab 6.40
   – Keine Anpassung von CATT Testscripts ab 7.00


                                          … es geht auch einfach
eCATT - Mandantenfreigabe
• Der Start von eCATT Testscripts kann je Mandant aktiviert werden
     –   eCATT und CATT nicht erlaubt
     –   eCATT und CATT erlaubt
     –   eCATT und CATT nur bei „Trusted RFC“ erlaubt
     –   eCATT erlaubt, aber FUN/ABAP und CATT nicht erlaubt
     –   eCATT erlaubt, aber FUN/ABAP und CATT nur bei „Trusted RFC“ erlaubt
•   Sollte in einem Produktivmandant deaktiviert sein.




                                                      … es geht auch einfach
eCATT – Gui Scripting
• Profilparameter sapgui/user_scripting ist auf TRUE zu setzen.
   – Mit RZ11 oder RZ10




                                     … es geht auch einfach
eCATT – Gui Scripting
• In den SAP GUI Optionen muss im Bereich Accessibility
  & Scripting das Scripting aktiviert sein




                               … es geht auch einfach
eCATT – Testobjekte
                                     Testkonfiguration

         Testdaten-Container
      Wieder verwendbare Datensätze für die
                 Testausführung

                                                           Testskript
                                                 Folge von Kommandos für den Testablauf
      Systemdaten-Container
     Liste von Systemen, welche durch den Test
                 verwendet werden




                                                 … es geht auch einfach
eCATT – Systemdaten
• Kapselung der systemspezifischen Aspekte von den
  Testskripts
• Abbildung der Systeme erfolgt im Systemdaten
  Container



  Logisches Ziel
     in den
   Testskripts

                              RFC Destination


                              … es geht auch einfach
eCATT – Testskript
                      Testskript
                      Attribute
         Import
                  Importparameter
                                               Export
                   Exportparameter

                   Lokale Variablen

                  Skript-Kommandos

                                   … es geht auch einfach
eCATT – Testskriptfolge



     Testskript          Testskript               Testskript
     (Create Partner)   (Create Activity)         (Check Data)




                                       … es geht auch einfach
eCATT – Testskriptfolge

                  Testskript




     Testskript   Testskript               Testskript




                               … es geht auch einfach
eCATT – Skripteditor



 Parameter



                                                Kommando-
                                                schnittstelle



Skriptbefehle




                       … es geht auch einfach
eCATT – Skript Sprache
      ABAP Objects                     Checks                  Script Control                     Customizing                  Enterprise Services

 •Objekte instanzieren        •Variablen prüfen           •DO/ENDDO                           •BCSET                         •Webservices
 •Objektmethoden              •Datenbankinhalt            •IF/ELSE/ENDIF                      •RESTAB
  aufrufen                     prüfen                     •WAIT                               •SETTAB
 •Attribute                   •SAPGUI Felder prüfen       •BREAK
  setzen/lesen/prüfen                                     •MESSAGE




                                                                                Test Script
         Log                 Parameters           Program Control                                            Database                 UI Control
                                                                                Referenzen
 •Protokolleinträge      •Lesen & Setzen von    •ABAP/ENDABAP           •Referenz auf CATT              •Datenbankzugriffe      •SAPGui klassisch
                          Parameterwerten       •Funktionsbausteine     •Referenz auf eCATT                                     •SAPGui Controls
                         •Tabellenzeilen        •RESCON?                                                                        •Web Dynpro
                          bearbeiten



eCATT Unterstützt nicht CRM Web UI – Integrierbar über externe Testtools! (z.B. QTB)

                                                                                … es geht auch einfach
eCATT – Skripteditor – Key Features
•   Einfügen über Muster
•   Automatische Parametererstellung
•   Globale Suche
•   Verwendungsnachweise
•   Debugging




                               … es geht auch einfach
eCATT – Testdaten
Testdaten werden über Testkonfigurationen bereitgestellt
Erfassung erfolgt manuell oder über Textfile (Excel)
möglich
                         Testkonfiguration



                         Import Parameter
         Excel File
       manuell erfasst
                                            Testskript



                                              … es geht auch einfach
Test Workbench
                                Test Paket             Anwender

   Test Plan
                                Test Paket               eCATT



• User führt Test durch
• Overall Status ersichtlich
   – User setzt Status für manuelle Tests
   – eCATT Testscripts setzen den Status automatisch



                                              … es geht auch einfach
Testdatencontainer
• Externe Testdaten
   – Keine Verwendung von strukturierten Parametern (Struktur, Tabelle)
     möglich
• Externe Testdaten während der Ausführung
   – File muss vom Frontend erreichbar sein. Ebenfalls keine Verwendung von
     strukturierten Parametern möglich




                                          … es geht auch einfach
User in eCATT Tests
• Verwendung unterschiedlicher „User“ in einem Testcript
   – Kann im Testscript nicht direkt angegeben werden. Test wird mit dem
     angemeldeten User vorgenommen.

   – Workaround über den Systemdatencontainer und einer eigenen RFC Verbindung
     je User möglich




                                              … es geht auch einfach

Funktionstests in SAP

  • 1.
    Funktionstests in SAP Assertations & Breakopints, ABAP Unit und eCATT … es geht auch einfach
  • 2.
    Ariane 5 –Erstflug! • 290.000.000 € Schaden • Ursache: Arithmetischer Überlauf bei der Umwandlung einer 64- Bit-Gleitkomma-Zahl in eine 16-Bit-Ganzzahl • Für eine nicht mehr benötigte Softwarekomponente (Wurde für Ariane 4 für Flugbahnberechnung verwendet) … es geht auch einfach
  • 3.
    Agenda Software Tests ABAP-Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 4.
    Agenda Software Tests ABAP-Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 5.
    Problemstellung Eigenentwicklung Customizing Add Ons Upgrade/Patches Transporte Transporte SAP Kunde Kunde Kunde Entwicklungssystem Test/Qualitätssystem Produktivsystem • Upgrades, Eigenentwicklungen, Customizing verändern laufend das System • Tests prüfen – Führen die Veränderungen zum gewünschten Systemverhalten? – Funktionieren Erweiterungen auch nach Patches oder Upgrades wie gewünscht? … es geht auch einfach
  • 6.
    Testtools Entwicklertest Integrationstest Systemtest Akzeptanztest •Assertations •ABAP Unit •eCATT •Breakpoints •Gui Scripting •ABAP Unit •eCATT •eCATT … es geht auch einfach
  • 7.
    Entwicklertests Entwicklertest Integrationstest Systemtest Akzeptanztest •Assertations •ABAP Unit •eCATT •Breakpoints •Gui Scripting •ABAP Unit •eCATT •eCATT • Algorithmus, Logic • Schnittstellen • Fehlerhandling … es geht auch einfach
  • 8.
    Integrationstests Entwicklertest Integrationstest Systemtest Akzeptanztest •Assertations •ABAP Unit •eCATT •Breakpoints •Gui Scripting •ABAP Unit •eCATT •eCATT • Interaktion von Softwarekomponenten – In Kombination von Softwarekomponenten kann das System fehlerhaft reagieren • Schnittstellenfehler welche bei Entwicklertests nicht auftreten • Timing Probleme – Können bei Entwicklertests nicht erkannt werden • Regression Tests – Sicherstellung, dass neue Entwicklungen keinen negativen Einfluss auf bestehende Module haben … es geht auch einfach
  • 9.
    Systemtests Entwicklertest Integrationstest Systemtest Akzeptanztest •Assertations •ABAP Unit •eCATT •Breakpoints •Gui Scripting •ABAP Unit •eCATT •eCATT • Vorwiegend Tests durch Fachbereich – Wurden die Anforderungen korrekt umgesetzt? … es geht auch einfach
  • 10.
    Akzeptanztest Entwicklertest Integrationstest Systemtest Akzeptanztest •Assertations •ABAP Unit •eCATT •Breakpoints •Gui Scripting •ABAP Unit •eCATT •eCATT • Wie Systemtests, jedoch mit Kundeneinbindung … es geht auch einfach
  • 11.
    Agenda Software Tests ABAP Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 12.
    ABAP Checkpoints Assertions Breakpoints Logpoints • ASSERT • BREAK-POINT • ASSERT ID … CONDITION • BREAK-POINT ID … • LOG-POINT ID … Zentral mit der Transaktion SAAB aktivierbar/deaktivierbar … es geht auch einfach
  • 13.
    Assertions IF L_TEST EQ SPACE. MESSAGE ‘ERROR‘ TYPE ‘X‘. ENDIF. ASSERT L_TEST NE SPACE. ASSERT ID HUGO L_TEST NE SPACE. … es geht auch einfach
  • 14.
    Breakpoints BREAK-POINT. BREAK ‘USERNAME‘. BREAK-POINT ID HUGO. … es geht auch einfach
  • 15.
    Logpoints LOG-POINT ID HUGO. … es geht auch einfach
  • 16.
    Agenda Software Tests ABAP Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 17.
    Unit (Modul) – komplexer Codeabschnitt – definiertem Input / Aktion – überprüfbare Ergebnisse / Effekte Methode, Funktionsbaustein, Forms, Reports,… … es geht auch einfach
  • 18.
    ABAP UNIT Tests – ABAP – SAP Entwicklungsumgebung (SE80, SE38,SE24…) – Start aus Editor / ABAP UNIT Test Browser – automatisiert und massenfähig (CI) … es geht auch einfach
  • 19.
    Aufbau Testmethode a Testklasse 1 Testmethode Unit b Testmethode Testklasse 2 a … es geht auch einfach
  • 20.
    Testklassen –Lokale Klasse in ABAP-Programme - FOR TESTING – Ausführbare Programme, Class-Pools, Funktionsgruppen, Modul-Pools und Subroutinen- Pools – Testmethoden - FOR TESTING … es geht auch einfach
  • 21.
    Testmethoden –parameterlose Instanzmethode – private (protected) – Testen der Unit – Auswertung und Protokollierung - CL_AUNIT_ASSERT … es geht auch einfach
  • 22.
    Definition Testklasse CLASS lcl_utest_count "#AU Duration Short DEFINITION FOR TESTING. "#AU Risk_Level Critical PRIVATE SECTION. METHODS: ut_select_1 FOR TESTING, ut_select_2 FOR TESTING ENDCLASS. … es geht auch einfach
  • 23.
    Implementierung Testklasse CLASS lcl_utest_count IMPLEMENTATION. METHOD ut_select_1. DATA: lr_test TYPE i. PERFORM do_someting USING 'A' CHANGING l_test. cl_aunit_assert=>assert_equals( exp =1 act = l_test msg = 'There is a bug' ). ENDMETHOD. … es geht auch einfach
  • 24.
    UNIT Test ausführen SE38, SE24,… 700 EHP2 … es geht auch einfach
  • 25.
    Ergebnisse auswerten … es geht auch einfach
  • 26.
    Live on System … es geht auch einfach
  • 27.
    CL_AUNIT_ASSERT (CL_ABAP_UNIT_ASSERT) • ASSERT_EQUALS • ASSERT_DIFFERS • ASSERT_BOUND • ASSERT_NOT_BOUND • • ASSERT_INITIAL ASSERT_NOT_INITIAL 700 EHP2 • ASSERT_CHAR_CP • ASSERT_CHAR_NP • ASSERT_TEXT_MATCHES • ASSERT_TABLE_CONTAINS • ASSERT_NUMBER_BETWEEN • ASSERT_SUBRC • ASSERT_EQUALS_F (ASSERT_EQUALS_FLOAT) • ASSERT_THAT • FAIL • ABORT … es geht auch einfach
  • 28.
    Duration und Risk_Level(Klasse) CLASS lcl_utest_count "#AU Duration Short DEFINITION FOR TESTING. "#AU Risk_Level Critica CLASS lcl_utest_count DEFINITION FOR TESTING DURATION MEDIUM "700 EHP2 RISK LEVEL HARMLESS. Duration Risk_Level • SHORT • CRITICAL TX • MEDIUM • DANGEROUS • LONG • HARMLESS SAUNIT_CLIENT_SETUP … es geht auch einfach
  • 29.
    Level und Quit(Methode) cl_aunit_assert=>assert_bound( act = lr_ref msg = 'No Reference returned' level = if_aunit_constants=>critical quit = if_aunit_constants=>method ). Level Quit • TOLERABLE • NO • CRITICAL* • METHOD* • FATAL • CLASS • PROGRAM … es geht auch einfach
  • 30.
    Globale Testklassen • häufig verwendete Tests • Initialisieren Testdaten … es geht auch einfach
  • 31.
    Fixtures • CLASS_SETUP • SETUP • Testmethode • TEARDOWN • CLASS_TEARDOWN … es geht auch einfach
  • 32.
    Code Inspector –TX SCI … es geht auch einfach
  • 33.
    Agenda Software Tests ABAP Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 34.
    SAP-Gui Scripting • Simuliertdas Verhalten von Benutzern • Kann für Lasttests verwendet werden • VBS - Visual Basic Scripts … es geht auch einfach
  • 35.
    Skriptentwicklung • Aufzeichnung derTransaktion erzeugt VBS- Script-File … es geht auch einfach
  • 36.
    Agenda Software Tests ABAP Checkpoints ABAP Unit Gui Scripting Testautomation mit eCATT … es geht auch einfach
  • 37.
    Mensch oder Maschine Intelligenz/Kreativität Finden von Workarounds Hoher Personaleinsatz Zeitaufwändig Geringe Wiederverwendbarkeit Geringe Reproduzierbarkeit Geringer Personaleinsatz Schneller als manuelle Tests Wiederverwendbar Reproduzierbare Fehler Maschine ist dumm Schulungsaufwand Tools Aufwand Testfallerstellung … es geht auch einfach
  • 38.
    CATT vs. eCATT •eCATT ist eine Weiterentwicklung von CATT welches seit R/3 3.0 verfügbar ist – Unterstützt alte GUI Transaktionen, SAP GUI Controls, Web Services, Web Dynpros, … • CATT – Nur R/3 Standardtransaktionen verwendbar – keine externen Applikationen oder internetbasierte Anwendungen möglich – Keine neuen CATT Testscripts ab 6.40 – Keine Anpassung von CATT Testscripts ab 7.00 … es geht auch einfach
  • 39.
    eCATT - Mandantenfreigabe •Der Start von eCATT Testscripts kann je Mandant aktiviert werden – eCATT und CATT nicht erlaubt – eCATT und CATT erlaubt – eCATT und CATT nur bei „Trusted RFC“ erlaubt – eCATT erlaubt, aber FUN/ABAP und CATT nicht erlaubt – eCATT erlaubt, aber FUN/ABAP und CATT nur bei „Trusted RFC“ erlaubt • Sollte in einem Produktivmandant deaktiviert sein. … es geht auch einfach
  • 40.
    eCATT – GuiScripting • Profilparameter sapgui/user_scripting ist auf TRUE zu setzen. – Mit RZ11 oder RZ10 … es geht auch einfach
  • 41.
    eCATT – GuiScripting • In den SAP GUI Optionen muss im Bereich Accessibility & Scripting das Scripting aktiviert sein … es geht auch einfach
  • 42.
    eCATT – Testobjekte Testkonfiguration Testdaten-Container Wieder verwendbare Datensätze für die Testausführung Testskript Folge von Kommandos für den Testablauf Systemdaten-Container Liste von Systemen, welche durch den Test verwendet werden … es geht auch einfach
  • 43.
    eCATT – Systemdaten •Kapselung der systemspezifischen Aspekte von den Testskripts • Abbildung der Systeme erfolgt im Systemdaten Container Logisches Ziel in den Testskripts RFC Destination … es geht auch einfach
  • 44.
    eCATT – Testskript Testskript Attribute Import Importparameter Export Exportparameter Lokale Variablen Skript-Kommandos … es geht auch einfach
  • 45.
    eCATT – Testskriptfolge Testskript Testskript Testskript (Create Partner) (Create Activity) (Check Data) … es geht auch einfach
  • 46.
    eCATT – Testskriptfolge Testskript Testskript Testskript Testskript … es geht auch einfach
  • 47.
    eCATT – Skripteditor Parameter Kommando- schnittstelle Skriptbefehle … es geht auch einfach
  • 48.
    eCATT – SkriptSprache ABAP Objects Checks Script Control Customizing Enterprise Services •Objekte instanzieren •Variablen prüfen •DO/ENDDO •BCSET •Webservices •Objektmethoden •Datenbankinhalt •IF/ELSE/ENDIF •RESTAB aufrufen prüfen •WAIT •SETTAB •Attribute •SAPGUI Felder prüfen •BREAK setzen/lesen/prüfen •MESSAGE Test Script Log Parameters Program Control Database UI Control Referenzen •Protokolleinträge •Lesen & Setzen von •ABAP/ENDABAP •Referenz auf CATT •Datenbankzugriffe •SAPGui klassisch Parameterwerten •Funktionsbausteine •Referenz auf eCATT •SAPGui Controls •Tabellenzeilen •RESCON? •Web Dynpro bearbeiten eCATT Unterstützt nicht CRM Web UI – Integrierbar über externe Testtools! (z.B. QTB) … es geht auch einfach
  • 49.
    eCATT – Skripteditor– Key Features • Einfügen über Muster • Automatische Parametererstellung • Globale Suche • Verwendungsnachweise • Debugging … es geht auch einfach
  • 50.
    eCATT – Testdaten Testdatenwerden über Testkonfigurationen bereitgestellt Erfassung erfolgt manuell oder über Textfile (Excel) möglich Testkonfiguration Import Parameter Excel File manuell erfasst Testskript … es geht auch einfach
  • 51.
    Test Workbench Test Paket Anwender Test Plan Test Paket eCATT • User führt Test durch • Overall Status ersichtlich – User setzt Status für manuelle Tests – eCATT Testscripts setzen den Status automatisch … es geht auch einfach
  • 52.
    Testdatencontainer • Externe Testdaten – Keine Verwendung von strukturierten Parametern (Struktur, Tabelle) möglich • Externe Testdaten während der Ausführung – File muss vom Frontend erreichbar sein. Ebenfalls keine Verwendung von strukturierten Parametern möglich … es geht auch einfach
  • 53.
    User in eCATTTests • Verwendung unterschiedlicher „User“ in einem Testcript – Kann im Testscript nicht direkt angegeben werden. Test wird mit dem angemeldeten User vorgenommen. – Workaround über den Systemdatencontainer und einer eigenen RFC Verbindung je User möglich … es geht auch einfach