Files
TI-Studium-Mitschriften/Semester 6/SWTEST/Zusammenfassungen/CTFL-Kapitel 4-1.md
2025-07-10 14:04:51 +02:00

95 lines
2.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 📘 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|