LU05c - Äquivalenzklassen-Analyse
Die Äquivalenzklassen-Analyse ist eine Technik zur Definition von Testfällen. Bei der Äquivalenzklassen-Analyse definieren wir für jede Eingabe die Gruppen von Werten, die vom Programm gleich verarbeitet werden (sollten).
Angenommen wir haben ein Eingabefeld für eine Ganzzahl zwischen 0 und 100.
- Wir können davon ausgehen, dass alle gültigen Eingaben gleich verarbeitet werden.
- Auch werden alle formal falschen Eingaben (Buchstaben, Sonderzeichen, …) gleich verarbeitet werden.
Anstatt nun jede Zahl von 0 bis 100 und jede Kombination von Buchstaben zu testen, brauchen wir nur je einen Testfall.
Äquivalenzklassen definieren
Je nach Art der Eingabe benötigen wir unterschiedliche Äquivalenzklassen.
Zahlen
- 1 Klasse für gültige Eingaben
- 1 Klasse für eine zu kleine Zahl
- 1 Klasse für eine zu grosse Zahl
- 1 Klasse für formale falsche Eingaben
Text
- 1 Klasse für gültige Eingaben
- 1 Klasse für eine zu kurze Eingabe
- 1 Klasse für eine zu lange Eingabe
- 1 Klasse für ungültige Zeichen
Auswahl
- 1 Klasse pro gültigem Wert
- 1 Klasse für ungültige Werte
Beispiel: Personalien
Eingaben und Validerungsregeln
Eingabe | Datentyp | Regeln |
---|---|---|
Vorname | Text | 3-50 Zeichen, Buchstaben und Umlaute |
Geschlecht | Auswahl | M, W oder D |
Alter | Ganzzahl | 0 - 150 |
Grösse in Meter | Dezimalzahl | 0.2 - 2.99 |
Äquivalenzklassen
Nr | Eingabe | Klasse |
---|---|---|
Gültige Klassen | ||
1 | Vorname | Text mit 3-50 Buchstaben und Umlauten |
2 | Geschlecht | M |
3 | Geschlecht | W |
4 | Geschlecht | D |
5 | Alter | Ganzzahl von 0 bis 150 |
6 | Grösse | Dezimalzahl von 0.2 bis 2.99 |
Ungültige Klassen | ||
7 | Vorname | Text mit 2 Buchstaben oder weniger |
8 | Vorname | Text mit mehr als 50 Buchstaben |
9 | Vorname | Text mit ungültigen Zeichen |
10 | Geschlecht | alle anderen Werte |
11 | Alter | Ganzzahl kleiner 0 |
12 | Alter | Ganzzahl grösser 150 |
13 | Alter | Keine Ganzzahl |
14 | Grösse | Dezimalzahl kleiner 0.2 |
15 | Grösse | Dezimalzahl grösser 2.99 |
16 | Grösse | Keine Zahl |
Testfälle ableiten
Aus den Äquivalenzklassen können wir nun die Testfälle ableiten.
- Testfälle mit ausschliesslich gültigen Klassen. Dabei muss jede gültige Klasse in mindesten einem gültigen Testfall vorkommen.
- Testfälle mit einer ungültigen Klasse.
Als Eingabewerte wählen wir “typische” Werte die klar innerhalb der Klasse liegen. Die Grenzen der Klassen werden später in separaten Testfällen (Grenzwertanalyse) getestet.
Beispiel: Personalien
Nr | 1 | |
---|---|---|
Klassen | 1,2,5,6 | |
Eingaben | Vorname | Hanna |
Geschlecht | M | |
Alter | 35 | |
Grösse | 1.35 | |
Nr | 2 | |
Klassen | 1,3,5,6 | |
Eingaben | Vorname | Peter |
Geschlecht | W | |
Alter | 56 | |
Grösse | 0.76 | |
Nr | 3 | |
Klassen | 1,4,5,6 | |
Eingaben | Vorname | Diego |
Geschlecht | D | |
Alter | 15 | |
Grösse | 2.35 | |
Nr | 4 | |
Klassen | 7 | |
Eingaben | Vorname | H |
Geschlecht | M | |
Alter | 14 | |
Grösse | 1.86 | |
Nr | 5 | |
Klassen | 8 | |
Eingaben | Vorname | Anna Maria Davide Juan Marco Julius William Bruce akodfaisdfhaosdihgaoisdgh |
Geschlecht | M | |
Alter | 6 | |
Grösse | 1.33 | |
Nr | 9 | |
Klassen | 9 | |
Eingaben | Vorname | Mar$el |
Geschlecht | D | |
Alter | 19 | |
Grösse | 0.74 | |