95 lines
2.4 KiB
Markdown
95 lines
2.4 KiB
Markdown
## 📘 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|
|