TDD mit ABAP Units
Webinar, 23.09.2016, 10:00 Uhr
Föß TDD mit ABAP Units
Johann Fößleitner
Senior Consultant at Cadaxo
eMail: johann.foessleitner@cadaxo.com
Twitter: @foessleitnerj
Beratungsschwerpunkte
• Konzeption & Management von SAP Entwicklungsprojekten
• Qualitymanagement & Performanceoptimierung
• Clean Code
• SAP Fiori/SAPUI5
Domi TDD mit ABAP Units
Domi Bigl
Senior Consultant at Cadaxo
eMail: dominik.bigl@cadaxo.com
Twitter: @DomiBiglSAP
Beratungsschwerpunkte
• Konzeption & Management von Entwicklungsprojekten
• Qualitymanagement & Performanceoptimierung
• ABAP Units
• SAP Fiori, SAP UI5
Cadaxo GmbH TDD mit ABAP Units
TDD mit ABAP Units
 Tests
 Unit Tests
 ABAP Units + Demo
 TDD
 TDD mit ABAP Units – Demo
Agenda
TDD mit ABAP Units
Tests
TDD mit ABAP Units
4. Juni 1996
 Explosion Ariane 5
◦ 36,7 Sekunden nach dem Start
◦ Ursache
 Arithmetischer Überlauf bei der Umwandlung einer 64-Bit-
Gleitkomma-Zahl in eine 16-Bit-Ganzzahl – der Wert der
horizontalen Geschwindigkeit.
 Lenksystem brach zusammen und löste eine
Selbstzerstörung aus
◦ Hintergrund
 Software stammt von Ariane 4. Ariane 5 flog jedoch
schneller
 Schaden ca. 500 Millionen Dollar für Rakete und 4
Satelliten
◦ https://www.youtube.com/watch?v=PK_yguLapgA
TDD mit ABAP Units
Es geht ums Geld
Fehlerhafter/schlechter Code kostet!
Testen, Testen, Testen TDD mit ABAP Units
UI Tests
Akzeptanztests
Integration Tests
Entwickler Tests
Der traditionelle Entwicklertest TDD mit ABAP Units
 Traditioneller Test eines ABAP Entwicklers
◦ /H, Debugging
◦ SE80, SE24, SE37, SE38, Workbench … und dann Testen
◦ Testprogramme
Der traditionelle Entwicklertest TDD mit ABAP Units
 Nachteile der traditionellen Vorgehensweise
◦ Zeitaufwendig
◦ Nicht reproduzierbar
◦ Unkoordiniert
◦ Unprofessionell
Der professionelle Entwickler TDD mit ABAP Units
 Ein professioneller Entwickler
◦ Sorgt dafür, dass nur funktionierende bzw. ordentlich getestete
Software an die Testteams übergeben wird
TDD mit ABAP Units
Unit Tests
Umfrage
Unit Tests TDD mit ABAP Units
 Unit Tests bzw. xUnit Frameworks
◦ Mit Unit Tests werden einzelne Units (Methoden,
Funktionbausteine) automatisiert getestet
◦ Ziel der Unit Tests ist die Isolation aller Parts eines Programmes
und die Prüfung ob alles ordnungsgemäß läuft
Unit Tests TDD mit ABAP Units
 Ziel von Unit Tests
◦ Probleme/Bugs im Developmentprozess so früh wie möglich
entdecken
◦ Probleme/Bugs nach Upgrades etc. rasch entdecken
◦ Reduktion langer Debugging Sessions
◦ Reduziert die „Hemmschwelle“ schlechtes Coding zu optmieren
-> Clean Code!
ABAP Unit
Unit Tests TDD mit ABAP Units
 ABAP Units
◦ Sind erstmals mit 6.40 aufgetaucht
◦ 100% Integration in die ABAP Entwicklungsumgebungen
◦ Fortlaufende Weiterentwicklung durch SAP
Live Demo – ABAP Unit Test TDD mit ABAP Units
Live Demo
Wir erstellen einen ABAP Unit Test
Eigenschaften guter Unit Tests TDD mit ABAP Units
Vertrauenswürdig
Wartbar
Lesbar
Lesbare Tests
 Lesbare Tests
