Äquivalenzklassen
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 1
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 2
Ein Passwort muss **mindestens 8 und höchstens 20 Zeichen** lang sein.
Daraus ergeben sich drei Äquivalenzklassen:
| Äquivalenzklasse | Passwortlänge | Bedeutung | Beispiel | |---|---:|---|---| | 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 reichen zunächst repräsentative Werte aus den drei Klassen:
```text 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 Vertreter 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.
