O'Reilly logo

Unit-Tests mit ABAP® Unit by Damir Majer

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

177
9 Was wir nicht behandelt haben
»Fortschritt birgt immer ein Risiko, denn man kann nicht die zweite
Stufe erklimmen und auf der ersten stehen bleiben.«
F. Wilcox
Zu Beginn dieses Buchprojekts war mir sofort klar, dass ich Ihnen nur ausge-
wählte Einblicke in das Thema Softwaretest, Entwickeln qualitativ guter Soft-
ware und Einsatz des ABAP Unit Frameworks geben kann. Alle anderen Ziele
hätten den Umfang dieses Buches gesprengt.
Dennoch möchte ich Ihnen einen kurzen Überblick über wichtige Themen
geben, die natürlich auf direkte oder indirekte Art wesentlich für das Thema die-
ses Buches sind. Mein persönlicher Eindruck am Ende des Buches bleibt, dass
jedes Kapitel Inhalt für mehrere Bücher liefert.
Requirements Engineering
Der Beginn einer jeden Softwareerstellung fängt mit der Aufnahme der Anforde-
rungen an. Diese Phase des Entwicklungsprozesses ist gerade für Softwaretester
wichtig, da dort die Abnahmetests der Software normalerweise dokumentiert
sind. Diese Abnahmetests spiegeln im Endeffekt die Kriterien zur Vertragsab-
nahme der Software wider.
Test-Driven Development
Ist die englische Bezeichnung für die testgetriebene Entwicklung. Diese Vorge-
hensweise gehört zu den Agilen Softwareerstellungsprozessen und sieht vor, dass
zuerst der Unit-Test entwickelt und dann der Test durchlaufen wird, der natürlich
fehlschlägt. Im Nachgang wird dann die Software entwickelt. Diese Art der Ent-
wicklung wird in kleinen Mikroiterationen ausgeführt. Die testgetriebene Ent-
wicklung ist ein Ansatz, den Ursachen für eine nicht ausreichende Testabdeckung
und einigen Nachteilen des White-Box-Testing zu begegnen.
9 Was wir nicht behandelt haben
178
Test-Double
Mit dem Begriff Test-Double sind alle Frameworks gemeint, die dafür sorgen,
dass in größeren Anwendungen noch nicht entwickelte Schnittstellen simuliert
bzw. »gedoppelt« werden. Dadurch ist es möglich, noch nicht entwickelte, in der
Entwicklung befindliche bzw. fertige Schnittstellen zu doppeln und Ihnen das
Schnittstellenverhalten zu implementieren, das für Ihren Unit-Test gerade not-
wendig ist. Unter Test-Doublen fallen für mich die Konstrukte wie:
Mocks
Stubs
Dummy-Objekte
Design Pattern
Dies ist die englische Bezeichnung für Entwurfsmuster. Die entwickelten Pro-
gramme wurden im objektorientierten Umfeld erstellt. Die Kenntnis der objekt-
orientierten Sprachelemente wie Vererbung und Polymorphie ist die Basis, um
sich in diesem Umfeld zurechtzufinden. Doch Kenntnis und Einsatz von Ent-
wurfsmustern ist nichts anderes als der nächste Schritt, um die objektorientierten
Sprachelemente besser zu beherrschen. Meiner Meinung nach ist dies wie der
Übergang vom »Trocken-Schwimmen« zum echten »Schwimmen«.
Testpattern
So wie es bei der Erstellung von Software Entwurfsmuster gibt, so gibt es diese
auch im Testbereich. Sie können die Erfahrung von Softwaretestern nutzen und
einen Einblick in das weite Feld der Testpattern gewinnen. [Binder 99],
[Meszaros 07]
Testprozesse
Es gibt eine Vielzahl an Testprozessen, die in der Praxis eingesetzt werden. Diese
sehen unter anderem auch die Phase vor, dass der Entwickler seine Unit-Tests
durchführt. Beispielsweise gehört es zu den agilen Prozessen, die das Unit Testing
überwiegend einsetzen.
Testwerkzeuge
ABAP Unit ist ein Testwerkzeug im Umfeld des White-Box-Testverfahrens. Es
gibt diverse Testwerkzeuge, die Ihnen die Arbeit erleichtern. Von den Capture &
Replay Tools, die Ihre Anwendung auf der Benutzeroberfläche testen (GUI-Test-
werkzeug) bis hin zu den Werkzeugen, die Testdaten generieren oder anhand der
Modellierungsnotationen (UML-Modelle) die entsprechenden Tests generieren
(Model-Driven Testing/Model-Based Testing). Eine große Anzahl an Testmanage-
179
9 Was wir nicht behandelt haben
ment-Werkzeugen erleichtern Ihnen die Kontrolle und Dokumentation über
Ihren Testprozess und unterstützen Sie mit diversen Reporting–Möglichkeiten
dabei, einen Eindruck vom aktuellen Stand des Testprozesses zu erhalten.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required