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:19] – 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. | ||
| - | Wir starten mit der höchsten Ebene der Anwendung, z. B. der Hauptsteuerung oder den GUI-Komponenten, | ||
| - | Mocks werden hier häufig eingesetzt, um noch nicht integrierte Unterschichten zu simulieren. | ||
| ===== Bottom-Up-Integration ===== | ===== Bottom-Up-Integration ===== | ||
| - | Bei dieser Strategie testen wir zuerst die Integration von Komponenten, | + | | {{: |
| - | Wir beginnen mit den grundlegenden Bausteinen des Systems (z. B. Datenbank- oder Utility-Funktionen) und arbeiten uns schrittweise nach oben. | + | |
| - | Höhere Schichten werden erst integriert, wenn ihre Abhängigkeiten bereits getestet wurden. | + | |
| ==== Basierend auf Unittests ==== | ==== Basierend auf Unittests ==== | ||
| Zeile 28: | Zeile 32: | ||
| Diese Strategie ist relativ einfach umzusetzen, wenn schon weitgehend vollständige Unittests existieren. | 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, | + | |
| - | 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. | Diese Schritte werden wiederholt, bis das Zusammenspiel aller Komponenten getestet wird. | ||