Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m450:learningunits:lu15:umsetzung [2024/11/25 11:00] – msuter | modul:m450:learningunits:lu15:umsetzung [2024/11/29 09:25] (aktuell) – msuter | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
===== Big-Bang-Integration ===== | ===== 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, | + | |
===== Top-Down-Integration ===== | ===== Top-Down-Integration ===== | ||
- | Im Gegensatz zur Big-Bang-Integration testen wir immer nur eine Schicht auf einmal. | + | | {{: |
+ | |||
+ | ==== 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, | ||
+ | Dies wird nun Komponente für Komponente und Schicht für Sicht wiederholt. | ||
===== Bottom-Up-Integration ===== | ===== Bottom-Up-Integration ===== | ||
- | Bei dieser Strategie testen wir zuerst die Integration von Komponenten, | + | | {{: |
+ | |||
+ | ==== Basierend auf Unittests ==== | ||
+ | |||
+ | Diese Strategie ist relativ einfach umzusetzen, wenn schon weitgehend vollständige Unittests existieren. | ||
+ | |||
+ | - Identifiziere eine Testfunktion (nennen wir sie **test_A**), | ||
+ | * Diese Testfunktion wird in der Regel nur eine Funktion (**function_A**) testen. | ||
+ | * Dies sind zu Beginn vor allem Tests von Komponenten, | ||
+ | - Suche eine Testfunktion (**test_B**), | ||
+ | - 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. | ||
---- | ---- | ||
{{tag> | {{tag> | ||
[[https:// | [[https:// |