SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Deutschsprachige SAP® Anwendergruppe
Test-getriebene Entwicklung in ABAP –
Das Entwicklungsmodell der Zukunft
Christian Drumm, FACTUR Billing Solutions GmbH
Thomas Fiedler, SAP SE
Inhaltsverzeichnis
 Agile Softwareentwicklung Seite 3
 Test-getriebene Entwicklung Seite 4
> Grundlagen
> Tools im SAP-Umfeld
 Test-getriebene Entwicklung in der Praxis Seite 6
 Mock Objekte Seite 7
> Einführung
> Beispiel
> Lab-Preview Test-Seams
 Referenzen / Links Seite 16
Agile Softwareentwicklung
 Agile Prinzipien
 Agile Prozesse
 Agile Methoden
Refaktur-
ierung
Scrum
Continious
Integration
XP…
Kanban
Paar-
programm-
ierung
Unit
Tests
Test-getriebene Entwicklung – Grundlagen
 Vorgehen
1. Test implementieren
2. Anwendungslogik implementieren
3. Refakturierung
 Vorteile
> Bessere Softwarearchitektur
> Bessere Softwarequalität
> Bessere Wartbarkeit und Erweiterbarkeit
> Tests als Dokumentation
4
Rot
GrünRefactor
Test-getriebene Entwicklung – Tools im SAP-Umfeld
 ABAP Unit
> xUnit-Implementierung in ABAP
test_method1( )
test_method2( )
> setup( )  test_method3( )  teardown( )
test_method4( )
test_methodN( )
 Integration in SE80 und ABAP in Eclipse
> Ausführung von Tests auf Klassen oder Paketebene
> Abdeckungsanalyse
 Integration in ABAP Test Cockpit
5
Test-getriebene Entwicklung in der Praxis
 Eigenständige Entwicklungen vs. Erweiterungen des SAP Standards
> Sehr gut bei eigenständigen Entwicklungen umsetzbar
> Für Erweiterungen des SAP Standards über z.B. BAdIs ggf. schwierig
 Existierenden Code vs. neue Entwicklungen
> Test-getriebene Entwicklung nur bei neuen Entwicklung umsetzbar
> Nachträgliche Entwicklung von Test für existierenden Code  Problem: ggf. größer Änderungen der
Softwarearchitektur notwendig
 Möglichkeit zur Test-getriebene Entwicklung ist abhängig von den verwendeten Frameworks /
Applikationen
> BOL-Layer im SAP CRM eignet sich z.B. sehr gut
> Test-getriebene Entwicklung z.B. im Umfeld der Geschäftspartner-BAPIs nahezu unmöglich
6
Der größte Feind des Unit Tests
7
Unit Test
Applikations
Code
Abhängige
Komponenten
Konfiguration
User Interface
Customizing
Datenbank
Remote Call
Unbekannte
Funktion
Der größte Feind des Unit Tests
8
Unit Test
Applikations
Code
Abhängige
Komponenten
Konfiguration
User Interface
Customizing
Datenbank
Remote Call
Unbekannte
Funktion
Mocking
Beispiel: Währungsumrechnung
9
Währungs-
kurs
Applikation
Währungs-
umrechnung
Unit Test Mock
Code Beispiel (Applikations Code)
10
„Dependency Injection“ wird
verwendet um Abhängigkeiten
zu kontrollieren
Abhängigkeiten sind mittels
Interfaces gekapselt
Code Beispiel (Test Code)
11
Code Beispiel (Test Code mit Mock)
12
SAP Test Double
Framework
Was macht man in
Legacy Code ?
13
Applikation Code Test Code
Code Beispiel (Legacy Code)
14
Applikation Code Test Code
Code Ersetzung mittels Test-Seams
15
Fragen?
16
Referenzen
 Getting Started with ABAP Testing and Troubleshooting - http://scn.sap.com/docs/DOC-24152
 Einführung in den SAP TestDouble Framework - http://scn.sap.com/docs/DOC-61154
 ABAP in Eclipse im SCN - http://scn.sap.com/community/abap/eclipse