◦ Unlesbare Tests sind (fast) völlig wertlos
◦ Tests werden von anderen Entwicklern
gelesen
◦ Überlegte Namensgebung von Unit Tests,
Variablen, …
◦ Clean Code
TDD mit ABAP Units
ISBN 978-3-8266-5548-7
Wartbare Tests
 Wartbare Tests
◦ Unwartbare Tests sind ein Albtraum, können Projekte negativ
beeinflussen
◦ Entwickler werden Tests, deren Anpassungen zu lange dauern,
einfach nicht mehr warten bzw. aktualisieren
◦ Keine Logik in Unit Tests aufnehmen
 Ein IF oder CASE deutet schon auf Logik hin
TDD mit ABAP Units
Vertrauenswürdige Tests
 Vertrauenswürdige Tests
◦ Ein Test ist dann vertrauenswürdig, wenn er uns das Gefühlt gibt
zu wissen was vor sich geht
TDD mit ABAP Units
Unit Tests TDD mit ABAP Units
 Unit Tests – FIRST Prinzip
◦ Fast – Tests sollen schnell sein
◦ Independent – Tests sollen nicht von einander abhängen
◦ Repeatable – Jede Umgebung (Dev, QA, Prod, … )
◦ Self-Validating – der Test wird bestanden oder er scheitert
◦ Timely – Tests müssen rechtzeitig geschrieben werden
TDD mit ABAP Units
TDD
Umfrage
Traditionelles Projekt (Wasserfallmodell) TDD mit ABAP Units
Requirem.
Design
Entwickeln
Testen
Bugfixing
Support
GoLive
Planen, Analyse, Design, … Entwickeln T&B GoLive Support
Testing & Bugfixing
Wasserfallmodell
 Probleme des Wasserfallmodells
◦ Auf neue bzw. geänderte Anforderungen kann nur schlechte
oder gar nicht reagiert werden
◦ Phasen können oft nicht so klar getrennt werden
◦ Rückschritte zur vorigen Phase oft nicht vermeidbar
◦ Fehler werden unter Umständen erst spät erkannt und können
nur durch großen Aufwand behoben werden
TDD mit ABAP Units
Agile Softwareentwicklung TDD mit ABAP Units
Jetzt sind wir alle agil!
früher jetzt
Agile Softwareentwicklung
 Eigenschaften von agiler Softwareentwicklung
◦ Anforderung sind unvollständig oder ändern sich
◦ Iteratives Vorgehen, inkrementelle Entwicklung
◦ Regelmäßige Reflexion
◦ Frühzeitige Ergebnisse
◦ Regelmäßiges Testen
TDD mit ABAP Units
Agile Werte / Agiles Manifest TDD mit ABAP Units
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotation
Responding to change
over following a plan
Februar 2001: Robert C. Martin , Kent Beck, Ward Cunningham, Ron Jeffries, Martin Fowler …
Agile Softwareentwicklung TDD mit ABAP Units
Scrum
Kanban
eXtreme Programming
TDD mit ABAP Units
TDD mit ABAP Units
Was haben agile Projekte jetzt mit Unit Tests
zu tun?
TDD Zyklus TDD mit ABAP Units
Development Test
TDD Zyklus TDD mit ABAP Units
Test Development
Refactoring
 Unit Test erstellen
 Vergewissere dich, dass
der Test fehlschlägt
 Entwickle soviel Code,
dass der Test nicht mehr
fehlschlägt
 Code optimieren
TDD – Test-driven development
 TDD – Test-driven development
◦ Bei TDD geht es ganz einfach darum, dass automatisierte Tests
vor der Code Implementierung erstellt werden.
◦ TDD ist ein wesentlicher Teil von Extreme Programming (XP)
◦ TDD setzt auf kurze Iterationszyklen zwischen Tests und
Implementierung
TDD mit ABAP Units
Traditioneller Entwicklungsprozess TDD mit ABAP Units
Start
Test erstellen
Produktionscode
implementieren
Test ausführen
 Traditioneller
Entwicklungsprozess
Testgetriebener Entwicklungsprozess TDD mit ABAP Units
Start
Test erstellen
Test ausführen
Produktionscode
implementieren
Test ausführen
Refactoring
 Testgetriebener
Entwicklungsprozess
TDD mit ABAP UnitsRefactoring
 Refactoring
