## 📘 KAPITEL 2: TESTEN IM SOFTWARELEBENSZYKLUS --- ### 2.1 Softwareentwicklungsmodelle **Testen muss in den gesamten Entwicklungsprozess integriert sein!** #### a) Sequenzielle Modelle (klassisch, Wasserfall, V-Modell) - **Vorteil**: frühzeitige Planung, klare Phasen - **Nachteil**: späte Fehlererkennung, wenig flexibel #### b) Iterative/inkrementelle Modelle (z. B. Agile) - **Testen** = integraler Bestandteil jeder Iteration - Kontinuierliches Feedback, frühe Tests - Flexibler, aber aufwändiger --- ### 2.2 Teststufen (💡 Prüfungsrelevant) |Teststufe|Fokus|Testbasis|Ziel| |---|---|---|---| |**Komponententest**|Einzelprogramme/Funktionen|Source Code, Design Specs|Fehler in Modulen erkennen| |**Integrationstest**|Zusammenspiel von Komponenten|Schnittstellenspezifikation|Fehler in Modulen & Interfaces| |**Systemtest**|Gesamtsystem|Anforderungen|Anforderungen erfüllt?| |**Abnahmetest**|Validierung mit Nutzer|Businessanforderungen|Auslieferungsreife prüfen| 🔄 **Statische Tests** (Reviews) ergänzen die Teststufen --- ### 2.3 Testarten (Was wird getestet?) #### Funktionale Tests - Verhalten & Funktionen - z. B. Geschäftslogik, Benutzerinteraktion #### Nicht-funktionale Tests - **Leistung**, **Benutzbarkeit**, **Zuverlässigkeit**, **Sicherheit** - Beispiel: Lasttests, Sicherheitstests #### Strukturbezogene Tests - Interne Struktur (z. B. Codeabdeckung, Verzweigungspfad) #### Änderungsbezogene Tests - **Re-Tests**: Prüfen behobener Fehler - **Regressionstests**: Prüfen unbeabsichtigter Nebeneffekte --- ### 2.4 Wartungstest - Tests im Produktivsystem nach Änderungen (Fehlerbehebung, Anpassung) - Besonders wichtig: - **Regressionstest** - **Impact-Analyse** - Testdaten und Testumgebung **aktuell halten** --- ### 2.5 Teststufen & Testarten kombinieren - Beispiel: Im **Systemtest** können **funktionale Tests** UND **nicht-funktionale Tests** durchgeführt werden. - Jeder Teststufe können verschiedene **Testziele** zugeordnet werden. --- ## ✅ KLAUSURRELEVANTE MERKPUNKTE |Thema|Prüfungswissen| |---|---| |V-Modell|Testaktivitäten sind klar definiert & gekoppelt mit Entwicklungsphasen| |Teststufen|**Komponente → Integration → System → Abnahme** (Reihenfolge merken!)| |Testarten|Funktional, Nicht-funktional, Struktur-, Änderungsbezogen| |Wartungstest|Regression und Impact-Analyse notwendig| |Agile Modelle|**Test = Teil jeder Iteration**|