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:// | ||