Gliederung: 1. Einführung in TDD in ABAP OO Motivation für TDD Theorie zu TDD 2. TDD by example: Trainingsbeispiel CodeKata FizzBuzz Aufgabe und Lösungsskizze Erarbeiten einer Lösung des Kern-Algorithmus Ausblick 3. TDD by example: Ein praktisches Beispiel auf Basis eines Produkt-Rating Modells Aufgabe und Lösungsskizze Erarbeiten einer ersten Lösung des Kern-Algorithmus Integration DB Select durch Verwendung des Dependency Injection Principles (DIP) Kennenlernen des Testdouble Frameworks der SAP Verwendung von lokalen Testdouble Klassen unter Verwendung des DIP zum Mocken von Klassenmethodenaufrufen Verwendung des IOSP (Integration Operation Segregation Principle) für die bessere Strukturierung des Codings Das „Local Friends Prinzip“ für den Zugriff auf private Methoden 4. Zusammenfassung und Ausblick Vorteile von TDD Links zu Literatur How to process? Inhalt: Mit diesem Kurs erhalten ABAP OO-Entwickler eine anschauliche Einführung in das Thema Test Driven Development (TDD). Anhand eines praxisnahen Beispiels auf Grundlage eines Produkt-Rating Datenmodells (adaptiert aus dem Kurs ABAP Steampunk) werden die Prinzipen von TDD sowie das ABAP OO Test-Framework erklärt und mit beiden eine erste Lösung erarbeitet. Diese Lösung wird in weiteren Iterationen ausgebaut, indem der DB-Zugriff mithilfe des DIP Design Patterns gemockt wird, Test-Double-Klassen zum Einsatz kommen sowie das Design-Prinzip IOSP angewendet wird. Für den Test von privaten Methoden wird abschliessend das Local Friends Prinzip integriert. Dem Betrachter soll ein leichter Einstieg in das Thema TDD ermöglicht werden. Die hier vermittelten Inhalte lassen sich auf die tägliche Arbeit transferieren, sodass TDD anschließend zielführend und erfolgreich angewendet werden kann. Darüber hinaus sollen die Vorteile einer mit TDD entwickelten Software-Lösung verdeutlicht werden: entspanntere Arbeit, robuste und wartbare Software sowie weniger Fehler in der anschließenden Produktion. Zielgruppe: Der Kurs richtet sich an ABAP-Entwickler, die bereits Erfahrung in ABAP OO und Eclipse ADT gesammelt haben. Er möchte, sofern noch nicht vorhanden, das Interesse am Thema „Clean Coding“ und dem Erstellen von robuster Software wecken. Links: Miro: https://miro.com/app/board/uXjVNLJPRew=/ GitHub: https://github.com/MaddinJay/Espresso-Tutorials—TDD-by-example