17
Die vorliegende Präsentation ist urheberrechtlich geschützt (Copyright). Alle Rechte liegen, soweit nicht ausdrücklich anders gekennzeichnet, bei der Deutschsprachigen SAP-Anwendergruppe e. V..
Jedwede unerlaubte Verwendung ist nicht gestattet. Dies gilt insbesondere für die Vervielfältigung, Verbreitung, Übersetzung oder die Verwendung in elektronischen Systemen / digitalen Medien.
 Deutschsprachige SAP® Anwendergruppe e.V.
Altrottstraße 34a
D-69190 Walldorf
 Tel.: +49-(0)6227-358 09-58
Fax: +49-(0)6227-358 09-59
E-Mail: info@dsag.de
Web: www.dsag.de
 DSAG in Österreich
Tel.: +43-(0)1-310 13 76
E-Mail: info@dsag.at
Web: www.dsag.at
 DSAG in der Schweiz
Tel.: +41-(0)31-311 10 03
E-Mail: info@dsag-ev.ch
Web: www.dsag-ev.ch
© DSAG e.V.
Kontakt DSAG

Contenu connexe

Similaire à Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft

DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP UnitsCadaxo GmbH
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
SpiraTeam: Typische Implementierungen bei Kunden
SpiraTeam: Typische Implementierungen bei KundenSpiraTeam: Typische Implementierungen bei Kunden
SpiraTeam: Typische Implementierungen bei KundenAdam Sandman
 
Effizienz im Testen von SAP Anwendungen durch Testautomation
Effizienz im Testen von SAP Anwendungen durch TestautomationEffizienz im Testen von SAP Anwendungen durch Testautomation
Effizienz im Testen von SAP Anwendungen durch TestautomationPeter Haberl
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...Nico Orschel
 
Agile Softwareentwicklung
Agile SoftwareentwicklungAgile Softwareentwicklung
Agile Softwareentwicklungshabazza
 
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)Joerg Lange
 
Panaya Test Center – Auf zu postmodernem ERP Testing
Panaya Test Center – Auf zu postmodernem ERP TestingPanaya Test Center – Auf zu postmodernem ERP Testing
Panaya Test Center – Auf zu postmodernem ERP TestingPanaya
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...enpit GmbH & Co. KG
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungPascal_Erni
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...Marc Müller
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development ToolsCadaxo GmbH
 
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP UmfeldSelenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP UmfeldChristoph Menke
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDSwissQ Consulting AG
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Christian Kunzmann
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschaftenChristoph Menke
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingIBM Switzerland
 

Similaire à Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft (20)

DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
SpiraTeam: Typische Implementierungen bei Kunden
SpiraTeam: Typische Implementierungen bei KundenSpiraTeam: Typische Implementierungen bei Kunden
SpiraTeam: Typische Implementierungen bei Kunden
 
Effizienz im Testen von SAP Anwendungen durch Testautomation
Effizienz im Testen von SAP Anwendungen durch TestautomationEffizienz im Testen von SAP Anwendungen durch Testautomation
Effizienz im Testen von SAP Anwendungen durch Testautomation
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
 