◦ Optimieren des Codings ohne die Funktionalität zu ändern
◦ Coding lesbarer gestalten, Code-Dupletten bereinigen,
Methode „verkleinern“, …
◦ Robert C. Martin sagt: Wir „massieren“ unseren Code
◦ Clean Code
Live Demo – ABAP Unit Test TDD mit ABAP Units
Live Demo
Jetzt erleben wir TDD
TDD mit ABAP Units
 Erhöht sich der Aufwand durch TDD/Unit Tests?
◦ Stimmt nicht
◦ TDD bzw. Unit Tests verändern nur unsere Tests, die wir –
hoffentlich – auch bisher schon alle machen
TDD mit ABAP Units
 Unit Tests „verrotten“ mit der Zeit
◦ Stimmt nicht!
◦ Unit Tests sind Bestandteil der Entwicklungen, es liegt ans diese
aktuell zu halten
TDD mit ABAP Units
 Unit Tests sind in ABAP nicht sinnvoll einsetzbar
◦ Stimmt nicht!
◦ Wenn wir nach modernen Standards entwickeln (Clean Code,
OO, Entwurfsmuster, .. ), können Unit Tests wunderbar im ABAP
Umfeld eingesetzt werden
◦ DB Zugriffe, WebServices Calls, … können beispielsweise über
Interfaces abgebildet werden und damit durch Mockups ersetzt
werden (trotzdem, DB Interaktionen sind natürlich ein Problem)
TDD mit ABAP Units
 Unit Tests sind in ABAP nicht sinnvoll einsetzbar
◦ Stimmt nicht!
◦ Wenn wir nach modernen Standards entwickeln (Clean Code,
OO, Entwurfsmuster, .. ), können Unit Tests wunderbar im ABAP
Umfeld eingesetzt werden
TDD mit ABAP Units
 Bei User Interface, DB Zugriffen unbrauchbar
◦ Stimmt nicht!
◦ DB Zugriffe, WebServices Calls, … können beispielsweise über
Interfaces abgebildet werden und damit durch Mockups ersetzt
werden
 trotzdem, DB Interaktionen sind natürlich ein Problem aber ….
◦ ABAP 7.50 - TEST-SEAM & TEST-INJECTION
TDD mit ABAP Units
 Kunden sind skeptisch (höhere Aufwände, … )
◦ Unsere Kunden wollen sauberen, funktionierenden und
wartbaren Code. - Unit Tests gewährleisten dies
◦ Es liegt an uns, dem Fachbereich bzw. den Kunden die Vorteile
aufzuzeigen und durch bessere Softwarequalität auch zu
beweisen
TDD mit ABAP Units
TDD üben mit
Waza, Randori
Waza – Paarweise üben TDD mit ABAP Units
 Paarweise üben
◦ Entwickler A schreibt einen ABAP Unit Test
◦ Entwickler B implementiert die Methode, bis der Test
bestanden wird
◦ Entwickler A kann für den Test z.B. auch min. Geschwindigkeit
oder den max. Speicherverbrauch vorgeben.
Randoir – Übungen fürs Team TDD mit ABAP Units
 Übungen für‘s Team
◦ Editor wird an die Wand projiziert
◦ Entwickler A schreibt einen ABAP Unit Test
◦ Entwickler B implementiert die Methode, bis der Test
bestanden wird
◦ Entwickler B schreibt einen ABAP Unit Test
◦ Entwickler C implementiert die Methode, bis der Test
bestanden wird
◦ …
Test-Driven Development - Bücher TDD mit ABAP Units
ISBN 978-0321146533 ISBN 978-3826697128
Weitere Infos TDD mit ABAP Units
 Weitere Informationsquellen
◦ https://sites.google.com/site/unclebobconsultingllc
◦ https://de.wikipedia.org/wiki/Extreme_Programming
◦ https://www.youtube.com/watch?v=QHnLmvDxGTY
◦ http://clean-code-developer.de/
Nächste Webinare Clean Code in ABAP
https://www.eventbrite.com/e/abap-750-releaseabhangige-anderungen-tickets-28011248398
Workshop TDD mit ABAP Units
 Intensiv Workshop
