2.4 KiB
2.4 KiB
📘 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 |