Testgetriebene Entwicklung mit ABAP XP Days 2007 Karlsruhe Achim Bangert [email protected] www.andrena.de Agenda Testgetriebene Entwicklung (cid:122) ABAP Unit (cid:122) Testausführung über Code Inspector (cid:122) Dummy- und Mock-Objekte (cid:122) Weiterführende Themen (Datenbankzugriff, …) (cid:122) page 2 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Testen Testen ist integraler Bestandteil jedes Software- Entwicklungsprozesses Entwicklertests (cid:122) Integrationstests (cid:122) Akzeptanztests (cid:122) page 3 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Testgranularitäten Entwicklertests Entwicklung I n Modul te I n g t n Entwicklertests e r g g a esi rat tio D io n n s t e s t Entwicklung s Modul Spezifikation System Akzeptanztests page 4 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Entwicklertests (1) Der „herkömmliche“ Entwicklertest ABAP Workbench > Test (cid:122) Debugging (cid:122) Testreport (cid:122) page 5 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Entwicklertests (2) page 6 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Entwicklertests (3) Kennzeichen „herkömmlicher“ Entwicklertests Ad hoc (cid:122) Manuell (cid:122) Nachteile „herkömmlicher“ Entwicklertests Zeitaufwendig (cid:122) Unsystematisch (cid:122) Nicht einfach reproduzierbar (cid:122) Macht keinen Spaß (cid:122) page 7 [Testgetriebene Entwicklung mit ABAP] ©andrena objects ag 2007 Testgetriebene Entwicklung Aber: Testen ist unerlässlich für die Entwicklung qualitativ hochwertiger Softwaresysteme! Grundidee der testgetriebenen Software-Entwicklung: Wenn Testen so wichtig ist, warum (automatisierte) Tests nicht an den Anfang statt ans Ende der Entwicklungsaktivitäten setzen? page 8 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Testgetriebene Entwicklung auf Entwicklerebene Systematisches Unit-Testing statt „zufälliger“ Entwicklertests Test-First: Jede verhaltensändernde (cid:122) Codemodifikation wird mit einem automatisierten Test motiviert Refactoring: Die Struktur des geschriebenen Codes (cid:122) wird kontinuierlich verbessert page 9 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007 Test/Code/Refactor-Zyklus (1) 1. Test hinzufügen Test: Fail Test: OK 3. Code vereinfachen 2. Test erfüllen page 10 [Testgetriebene EntwicklungmitABAP] ©andrena objects ag 2007
Description: