## 📘 KAPITEL 4.2: BLACK-BOX-TESTVERFAHREN (DETAIL) --- ### 🎯 Ziel - Testfälle auf Basis der **Anforderungen/Spezifikation** ableiten - Fokus: **funktionales Verhalten** (ohne Quellcode) --- ## 1. ✅ ÄQUIVALENZKLASSEN-BILDUNG ### Ziel: - Eingaberaum in **repräsentative Klassen** aufteilen (gültig + ungültig) ### Vorgehen: 1. Klassen identifizieren (z. B. Wertebereiche) 2. Gültige & ungültige Klassen bilden 3. Pro Klasse → 1 Repräsentant **Beispiel: Eingabe 1–10** - Gültig: 1–10 → z. B. Testwert 5 - Ungültig: <1, >10 → z. B. Testwert 0 und 11 --- ## 2. ⚠️ GRENZWERTANALYSE ### Ziel: - **Fehler an Grenzen** von Wertebereichen erkennen ### Vorgehen: - Testfälle an & um die Grenze: `Grenze - 1`, `Grenze`, `Grenze + 1` **Beispiel: Bereich 1–10** - Testfälle: 0, 1, 2 | 9, 10, 11 ➡️ Ergänzt Äquivalenzklassen --- ## 3. 🧾 ENTSCHEIDUNGSTABELLEN ### Ziel: - **Regelbasierte Entscheidungen** systematisch testen ### Bestandteile: - Bedingungen (z. B. "Kunde zahlt bar?") - Aktionen (z. B. "Rabatt gewähren") - Tabelle listet alle möglichen **Kombinationen** ### Vorteile: - Gute Testabdeckung bei **Kombinatorik** - Auch für Geschäftsregeln & Konfigurationen geeignet --- ## 4. 🔄 ZUSTANDSÜBERGANGSTEST ### Ziel: - Testen von Systemen mit **internen Zuständen** ### Elemente: - **Zustände** (z. B. „angemeldet“, „abgemeldet“) - **Ereignisse/Übergänge** (z. B. „Login“, „Logout“) - **Aktionen** (z. B. „Zugriff erlaubt“) ### Arten von Tests: - Alle Übergänge - Alle Zustände - Ungültige Übergänge ➡️ Modellierung über **Zustandsdiagramme** sinnvoll --- ## 5. 👤 USE CASE TEST ### Ziel: - **Benutzerverhalten / Interaktionen** mit dem System testen ### Merkmale: - Abbildung typischer **Szenarien** - Fokus auf **End-to-End-Abläufe** - Kann auch **nicht-funktionale Aspekte** einbeziehen ### Beispiele: - "Benutzer meldet sich an" - "Benutzer gibt Bestellung auf" --- ## ✅ ZUSAMMENFASSUNG DER BLACK-BOX-VERFAHREN |Verfahren|Fokus|Typische Anwendung| |---|---|---| |Äquivalenzklassen|Eingaberaum abdecken|Wertebereiche, Formate| |Grenzwertanalyse|Fehler an Bereichsgrenzen|Zahlen, Datumswerte| |Entscheidungstabellen|Regeln & Kombinationen prüfen|Rabattlogik, Konditionen| |Zustandsübergänge|Zustandssysteme abbilden|Automaten, Sitzungen| |Use Cases|Nutzerverhalten simulieren|Geschäftsprozesse, UI| --- ## 📝 KLAUSURRELEVANTE MERKPUNKTE |Thema|Merksatz| |---|---| |Äquivalenzklassen|Pro Klasse genau **ein Testfall**| |Grenzwertanalyse|Teste **an, vor und nach** der Grenze| |Entscheidungstabellen|**Alle Regelkombinationen** prüfen| |Zustandsbasierte Tests|Übergänge & Reaktionen prüfen, auch **ungültige**| |Use Case Tests|Nutzer-Szenarien, oft End-to-End|