Äquivalenzklassen

Aus FI-Wiki

Die Äquivalenzklassenbildung ist ein Verfahren zum systematischen Erstellen von Testfällen. Dabei werden mögliche Eingabewerte in Gruppen, sogenannte Äquivalenzklassen, eingeteilt.

Es wird davon ausgegangen, dass sich alle Werte innerhalb einer Äquivalenzklasse aus Sicht des Programms gleich verhalten. Deshalb reicht es in der Regel aus, einen repräsentativen Wert aus jeder Klasse zu testen.

Beispiel Zulässige Altersspanne

Eine Anwendung erlaubt die Registrierung nur für Personen im Alter von 18 bis 67 Jahren. Das Alter wird als ganze Zahl eingegeben.

Daraus ergeben sich drei Äquivalenzklassen:

Äquivalenzklasse Wertebereich Bedeutung Beispielwert
1 Alter < 18 ungültig 15
2 18 ≤ Alter ≤ 67 gültig 40
3 Alter > 67 ungültig 75

Für einen Test muss nun nicht jedes mögliche Alter geprüft werden. Stattdessen wird aus jeder Äquivalenzklasse ein repräsentativer Wert ausgewählt:

  • 15 → Registrierung nicht möglich
  • 40 → Registrierung möglich
  • 75 → Registrierung nicht möglich

Damit werden alle drei Äquivalenzklassen mit nur drei Testfällen berücksichtigt.

Beipiel Passwortlänge

Ein Passwort muss mindestens 8 und höchstens 20 Zeichen lang sein.

Daraus ergeben sich drei Äquivalenzklassen:

Äquivalenzklasse Passwortlänge Bedeutung Beispielwert
1 weniger als 8 Zeichen ungültig 5 Zeichen
2 8 bis 20 Zeichen gültig 12 Zeichen
3 mehr als 20 Zeichen ungültig 25 Zeichen

Als Testfälle werden repräsentative Werte aus den drei Äquivalenzklassen ausgewählt:

  • 5 Zeichen → Passwort wird abgelehnt
  • 12 Zeichen → Passwort wird akzeptiert
  • 25 Zeichen → Passwort wird abgelehnt

Statt jede mögliche Passwortlänge zu testen, wird mindestens ein repräsentativer Wert aus jeder Äquivalenzklasse geprüft.

Vorteil

Durch die Äquivalenzklassenbildung kann die Anzahl der benötigten Testfälle reduziert werden, ohne wichtige Gruppen von Eingabewerten auszulassen.

Merksatz

Äquivalenzklassen fassen Eingabewerte mit erwartet gleichem Verhalten zusammen. Aus jeder Klasse wird mindestens ein repräsentativer Wert getestet.