Agile Softwareentwicklung
Agile SoftwareentwicklungAgile Softwareentwicklung
Agile Softwareentwicklung
 
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)
Erweiterte Werkzeugverwaltung mit SAP Pool Asset Management (PAM)
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Panaya Test Center – Auf zu postmodernem ERP Testing
Panaya Test Center – Auf zu postmodernem ERP TestingPanaya Test Center – Auf zu postmodernem ERP Testing
Panaya Test Center – Auf zu postmodernem ERP Testing
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP Softwareentwicklung
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development Tools
 
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP UmfeldSelenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADED
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
 
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetproTest-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches Testing
 

Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft

  • 1. Deutschsprachige SAP® Anwendergruppe Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft Christian Drumm, FACTUR Billing Solutions GmbH Thomas Fiedler, SAP SE
  • 2. Inhaltsverzeichnis  Agile Softwareentwicklung Seite 3  Test-getriebene Entwicklung Seite 4 > Grundlagen > Tools im SAP-Umfeld  Test-getriebene Entwicklung in der Praxis Seite 6  Mock Objekte Seite 7 > Einführung > Beispiel > Lab-Preview Test-Seams  Referenzen / Links Seite 16
  • 3. Agile Softwareentwicklung  Agile Prinzipien  Agile Prozesse  Agile Methoden Refaktur- ierung Scrum Continious Integration XP… Kanban Paar- programm- ierung Unit Tests
  • 4. Test-getriebene Entwicklung – Grundlagen  Vorgehen 1. Test implementieren 2. Anwendungslogik implementieren 3. Refakturierung  Vorteile > Bessere Softwarearchitektur > Bessere Softwarequalität > Bessere Wartbarkeit und Erweiterbarkeit > Tests als Dokumentation 4 Rot GrünRefactor
  • 5. Test-getriebene Entwicklung – Tools im SAP-Umfeld  ABAP Unit > xUnit-Implementierung in ABAP test_method1( ) test_method2( ) > setup( )  test_method3( )  teardown( ) test_method4( ) test_methodN( )  Integration in SE80 und ABAP in Eclipse > Ausführung von Tests auf Klassen oder Paketebene > Abdeckungsanalyse  Integration in ABAP Test Cockpit 5
  • 6. Test-getriebene Entwicklung in der Praxis  Eigenständige Entwicklungen vs. Erweiterungen des SAP Standards > Sehr gut bei eigenständigen Entwicklungen umsetzbar > Für Erweiterungen des SAP Standards über z.B. BAdIs ggf. schwierig  Existierenden Code vs. neue Entwicklungen > Test-getriebene Entwicklung nur bei neuen Entwicklung umsetzbar > Nachträgliche Entwicklung von Test für existierenden Code  Problem: ggf. größer Änderungen der Softwarearchitektur notwendig  Möglichkeit zur Test-getriebene Entwicklung ist abhängig von den verwendeten Frameworks / Applikationen > BOL-Layer im SAP CRM eignet sich z.B. sehr gut > Test-getriebene Entwicklung z.B. im Umfeld der Geschäftspartner-BAPIs nahezu unmöglich 6
  • 7. Der größte Feind des Unit Tests 7 Unit Test Applikations Code Abhängige Komponenten Konfiguration User Interface Customizing Datenbank Remote Call Unbekannte Funktion
  • 8. Der größte Feind des Unit Tests 8 Unit Test Applikations Code Abhängige Komponenten Konfiguration User Interface Customizing Datenbank Remote Call Unbekannte Funktion Mocking
  • 10. Code Beispiel (Applikations Code) 10 „Dependency Injection“ wird verwendet um Abhängigkeiten zu kontrollieren Abhängigkeiten sind mittels Interfaces gekapselt
  • 12. Code Beispiel (Test Code mit Mock) 12 SAP Test Double Framework
  • 13. Was macht man in Legacy Code ? 13
  • 14. Applikation Code Test Code Code Beispiel (Legacy Code) 14
  • 15. Applikation Code Test Code Code Ersetzung mittels Test-Seams 15
  • 17. Referenzen  Getting Started with ABAP Testing and Troubleshooting - http://scn.sap.com/docs/DOC-24152  Einführung in den SAP TestDouble Framework - http://scn.sap.com/docs/DOC-61154  ABAP in Eclipse im SCN - http://scn.sap.com/community/abap/eclipse 17
  • 18. Die vorliegende Präsentation ist urheberrechtlich geschützt (Copyright). Alle Rechte liegen, soweit nicht ausdrücklich anders gekennzeichnet, bei der Deutschsprachigen SAP-Anwendergruppe e. V.. Jedwede unerlaubte Verwendung ist nicht gestattet. Dies gilt insbesondere für die Vervielfältigung, Verbreitung, Übersetzung oder die Verwendung in elektronischen Systemen / digitalen Medien.  Deutschsprachige SAP® Anwendergruppe e.V. Altrottstraße 34a D-69190 Walldorf  Tel.: +49-(0)6227-358 09-58 Fax: +49-(0)6227-358 09-59 E-Mail: info@dsag.de Web: www.dsag.de  DSAG in Österreich Tel.: +43-(0)1-310 13 76 E-Mail: info@dsag.at Web: www.dsag.at  DSAG in der Schweiz Tel.: +41-(0)31-311 10 03 E-Mail: info@dsag-ev.ch Web: www.dsag-ev.ch © DSAG e.V. Kontakt DSAG

Notes de l'éditeur

  1. Softwarearchitektur Seperation of Concerns (One Responsibility Principle); z.B. Trennung von Datenzugriff und Verarbeitungslogik  Datenzugriffsklasse KISS-Prinzip