## 📘 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|
