Katalog
method#Qualitätssicherung#Softwaretechnik#Zuverlässigkeit

Äquivalenzklassenbildung

Eine Black‑Box-Testtechnik zur Reduktion von Testfällen durch Einteilung von Eingaben in gleichartige Äquivalenzklassen.

Equivalence Partitioning ist eine Testentwurfs‑Technik, die Eingabemengen in gleichartige Klassen (Äquivalenzklassen) einteilt, um repräsentative Testfälle zu reduzieren.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Design
  • Grundlage

Technischer Kontext

Testmanagement-Tools (z. B. TestRail, Zephyr)Issue-Tracker (z. B. JIRA)Automatisierungs-Frameworks (z. B. JUnit, pytest)

Prinzipien & Ziele

Eingabedomänen systematisch in nicht überlappende Klassen segmentieren.Je Klasse mindestens einen repräsentativen Testfall auswählen.Klassendefinitionen anhand von Regeln, Anforderungen und Randbedingungen ableiten.
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Falsche Klassendefinition kann zu fehlender Fehlererkennung führen.
  • Übersicht verliert sich bei zu vielen oder überlappenden Klassen.
  • Fehlende Domänenkenntnis reduziert Effektivität.
  • Kombiniere Äquivalenzklassen mit Grenzwertanalyse.
  • Dokumentiere Klassen und Entscheidungsregeln klar.
  • Priorisiere Klassen nach Risiko und Nutzungsfrequenz.

I/O & Ressourcen

  • Anforderungs‑ und Feldspezifikationen
  • Beispieldatensätze und Grenzwertdefinitionen
  • Zugriff auf Testumgebung und Testdatenmanagement
  • Repräsentative Testfälle pro Äquivalenzklasse
  • Dokumentation der Klassen und Zuordnungen
  • Metriken zur Abdeckungs- und Fehleranalyse

Beschreibung

Equivalence Partitioning ist eine Testentwurfs‑Technik, die Eingabemengen in gleichartige Klassen (Äquivalenzklassen) einteilt, um repräsentative Testfälle zu reduzieren. Durch Auswahl je einer repräsentativen Eingabe pro Klasse werden Redundanzen minimiert und Testaufwand gesenkt. Es hilft, Testabdeckung effizient zu planen und Fehler in Grenzbereichen zu fokussieren, verlangt jedoch sorgfältige Klassendefinition bei komplexen Eingaben.

  • Reduziert Anzahl der Testfälle bei gleichbleibender Aussagekraft.
  • Ermöglicht strukturierte Testplanung und Priorisierung.
  • Verbessert Wiederholbarkeit und Nachvollziehbarkeit von Tests.

  • Weniger effektiv bei stark zustandsabhängigen Systemen.
  • Erfordert genaue Kenntnis der Eingabeanforderungen.
  • Grenzwerte müssen zusätzlich mit anderen Techniken (z.B. BVA) geprüft werden.

  • Anzahl der Äquivalenzklassen

    Zählt definierte Klassen pro Eingabe, zeigt Granularität der Testabdeckung.

  • Testfälle pro Klasse

    Mittelwert repräsentativer Testfälle je Klasse zur Effizienzmessung.

  • Defects pro Klasse

    Anzahl gefundener Fehler pro Klasse zur Bewertung von Klassendefinitionen.

E-Mail-Feld-Validierung

Einteilung in gültige, ungültige und leer‑Klassen mit je einem repräsentativen Testwert.

Altersbeschränkung (18+)

Äquivalenzklassen <18, =18 und >18 zur Abdeckung von erlaubten und gesperrten Fällen.

Produktpreis-Validierung

Klassifizierung in negative, null, gültige Wertebereiche und sehr hohe Werte zur Fehlerdetektion.

1

Anforderungen und Eingabefelder identifizieren.

2

Für jedes Eingabefeld Äquivalenzklassen ableiten.

3

Repräsentative Werte auswählen und Tests entwickeln.

4

Ergänzend Grenzwertanalyse durchführen.

5

Tests ausführen, Ergebnisse evaluieren und Klassen anpassen.

⚠️ Technische Schulden & Engpässe

  • Unvollständig dokumentierte Klassendefinitionen in Tests
  • Automatisierte Tests, die veraltete Klassen abbilden
  • Fehlende Abdeckung für seltene oder kombinatorische Klassen
Unklare Anforderungen führen zu falschen KlassenHohe Anzahl von Randfällen erhöht AufwandStaatliche/Regulatorische Validierungen verkomplizieren Klassen
  • Nur ein Testfall für alle numerischen Eingaben ohne Klassenunterscheidung.
  • Annahme, dass gleichartige Fehler in einer Klasse identisch sind.
  • Verzicht auf Dokumentation der Klassenannahmen.
  • Übersehene Ausnahmen oder Sonderfälle innerhalb einer Klasse.
  • Unklare Regelbasis führt zu inkonsistenter Klassenzuordnung.
  • Veränderungen in Anforderungen machen Klassen ungültig.
Testdesign und -methodikDomänenwissen für korrekte KlassifikationAnalytische Fähigkeiten und Risikobewertung
Testbarkeit der EingabeschnittstellenKlarheit der GeschäftsregelnWiederholbarkeit von Testausführung
  • Begrenzte Domänenkenntnis der Testenden
  • Zeitdruck bei Releasezyklen
  • Abhängigkeit von stabilen Anforderungen