◦ Clean Code
◦ ABAP Units/TDD
◦ Ca. 3 - 4 Stunden
◦ Wien
◦ An einem Freitag
◦ Dezember 2016 oder Jänner 2017
Vergangene Webinare
http://www.cadaxo.com/blog/
TDD mit ABAP Units
If you want to stay in touch …
https://twitter.com/domibiglsap
https://www.linkedin.com/in/dominik-bigl-9b98b68b
https://www.xing.com/profile/dominik_bigl
dominik.bigl@cadaxo.com
See you again!
Thank you for participating!
https://twitter.com/foessleitnerj
https://www.linkedin.com/in/johann-fößleitner-a9851b2a
https://www.xing.com/profile/johann_foessleitner
johann.foessleitner@cadaxo.com
http://com.slideshare.net/cadaxogmbh
https://twitter.com/cadaxo
https://www.linkedin.com/company/cadaxo-gmbh
http://www.youtube.com/CadaxoGmbH
https://www.facebook.com/CadaxoGmbH
https://www.xing.com/companies/cadaxogmbhCadaxo GmbH
Stubenring 18/5a| 1010 Vienna, Austria
office@cadaxo.com
www.cadaxo.com

TDD mit ABAP Units

  • 1.
    TDD mit ABAPUnits Webinar, 23.09.2016, 10:00 Uhr
  • 2.
    Föß TDD mitABAP Units Johann Fößleitner Senior Consultant at Cadaxo eMail: johann.foessleitner@cadaxo.com Twitter: @foessleitnerj Beratungsschwerpunkte • Konzeption & Management von SAP Entwicklungsprojekten • Qualitymanagement & Performanceoptimierung • Clean Code • SAP Fiori/SAPUI5
  • 3.
    Domi TDD mitABAP Units Domi Bigl Senior Consultant at Cadaxo eMail: dominik.bigl@cadaxo.com Twitter: @DomiBiglSAP Beratungsschwerpunkte • Konzeption & Management von Entwicklungsprojekten • Qualitymanagement & Performanceoptimierung • ABAP Units • SAP Fiori, SAP UI5
  • 4.
    Cadaxo GmbH TDDmit ABAP Units
  • 5.
    TDD mit ABAPUnits  Tests  Unit Tests  ABAP Units + Demo  TDD  TDD mit ABAP Units – Demo Agenda
  • 6.
    TDD mit ABAPUnits Tests
  • 7.
    TDD mit ABAPUnits 4. Juni 1996  Explosion Ariane 5 ◦ 36,7 Sekunden nach dem Start ◦ Ursache  Arithmetischer Überlauf bei der Umwandlung einer 64-Bit- Gleitkomma-Zahl in eine 16-Bit-Ganzzahl – der Wert der horizontalen Geschwindigkeit.  Lenksystem brach zusammen und löste eine Selbstzerstörung aus ◦ Hintergrund  Software stammt von Ariane 4. Ariane 5 flog jedoch schneller  Schaden ca. 500 Millionen Dollar für Rakete und 4 Satelliten ◦ https://www.youtube.com/watch?v=PK_yguLapgA
  • 8.
    TDD mit ABAPUnits Es geht ums Geld Fehlerhafter/schlechter Code kostet!
  • 9.
    Testen, Testen, TestenTDD mit ABAP Units UI Tests Akzeptanztests Integration Tests Entwickler Tests
  • 10.
    Der traditionelle EntwicklertestTDD mit ABAP Units  Traditioneller Test eines ABAP Entwicklers ◦ /H, Debugging ◦ SE80, SE24, SE37, SE38, Workbench … und dann Testen ◦ Testprogramme
  • 11.
    Der traditionelle EntwicklertestTDD mit ABAP Units  Nachteile der traditionellen Vorgehensweise ◦ Zeitaufwendig ◦ Nicht reproduzierbar ◦ Unkoordiniert ◦ Unprofessionell
  • 12.
    Der professionelle EntwicklerTDD mit ABAP Units  Ein professioneller Entwickler ◦ Sorgt dafür, dass nur funktionierende bzw. ordentlich getestete Software an die Testteams übergeben wird
  • 13.
    TDD mit ABAPUnits Unit Tests Umfrage
  • 14.
    Unit Tests TDDmit ABAP Units  Unit Tests bzw. xUnit Frameworks ◦ Mit Unit Tests werden einzelne Units (Methoden, Funktionbausteine) automatisiert getestet ◦ Ziel der Unit Tests ist die Isolation aller Parts eines Programmes und die Prüfung ob alles ordnungsgemäß läuft
  • 15.
    Unit Tests TDDmit ABAP Units  Ziel von Unit Tests ◦ Probleme/Bugs im Developmentprozess so früh wie möglich entdecken ◦ Probleme/Bugs nach Upgrades etc. rasch entdecken ◦ Reduktion langer Debugging Sessions ◦ Reduziert die „Hemmschwelle“ schlechtes Coding zu optmieren -> Clean Code! ABAP Unit
  • 16.
    Unit Tests TDDmit ABAP Units  ABAP Units ◦ Sind erstmals mit 6.40 aufgetaucht ◦ 100% Integration in die ABAP Entwicklungsumgebungen ◦ Fortlaufende Weiterentwicklung durch SAP
  • 17.
    Live Demo –ABAP Unit Test TDD mit ABAP Units Live Demo Wir erstellen einen ABAP Unit Test
  • 18.
    Eigenschaften guter UnitTests TDD mit ABAP Units Vertrauenswürdig Wartbar Lesbar
  • 19.
    Lesbare Tests  LesbareTests ◦ Unlesbare Tests sind (fast) völlig wertlos ◦ Tests werden von anderen Entwicklern gelesen ◦ Überlegte Namensgebung von Unit Tests, Variablen, … ◦ Clean Code TDD mit ABAP Units ISBN 978-3-8266-5548-7
  • 20.
    Wartbare Tests  WartbareTests ◦ Unwartbare Tests sind ein Albtraum, können Projekte negativ beeinflussen ◦ Entwickler werden Tests, deren Anpassungen zu lange dauern, einfach nicht mehr warten bzw. aktualisieren ◦ Keine Logik in Unit Tests aufnehmen  Ein IF oder CASE deutet schon auf Logik hin TDD mit ABAP Units
  • 21.
    Vertrauenswürdige Tests  VertrauenswürdigeTests ◦ Ein Test ist dann vertrauenswürdig, wenn er uns das Gefühlt gibt zu wissen was vor sich geht TDD mit ABAP Units
  • 22.
    Unit Tests TDDmit ABAP Units  Unit Tests – FIRST Prinzip ◦ Fast – Tests sollen schnell sein ◦ Independent – Tests sollen nicht von einander abhängen ◦ Repeatable – Jede Umgebung (Dev, QA, Prod, … ) ◦ Self-Validating – der Test wird bestanden oder er scheitert ◦ Timely – Tests müssen rechtzeitig geschrieben werden
  • 23.
    TDD mit ABAPUnits TDD Umfrage
  • 24.
    Traditionelles Projekt (Wasserfallmodell)TDD mit ABAP Units Requirem. Design Entwickeln Testen Bugfixing Support GoLive Planen, Analyse, Design, … Entwickeln T&B GoLive Support Testing & Bugfixing
  • 25.
    Wasserfallmodell  Probleme desWasserfallmodells ◦ Auf neue bzw. geänderte Anforderungen kann nur schlechte oder gar nicht reagiert werden ◦ Phasen können oft nicht so klar getrennt werden ◦ Rückschritte zur vorigen Phase oft nicht vermeidbar ◦ Fehler werden unter Umständen erst spät erkannt und können nur durch großen Aufwand behoben werden TDD mit ABAP Units
  • 26.
    Agile Softwareentwicklung TDDmit ABAP Units Jetzt sind wir alle agil! früher jetzt
  • 27.
    Agile Softwareentwicklung  Eigenschaftenvon agiler Softwareentwicklung ◦ Anforderung sind unvollständig oder ändern sich ◦ Iteratives Vorgehen, inkrementelle Entwicklung ◦ Regelmäßige Reflexion ◦ Frühzeitige Ergebnisse ◦ Regelmäßiges Testen TDD mit ABAP Units
  • 28.
    Agile Werte /Agiles Manifest TDD mit ABAP Units Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotation Responding to change over following a plan Februar 2001: Robert C. Martin , Kent Beck, Ward Cunningham, Ron Jeffries, Martin Fowler …
  • 29.
    Agile Softwareentwicklung TDDmit ABAP Units Scrum Kanban eXtreme Programming
  • 30.
  • 31.
    TDD mit ABAPUnits Was haben agile Projekte jetzt mit Unit Tests zu tun?
  • 32.
    TDD Zyklus TDDmit ABAP Units Development Test
  • 33.
    TDD Zyklus TDDmit ABAP Units Test Development Refactoring  Unit Test erstellen  Vergewissere dich, dass der Test fehlschlägt  Entwickle soviel Code, dass der Test nicht mehr fehlschlägt  Code optimieren
  • 34.
    TDD – Test-drivendevelopment  TDD – Test-driven development ◦ Bei TDD geht es ganz einfach darum, dass automatisierte Tests vor der Code Implementierung erstellt werden. ◦ TDD ist ein wesentlicher Teil von Extreme Programming (XP) ◦ TDD setzt auf kurze Iterationszyklen zwischen Tests und Implementierung TDD mit ABAP Units
  • 35.
    Traditioneller Entwicklungsprozess TDDmit ABAP Units Start Test erstellen Produktionscode implementieren Test ausführen  Traditioneller Entwicklungsprozess
  • 36.
    Testgetriebener Entwicklungsprozess TDDmit ABAP Units Start Test erstellen Test ausführen Produktionscode implementieren Test ausführen Refactoring  Testgetriebener Entwicklungsprozess
  • 37.
    TDD mit ABAPUnitsRefactoring  Refactoring ◦ Optimieren des Codings ohne die Funktionalität zu ändern ◦ Coding lesbarer gestalten, Code-Dupletten bereinigen, Methode „verkleinern“, … ◦ Robert C. Martin sagt: Wir „massieren“ unseren Code ◦ Clean Code
  • 38.
    Live Demo –ABAP Unit Test TDD mit ABAP Units Live Demo Jetzt erleben wir TDD
  • 39.
    TDD mit ABAPUnits  Erhöht sich der Aufwand durch TDD/Unit Tests? ◦ Stimmt nicht ◦ TDD bzw. Unit Tests verändern nur unsere Tests, die wir – hoffentlich – auch bisher schon alle machen
  • 40.
    TDD mit ABAPUnits  Unit Tests „verrotten“ mit der Zeit ◦ Stimmt nicht! ◦ Unit Tests sind Bestandteil der Entwicklungen, es liegt ans diese aktuell zu halten
  • 41.
    TDD mit ABAPUnits  Unit Tests sind in ABAP nicht sinnvoll einsetzbar ◦ Stimmt nicht! ◦ Wenn wir nach modernen Standards entwickeln (Clean Code, OO, Entwurfsmuster, .. ), können Unit Tests wunderbar im ABAP Umfeld eingesetzt werden ◦ DB Zugriffe, WebServices Calls, … können beispielsweise über Interfaces abgebildet werden und damit durch Mockups ersetzt werden (trotzdem, DB Interaktionen sind natürlich ein Problem)
  • 42.
    TDD mit ABAPUnits  Unit Tests sind in ABAP nicht sinnvoll einsetzbar ◦ Stimmt nicht! ◦ Wenn wir nach modernen Standards entwickeln (Clean Code, OO, Entwurfsmuster, .. ), können Unit Tests wunderbar im ABAP Umfeld eingesetzt werden
  • 43.
    TDD mit ABAPUnits  Bei User Interface, DB Zugriffen unbrauchbar ◦ Stimmt nicht! ◦ DB Zugriffe, WebServices Calls, … können beispielsweise über Interfaces abgebildet werden und damit durch Mockups ersetzt werden  trotzdem, DB Interaktionen sind natürlich ein Problem aber …. ◦ ABAP 7.50 - TEST-SEAM & TEST-INJECTION
  • 44.
    TDD mit ABAPUnits  Kunden sind skeptisch (höhere Aufwände, … ) ◦ Unsere Kunden wollen sauberen, funktionierenden und wartbaren Code. - Unit Tests gewährleisten dies ◦ Es liegt an uns, dem Fachbereich bzw. den Kunden die Vorteile aufzuzeigen und durch bessere Softwarequalität auch zu beweisen
  • 45.
    TDD mit ABAPUnits TDD üben mit Waza, Randori
  • 46.
    Waza – Paarweiseüben TDD mit ABAP Units  Paarweise üben ◦ Entwickler A schreibt einen ABAP Unit Test ◦ Entwickler B implementiert die Methode, bis der Test bestanden wird ◦ Entwickler A kann für den Test z.B. auch min. Geschwindigkeit oder den max. Speicherverbrauch vorgeben.
  • 47.
    Randoir – Übungenfürs Team TDD mit ABAP Units  Übungen für‘s Team ◦ Editor wird an die Wand projiziert ◦ Entwickler A schreibt einen ABAP Unit Test ◦ Entwickler B implementiert die Methode, bis der Test bestanden wird ◦ Entwickler B schreibt einen ABAP Unit Test ◦ Entwickler C implementiert die Methode, bis der Test bestanden wird ◦ …
  • 48.
    Test-Driven Development -Bücher TDD mit ABAP Units ISBN 978-0321146533 ISBN 978-3826697128
  • 49.
    Weitere Infos TDDmit ABAP Units  Weitere Informationsquellen ◦ https://sites.google.com/site/unclebobconsultingllc ◦ https://de.wikipedia.org/wiki/Extreme_Programming ◦ https://www.youtube.com/watch?v=QHnLmvDxGTY ◦ http://clean-code-developer.de/
  • 50.
    Nächste Webinare CleanCode in ABAP https://www.eventbrite.com/e/abap-750-releaseabhangige-anderungen-tickets-28011248398
  • 51.
    Workshop TDD mitABAP Units  Intensiv Workshop ◦ Clean Code ◦ ABAP Units/TDD ◦ Ca. 3 - 4 Stunden ◦ Wien ◦ An einem Freitag ◦ Dezember 2016 oder Jänner 2017
  • 52.
  • 53.
    If you wantto stay in touch … https://twitter.com/domibiglsap https://www.linkedin.com/in/dominik-bigl-9b98b68b https://www.xing.com/profile/dominik_bigl dominik.bigl@cadaxo.com See you again! Thank you for participating! https://twitter.com/foessleitnerj https://www.linkedin.com/in/johann-fößleitner-a9851b2a https://www.xing.com/profile/johann_foessleitner johann.foessleitner@cadaxo.com
  • 54.

Hinweis der Redaktion

  • #9 Was passiert mit unserem Coding im Lauf der Zeit? Er verrottet! Manchmal, haben wir das Glück ein Projekt auf einer grünen Wiese hin zu realisieren Business wünscht sich dies und das und wir machen und hacken und alle sind 100% happy! Business glaubt bereits, wir könnten mit der Software die Weltherrschaft erringen Business wünscht, wir hacken done! – Super! Dann vergehen ein paar Monate, Sicherlich hat jeder von uns schon gutes und schlechtes Coding (oder auch von sich selbst ;-) gesehen Guten bzw. schlechten Code erkennt man, wenn man in sieht. Bei gutem Code kommt uns ein „Cool“, „Interessant“, … etc. über die Lippen. Bei schlechtem Code fragen wir uns laufend „Warum macht er das?“ oder „Was soll das bewirken“ „Clean Code“ sorgt dafür, dass unsere Codings mit „Cool“, „Interssant“, … kommentiert werden.
  • #20 Setup/Teardown nur für Initialisierungen bzw. zum Zusammenräumen verwenden Eventuell von deren Verwendung absehen und Setup/Teardown in die Testmethode integrieren
  • #29 Kent Beck – TDD & eXtreme Programming Robert C. Martin – Clean Code Ward Cunningham – eXtreme Programming Ron Jeffries – eXtreme Programming Menschen und Interaktionen stehen über Prozessen und Werkzeugen Funktionierende Software steht über einer umfassenden Dokumentation Zusammenarbeit mit dem Kunden steht über der Vertragsverhandlung Reagieren auf Veränderung steht über dem Befolgen eines Plans
  • #30 eXtreme Programming hat seinen Ursprung im C3 Projekt: Chrysler Consolidated Compensation aus dem Jahre 1997 und 1998. Als das Projekt zu scheitern drohte, hat Chrylser Ken Beck, Ron Jeffries und ein paar weitere Personen engagiert um das Projekt zu retten. Ken Beck die dort entstandenen Ideen in einem Buch zusammengefasst und publiziert.