buchspektrum Internet-Buchhandlung

Neuerscheinungen 2018

Stand: 2020-02-01
Schnellsuche
ISBN/Stichwort/Autor
Herderstraße 10
10625 Berlin
Tel.: 030 315 714 16
Fax 030 315 714 14
info@buchspektrum.de

Winfried Schwarzmann

Agile ABAP-Entwicklung


Bewährte Methoden und Werkzeuge in praktischen Beispielen. Testgetriebene Entwicklung und Wartung von Legacy Code mit ABAP Unit. Regeln und Tipps für effizientes objektorientiertes Design
2018. 575 S. 24 cm
Verlag/Jahr: RHEINWERK VERLAG 2018
ISBN: 3-8362-6186-3 (3836261863)
Neue ISBN: 978-3-8362-6186-9 (9783836261869)

Preis und Lieferzeit: Bitte klicken


Über dieses Buch
Let´s go agile! Geht das überhaupt mit ABAP? Dieses Buch führt Sie passgenau in die agile Entwicklung ein und setzt dabei genau da an, wo Sie sich auskennen: bei Ihrem Legacy Code. Sie lesen, wie Sie Ihre Programme Schritt für Schritt verbessern und erlernen dabei die wichtigsten Methoden der testgetriebenen Entwicklung. Anschließend erfahren Sie, wie Sie diese und viele weitere Techniken auch in neuen Entwicklungsprojekten einsetzen können. Clean Code, Walking Skeleton, Shared Code Ownership, Executable Documentation und Co. sind schon bald keine Fremdwörter mehr für Sie!

Aus dem Inhalt:

Testgetriebene Entwicklung
Objektorientiertes Design
Test-Doubles
ABAP Unit
Redesign und Neuentwicklung
Kontinuierliche Verbesserung
Der perfekte Sprint
ABAP Test Isolation Tools
ABAP Development Tools (ABAP in Eclipse)
Ausbildungsstrategie und Skalierbarkeit

Vorwort ... 21

Einleitung ... 23

1. Einführung ... 31

1.1 ... Nachhaltigkeit: Entwicklung und Wartung mit einer Testinfrastruktur ... 32

1.2 ... Agilität: Praktiken des Agile Software Engineerings ... 37

1.3 ... Effizienz: Einhaltung von Designprinzipien ... 38

1.4 ... Kommunikation: Diagramme als Gesprächsgrundlage ... 42

TEIL I Aufbau einer Testinfrastruktur ... 45

2. Beispielanwendung für diesen Buchteil ... 47

2.1 ... Stammdatenmanagement ... 48

2.2 ... Benutzeroberfläche ... 50

2.3 ... Backend ... 51

3. Codebasierte Verbesserung eines Tests ... 55

3.1 ... Einführung in den Testcode ... 55

3.2 ... Allgemeine Clean-Code-Prinzipien ... 67

3.3 ... Testorientierte Clean-Code-Prinzipien ... 76

4. Designbasierte Verbesserung des Tests ... 85

4.1 ... Basisklasse von Testklassen ... 85

4.2 ... Verwendung von Hilfsklassen durch Testklassen ... 91

5. Robuster Integrationstest ... 99

5.1 ... Verbesserungsprozess ... 99

5.2 ... Unabhängigkeit von Testmethoden ... 100

5.3 ... Wiederholbarkeit von Testmethoden ... 105

6. Minimierung von Abhängigkeiten ... 113

6.1 ... Vereinfachung einer Verwendung ... 114

6.2 ... Abgrenzung einer Verwendung ... 121

6.3 ... Unabhängigkeit von einer Erzeugung ... 125

6.4 ... Unabhängigkeit von einer Erweiterung ... 131

7. Isolierter Komponententest ... 137

7.1 ... Transformation des Integrationstests ... 138

7.2 ... Skalierung mit einer Testsprache ... 150

7.3 ... Testgetriebene Entwicklung ... 157

7.4 ... Liskov-Substitution-Prinzip ... 161

8. Redesign mit Unit-Tests ... 165

8.1 ... Objektorientierte API für Entitäten ... 167

8.2 ... Hervorheben von Änderungen als eigenständige Einheit ... 170

8.3 ... Tests für die Highlight-Changes-Klasse ... 177

8.4 ... Zusammenfassung des ersten Teils ... 182

TEIL II Testorientiertes ABAP-Design ... 185

9. Design von Methoden ... 187

9.1 ... Regeln zur Implementierung einer Methode ... 188

9.2 ... Regeln für die Signatur einer Methode ... 196

10. Design von Klassen ... 209

10.1 ... Erzeugung eines Objekts durch seine Klasse ... 210

10.2 ... Erzeugung eines Objekts durch eine Factory-Klasse ... 213

10.3 ... Abhängigkeitsarten zwischen Klassen ... 217

10.4 ... Interfaces einer Klasse ... 220

10.5 ... Abstraktionsebenen innerhalb einer Klasse ... 222

10.6 ... Katalog-Entwurfsmuster ... 229

10.7 ... Innerer Zusammenhalt ... 231

11. Design von Paketen ... 237

11.1 ... Paketkonzept ... 237

11.2 ... Produktpakete ... 244

11.3 ... Testpakete ... 246

12. Testfälle ... 249

12.1 ... Testdesign ... 250

12.2 ... Testpyramide ... 253

12.3 ... Testabdeckung ... 256

13. Testdoubles ... 259

13.1 ... Vorteile von Testdoubles ... 259

13.2 ... Spezifikation von Testdoubles ... 263

13.3 ... Design von Testdoubles ... 269

13.4 ... Injektion von Testdoubles ... 275

14. Globale Testdoubles ... 289

14.1 ... Testdouble für eine DOM-Methode ... 290

14.2 ... Testdouble für zwei DOM-Methoden ... 295

14.3 ... Kombination zweier Methodendoubles ... 301

14.4 ... Globalisierung von Testdoubles ... 307

14.5 ... Design globaler Testdoubles ... 310

14.6 ... Anpassung globaler Testdoubles ... 313

15. Testklassen ... 319

15.1 ... Lokale Testklassen ... 321

15.2 ... Entwurfsmuster ... 324

15.3 ... Testklassenhierarchien ... 327

15.4 ... Globale Testklassen ... 331

15.5 ... Namenskonventionen für Testcode ... 333

16. Testdaten ... 335

16.1 ... Testdatencontainer ... 335

16.2 ... Testdatenobjekte ... 343

17. Testinfrastruktur ... 355

17.1 ... Anwendungsszenarien für eine globale Testinfrastruktur ... 357

17.2 ... Entwicklungsprozesse mithilfe einer Testinfrastruktur ... 362

17.3 ... Zusammenfassung des zweiten Teils ... 365

TEIL III Agile Neuentwicklung ... 367

18. Planung und Vorarbeit ... 369

18.1 ... Spezifikation der Beispielanwen