2.5 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 |