Skip to content
IRC-Coding IRC-Coding
Testfallermittlung Äquivalenzklassen Grenzwertanalyse Zweigüberdeckung Pfadüberdeckung Anweisungsüberdeckung

Testfallermittlung: Äquivalenzklassen, Grenzwertanalyse & Zweigüberdeckung einfach erklärt

Methoden zur Testfallermittlung: Äquivalenzklassen, Grenzwertanalyse (Extremwerte), Zweig-/Pfadüberdeckung Whitebox, Anweisungsüberdeckung. Mit Beispielen und Anwendungshinweisen.

S

schutzgeist

1 min read

Testfallermittlung

Dieser Beitrag ist eine Begriffserklärung zur Testfallermittlung – inklusive Prüfungsfragen und Tags.

In a Nutshell

  • Äquivalenzklassen: gruppiert Eingaben, die sich gleich verhalten
  • Grenzwertanalyse: testet genau an den Grenzen (min, max, min±1, max±1)
  • Zweig-/Pfadüberdeckung: sichert, dass jeder Codepfad durchlaufen wird

Kompakte Fachbeschreibung

Äquivalenzklassen

Teilt Eingabebereiche in Klassen ein, für die das System gleich reagiert. Pro Klasse ein Testfall.

Grenzwertanalyse

Testet genau an den Grenzen und direkt daneben – Fehler treten häufig an Grenzen auf.

Zweigüberdeckung (Branch Coverage)

Jeder Zweig (if/else) muss mindestens einmal True und False durchlaufen werden.

Pfadüberdeckung (Path Coverage)

Jede mögliche Kombination von Zweigen wird getestet (aufwändig).

Anweisungsüberdeckung (Statement Coverage)

Jede Codezeile muss mindestens einmal ausgeführt werden.

Prüfungsrelevante Stichpunkte

  • Äquivalenzklassen: gültige/ungültige Klassen bilden
  • Grenzwertanalyse: min, max, min-1, max+1 testen
  • Zweigüberdeckung: alle if/else-Wege abdecken
  • Pfadüberdeckung: alle Pfade durchlaufen (theoretisch)
  • Anweisungsüberdeckung: jede Zeile ausführen
  • Whitebox: Kenntnis der internen Struktur
  • Blackbox: nur über Schnittstellen

Kernkomponenten

  1. Äquivalenzklassenbildung
  2. Grenzwertanalyse
  3. Zweigüberdeckung
  4. Pfadüberdeckung
  5. Anweisungsüberdeckung
  6. Testfallkatalog
  7. Überdeckungsanalyse
  8. Werkzeuge (Coverage-Tools)
  9. Risikobasierte Priorisierung
  10. Dokumentation

Praxisbeispiel (Altersvalidierung)

// Regel: Alter muss zwischen 18 und 65 sein

// Äquivalenzklassen:
// - gültig: [18, 65]
// - ungültig: <18, >65

// Grenzwertanalyse:
// 17, 18, 19   (untere Grenze)
// 64, 65, 66   (obere Grenze)

// Testfälle:
// - 17 (ungültig)
// - 18 (gültig, Grenze)
// - 19 (gültig)
// - 64 (gültig)
// - 65 (gültig, Grenze)
// - 66 (ungültig)

Typische Prüfungsfragen (mit Kurzantwort)

  1. Was ist Äquivalenzklasse? Gruppe von Eingaben mit gleichem erwarteten Verhalten.
  2. Warum Grenzwertanalyse? Fehler treten häufig an Grenzen auf.
  3. Zweigüberdeckung vs. Anweisungsüberdeckung? Zweig: alle if/else-Wege; Anweisung: jede Zeile.
  4. Pfadüberdeckung? Alle möglichen Pfadkombinationen testen (sehr aufwändig).

Wichtigste Quellen

  1. https://www.istqb.org
  2. https://junit.org/junit5/docs/current/user-guide/
  3. https://testing.googleblog.com
Zurück zum Blog
Share: