Dies ist eine alte Version des Dokuments!
LU15b - Umsetzung von Integrationstests
Im Gegensatz zu Unittests wollen wir bei Integrationstests das Zusammenspiel verschiedener Komponenten testen. Daher verzichten wir weitgehend auf simulierte Funktionen und Klassen (Mocks).
Big-Bang-Integration
Bei dieser Strategie wird das Zusammenspiel aller Komponenten (Module, Funktionen, Klassen) gleichzeitig getestet. Dabei verzichten wir vollständig auf Mocks.
Anhand der Hauptsteuerung suchen wir die Hauptkomponenten unserer Applikation. Zu diesen Komponenten schreiben wir Integrationstests. Dabei werden alle Komponenten, die von den Hauptkomponenten angesprochen werden, automatisch auch getestet.
Top-Down-Integration
Im Gegensatz zur Big-Bang-Integration testen wir immer nur eine Schicht auf einmal.
Bottom-Up-Integration
Bei dieser Strategie testen wir zuerst die Integration von Komponenten, die keine weiteren Abhängigkeiten haben.
Basierend auf Unittests
Diese Strategie ist relativ einfach umzusetzen, wenn schon weitgehend vollständige Unittests existieren.
- Identifiziere eine Testfunktion (nennen wir sie test_A), die keine Mocks einsetzt.
- Diese Testfunktion wird in der Regel nur eine Funktion (function_A) testen.
- Dies sind zu Beginn vor allem Tests von Komponenten, die keine weiteren Komponenten aufrufen.
- Suche eine Testfunktion (test_B), welche einen Mock dieser Funktion function_A nutzt.
- Erstelle eine Kopie von test_B, wobei du nun die echte function_A aufrufst.
Diese Schritte werden wiederholt, bis das Zusammenspiel aller Komponenten getestet wird.