## 📘 KAPITEL 4.1: TESTTECHNIKEN – GRUNDLAGEN --- ### 4.1 Einleitung: Warum Testverfahren? - Systematisches Vorgehen → bessere **Testabdeckung** - Unterstützung bei der Erstellung **guter Testfälle** - Ziel: Fehler früh entdecken & reproduzierbar testen --- ## 🧪 HAUPTKATEGORIEN VON TESTVERFAHREN |Kategorie|Merkmale & Grundlage| |---|---| |**Black-Box**|Anforderungen / Spezifikation| |**White-Box**|Programmstruktur / Code| |**Erfahrungsbasiert**|Intuition, frühere Fehler, Exploratives Testen| --- ### 🔲 1. BLACK-BOX-VERFAHREN (💡 Prüfungsrelevant) Nutzen **Eingabe-Ausgabe-Beziehung**, ohne Quellcode zu betrachten. #### a) Äquivalenzklassenbildung - Eingaben in gültige/ungültige **Klassen** einteilen - **Aus jeder Klasse → 1 Testfall** #### b) Grenzwertanalyse - Grenzwerte sind **fehleranfällig** - Testfälle **am Rand** der Äquivalenzklassen #### c) Entscheidungstabellen - Repräsentieren **Regeln & Bedingungen** - Kombinationen aus Bedingungen → Aktionen #### d) Zustandsbasierter Test - Bei **zustandsbehafteten Systemen** (z. B. Automaten) - Zustände, Übergänge, Events → modellieren & testen #### e) Use Case Test - **Szenarien aus Benutzersicht** abdecken - Ziel: reale Nutzungspfade testen --- ### 🔳 2. WHITE-BOX-VERFAHREN Berücksichtigen **interne Struktur** des Systems/Programms #### a) Anweisungsüberdeckung - Jede Anweisung im Code muss mindestens **einmal ausgeführt** werden #### b) Zweigüberdeckung - Jeder Entscheidungspunkt (z. B. `if`, `else`) → **jede Richtung** wird getestet ➡️ Für Entwicklernahe Tests (z. B. Komponententest) --- ### 💡 3. ERFAHRUNGSBASIERTE VERFAHREN - Beruhen auf **Intuition, Erfahrung, Bauchgefühl** - Beispiele: - **Fehlerbasiertes Testen** - **Checklisten** - **Exploratives Testen** Einsatz besonders: - wenn wenig Dokumentation vorhanden ist - bei Timeboxing (agile Projekte) - als Ergänzung zu strukturierten Verfahren --- ## ✅ KLAUSURRELEVANTE MERKPUNKTE |Thema|Merksatz| |---|---| |Black-Box|Tests basieren auf **Spezifikationen**, nicht auf Code| |White-Box|Ziel: **Codepfade** und **Verzweigungen** abdecken| |Äquivalenzklassen|Jede Klasse mit **einem repräsentativen Testfall**| |Grenzwertanalyse|Fehler liegen oft **an den Rändern**| |Entscheidungs- & Zustandsbasierte Tests|gut bei komplexem Verhalten & Bedingungen| |Erfahrungsbasiert|Ergänzend, flexibel, intuitiv, explorativ|