Funktionstests in SAP
-
Upload
cadaxo-gmbh -
Category
Technology
-
view
3.992 -
download
2
description
Transcript of Funktionstests in SAP
![Page 1: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/1.jpg)
… es geht auch einfach
Funktionstests in SAP
Assertations & Breakopints, ABAP Unit und eCATT
![Page 2: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/2.jpg)
… 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)
![Page 3: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/3.jpg)
… es geht auch einfach
Agenda
Software TestsABAP-CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 4: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/4.jpg)
… es geht auch einfach
Agenda
Software TestsABAP-CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 5: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/5.jpg)
… es geht auch einfach
Problemstellung
SAP Kunde Entwicklungssystem
Kunde Test/Qualitätssystem
Upgrade/Patches Transporte
EigenentwicklungAdd Ons Customizing
Kunde Produktivsystem
Transporte
• 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?
![Page 6: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/6.jpg)
… es geht auch einfach
Testtools
Entwicklertest
•Assertations•Breakpoints•ABAP Unit•eCATT
Integrationstest
•ABAP Unit•Gui Scripting•eCATT
Systemtest
•eCATT
Akzeptanztest
![Page 7: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/7.jpg)
… es geht auch einfach
Entwicklertests
Entwicklertest
•Assertations•Breakpoints•ABAP Unit•eCATT
Integrationstest
•ABAP Unit•Gui Scripting•eCATT
Systemtest
•eCATT
Akzeptanztest
• Algorithmus, Logic• Schnittstellen• Fehlerhandling
![Page 8: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/8.jpg)
… es geht auch einfach
Integrationstests
Entwicklertest
•Assertations•Breakpoints•ABAP Unit•eCATT
Integrationstest
•ABAP Unit•Gui Scripting•eCATT
Systemtest
•eCATT
Akzeptanztest
• 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
![Page 9: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/9.jpg)
… es geht auch einfach
Systemtests
Entwicklertest
•Assertations•Breakpoints•ABAP Unit•eCATT
Integrationstest
•ABAP Unit•Gui Scripting•eCATT
Systemtest
•eCATT
Akzeptanztest
• Vorwiegend Tests durch Fachbereich– Wurden die Anforderungen korrekt umgesetzt?
![Page 10: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/10.jpg)
… es geht auch einfach
Akzeptanztest
Entwicklertest
•Assertations•Breakpoints•ABAP Unit•eCATT
Integrationstest
•ABAP Unit•Gui Scripting•eCATT
Systemtest
•eCATT
Akzeptanztest
• Wie Systemtests, jedoch mit Kundeneinbindung
![Page 11: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/11.jpg)
… es geht auch einfach
Agenda
Software TestsABAP CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 12: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/12.jpg)
… es geht auch einfach
Assertions• ASSERT• ASSERT ID … CONDITION
Breakpoints• BREAK-POINT• BREAK-POINT ID …
Logpoints
• LOG-POINT ID …
ABAP Checkpoints
Zentral mit der Transaktion SAAB aktivierbar/deaktivierbar
![Page 13: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/13.jpg)
… es geht auch einfach
AssertionsIF L_TEST EQ SPACE. MESSAGE ‘ERROR‘ TYPE ‘X‘.ENDIF.
ASSERT L_TEST NE SPACE.
ASSERT ID HUGO L_TEST NE SPACE.
![Page 14: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/14.jpg)
… es geht auch einfach
Breakpoints
BREAK-POINT.
BREAK-POINT ID HUGO.
BREAK ‘USERNAME‘.
![Page 15: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/15.jpg)
… es geht auch einfach
Logpoints
LOG-POINT ID HUGO.
![Page 16: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/16.jpg)
… es geht auch einfach
Agenda
Software TestsABAP CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 17: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/17.jpg)
… es geht auch einfach
Unit (Modul)
– komplexer Codeabschnitt– definiertem Input / Aktion – überprüfbare Ergebnisse / Effekte
Methode, Funktionsbaustein, Forms, Reports,…
![Page 18: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/18.jpg)
… es geht auch einfach
– ABAP– SAP Entwicklungsumgebung (SE80, SE38,SE24…)– Start aus Editor / ABAP UNIT Test Browser– automatisiert und massenfähig (CI)
ABAP UNIT Tests
![Page 19: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/19.jpg)
… es geht auch einfach
Unit
Testklasse 1
Testmethode a
Testmethode b
Testklasse 2 Testmethode a
Aufbau
![Page 20: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/20.jpg)
… 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
![Page 21: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/21.jpg)
… es geht auch einfach
Testmethoden
– parameterlose Instanzmethode– private (protected)– Testen der Unit– Auswertung und Protokollierung -
CL_AUNIT_ASSERT
![Page 22: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/22.jpg)
… es geht auch einfach
Definition TestklasseCLASS lcl_utest_count "#AU Duration ShortDEFINITION FOR TESTING. "#AU Risk_Level Critical
PRIVATE SECTION. METHODS: ut_select_1 FOR TESTING, ut_select_2 FOR TESTING
ENDCLASS.
![Page 23: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/23.jpg)
… es geht auch einfach
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 = 1act = l_testmsg = 'There is a bug' ).
ENDMETHOD.
Implementierung Testklasse
![Page 24: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/24.jpg)
… es geht auch einfach
UNIT Test ausführen
SE38, SE24,… 700 EHP2
![Page 25: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/25.jpg)
… es geht auch einfach
Ergebnisse auswerten
![Page 26: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/26.jpg)
… es geht auch einfach
Live on System
![Page 27: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/27.jpg)
… es geht auch einfach
• ASSERT_EQUALS• ASSERT_DIFFERS• ASSERT_BOUND• ASSERT_NOT_BOUND• ASSERT_INITIAL• ASSERT_NOT_INITIAL• 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
CL_AUNIT_ASSERT (CL_ABAP_UNIT_ASSERT)
700 EHP2
![Page 28: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/28.jpg)
… es geht auch einfach
CLASS lcl_utest_count "#AU Duration ShortDEFINITION FOR TESTING. "#AU Risk_Level Critica
CLASS lcl_utest_count DEFINITION FOR TESTING DURATION MEDIUM "700 EHP2 RISK LEVEL HARMLESS.
Duration und Risk_Level (Klasse)
Risk_Level• CRITICAL• DANGEROUS• HARMLESS
Duration• SHORT• MEDIUM• LONG
TX SAUNIT_CLIENT_SETUP
![Page 29: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/29.jpg)
… es geht auch einfach
cl_aunit_assert=>assert_bound( act = lr_ref msg = 'No Reference returned' level = if_aunit_constants=>critical quit = if_aunit_constants=>method ).
Level und Quit (Methode)
Quit• NO• METHOD*• CLASS• PROGRAM
Level• TOLERABLE• CRITICAL*• FATAL
![Page 30: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/30.jpg)
… es geht auch einfach
• häufig verwendete Tests• Initialisieren Testdaten
Globale Testklassen
![Page 31: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/31.jpg)
… es geht auch einfach
Fixtures
• CLASS_SETUP• SETUP• Testmethode• TEARDOWN• CLASS_TEARDOWN
![Page 32: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/32.jpg)
… es geht auch einfach
Code Inspector – TX SCI
![Page 33: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/33.jpg)
… es geht auch einfach
Agenda
Software TestsABAP CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 34: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/34.jpg)
… es geht auch einfach
SAP-Gui Scripting• Simuliert das Verhalten von Benutzern• Kann für Lasttests verwendet werden• VBS - Visual Basic Scripts
![Page 35: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/35.jpg)
… es geht auch einfach
Skriptentwicklung
• Aufzeichnung der Transaktion erzeugt VBS-Script-File
![Page 36: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/36.jpg)
… es geht auch einfach
Agenda
Software TestsABAP CheckpointsABAP UnitGui ScriptingTestautomation mit eCATT
![Page 37: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/37.jpg)
… es geht auch einfach
Mensch oder MaschineIntelligenz/KreativitätFinden von WorkaroundsHoher PersonaleinsatzZeitaufwändigGeringe WiederverwendbarkeitGeringe Reproduzierbarkeit
Geringer PersonaleinsatzSchneller als manuelle TestsWiederverwendbarReproduzierbare FehlerMaschine ist dummSchulungsaufwand ToolsAufwand Testfallerstellung
![Page 38: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/38.jpg)
… 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
![Page 39: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/39.jpg)
… 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.
![Page 40: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/40.jpg)
… es geht auch einfach
eCATT – Gui Scripting • Profilparameter sapgui/user_scripting ist auf TRUE zu setzen.
– Mit RZ11 oder RZ10
![Page 41: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/41.jpg)
… es geht auch einfach
eCATT – Gui Scripting • In den SAP GUI Optionen muss im Bereich Accessibility
& Scripting das Scripting aktiviert sein
![Page 42: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/42.jpg)
… es geht auch einfach
eCATT – Testobjekte
Testkonfiguration
TestskriptFolge von Kommandos für den Testablauf
Testdaten-ContainerWieder verwendbare Datensätze für die
Testausführung
Systemdaten-ContainerListe von Systemen, welche durch den Test
verwendet werden
![Page 43: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/43.jpg)
… 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
![Page 44: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/44.jpg)
… es geht auch einfach
eCATT – Testskript
Testskript
Importparameter
Exportparameter
Lokale Variablen
Skript-Kommandos
AttributeImport
Export
![Page 45: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/45.jpg)
… es geht auch einfach
eCATT – Testskriptfolge
Testskript(Create Activity)
Testskript(Create Partner)
Testskript(Check Data)
![Page 46: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/46.jpg)
… es geht auch einfach
Testskript
eCATT – Testskriptfolge
TestskriptTestskript Testskript
![Page 47: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/47.jpg)
… es geht auch einfach
eCATT – Skripteditor
Parameter
Skriptbefehle
Kommando-schnittstelle
![Page 48: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/48.jpg)
… es geht auch einfach
eCATT – Skript Sprache ABAP Objects
•Objekte instanzieren•Objektmethoden aufrufen
•Attribute setzen/lesen/prüfen
Checks
•Variablen prüfen•Datenbankinhalt prüfen
•SAPGUI Felder prüfen
Script Control
•DO/ENDDO•IF/ELSE/ENDIF•WAIT•BREAK•MESSAGE
Customizing
•BCSET•RESTAB•SETTAB
Enterprise Services
•Webservices
Log
•Protokolleinträge
Parameters
•Lesen & Setzen von Parameterwerten
•Tabellenzeilen bearbeiten
Program Control
•ABAP/ENDABAP•Funktionsbausteine•RESCON?
Test Script Referenzen
•Referenz auf CATT•Referenz auf eCATT
Database
•Datenbankzugriffe
UI Control
•SAPGui klassisch•SAPGui Controls•Web Dynpro
eCATT Unterstützt nicht CRM Web UI – Integrierbar über externe Testtools! (z.B. QTB)
![Page 49: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/49.jpg)
… es geht auch einfach
eCATT – Skripteditor – Key Features• Einfügen über Muster• Automatische Parametererstellung• Globale Suche• Verwendungsnachweise• Debugging
![Page 50: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/50.jpg)
… es geht auch einfach
eCATT – TestdatenTestdaten werden über Testkonfigurationen bereitgestelltErfassung erfolgt manuell oder über Textfile (Excel) möglich
Testkonfiguration
Excel Filemanuell erfasst Testskript
Impo
rt P
aram
eter
![Page 51: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/51.jpg)
… es geht auch einfach
Test Workbench
Test PlanTest Paket
Test Paket
Anwender
eCATT
• User führt Test durch• Overall Status ersichtlich
– User setzt Status für manuelle Tests– eCATT Testscripts setzen den Status automatisch
![Page 52: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/52.jpg)
… 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
![Page 53: Funktionstests in SAP](https://reader036.fdocuments.net/reader036/viewer/2022062319/558c60d1d8b42ae04e8b457e/html5/thumbnails/53.jpg)
… es geht auch einfach
• 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
User in eCATT Tests