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
Top-Down-Integration
Erste Schicht
- Wähle eine Komponente (nennen wir sie function_F) aus, die von der Hauptsteuerung aufgerufen wird.
- Erstelle eine Testfunktion bei der die Hauptsteuerung die function_F aufruft.
- Erstelle simulierte Funktionen für B und C (Mocks).
- Führe die Tests aus: Dokumentiere dabei auftretende Fehler und behebe diese iterativ.
Wiederhole diese Schritte, bis die erste Schicht F, G, H vollständig getestet ist.
Weitere Schichten
In weiteren Testfällen prüfen wir nun die Komponenten, welche von der Komponente F aufgerufen werden. Dies wird nun Komponente für Komponente und Schicht für Sicht wiederholt.
Bottom-Up-Integration
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.
- Führe die Tests aus: Dokumentiere dabei auftretende Fehler und behebe diese iterativ.
Diese Schritte werden wiederholt, bis das Zusammenspiel aller Komponenten getestet wird.