Durchführung von Äquivalenzklassentest und Grenzwertanalyse / Teil 1

In diesem Artikelserie wird beschrieben, wie ein Äquivalenzklassentest zur Durchführung des Formular- und Oberflächentests verwendet werden kann. Es wird die grundsätzliche Methodik des Äquivalenzklassentests und dessen praktische Anwendung beim Formulartest beschrieben. Weiterhin wird eine Verfeinerung des Äquivalenzklassentest, nämlich die Grenzwertanalyse beschrieben.

 

sponsored by smartwebapps.de

1.Wie entwerfe ich einen Äquivalenzklassentest

1.1 Was sind Äquivalenzklassen?

Beispiel: Unser System ist ein Tabakautomat. Erst ab 16 Jahren dürfen Benutzer Tabak von Tabakautomaten beziehen.

 

Man könnte nun bei einem Test anfangen und jedes Alter zu prüfen, um zu sehen, ob der Tabakautomat Zigaretten ausgibt. Dies ist jedoch sehr umständlich und zeitaufwändig. Daher wurde der Äquivalenzklassentest entwickelt und im ISTQB-Lehrplan unterrichtet.

 

Eine Äquivalenzklasse ist eine Menge von möglichen Eingaben. Die Idee ist nun, dass sich das Testobjekt bei allen Elementen (Repräsentanten), die derselben Äquivalenzklasse angehören, gleich verhält. Es ist daher bei einem Test ausreichend einen Repräsentanten pro Äquivalenzklasse zu verwenden.

 

Beispiel: In unserem Beispiel gibt es 2 Äquivalenzklassen:

1. Alter von 0 bis unter 16 (0<=Alter<16) also maximal 15 Jahre 11 Monate und 30 Tage

2. Alter 16 und höher (Alter>=16)

Es hat nun beispielsweise den gleichen Effekt, wenn ich das Alter 1 statt der Alterswerte 1 bis 15 (inkl. Berücksichtigung der Monate) teste. Für die 2. Äquivalenzklasse kann ich beispielsweise 17 als Repräsentanten verwenden. Wenn ich jedes Alter getestet hätte, wäre die für den Test benötigte Zeit erheblich größer.

 

Übersicht der Äquivalenzklassen:

Äquivalenzklasse 1 2
Wertebereich 0<=Alter<16 Alter>=16
Repräsentant im konkreten Testfall 1 17

 

1.2 Wie bilde ich Äquivalenzklassen?

Im Beispiel unter 1.1 wurden bereits die Äquivalenzklassen gebildet. Folgende Schritte zur Bildung von Äquivalenzklassen (gerade bei umfangreichen Klassensystemen) haben sich als allgemein bewährt erwiesen.

Hierbei verwende ich folgendes Beispiel zur konkreten Anwendung beim Test eines Formulars:

Nummer Feldname Vorbelegung / Default Datentyp / Einheit / Format Feldart Werte-bereich
12345 Name Freitextfeld;Bis zu 180 Zeichen;Buchstaben, Ziffern und Sonderzeichen Verpflichtend

 

1.2.1 Vorgehensweise

Die folgende Tabelle zeigt Schritt für Schritt das Vorgehen bei der Ableitung von Äquivalenzklassen. Daraus wurde auch bereits eine Testfrage abgeleitet.

Beschreibung Beispiel
Schritt 1 Basisklasse ermitteln

  • Wertebereiche ermitteln
  • Klasse für zulässige Werte bilden (gültige Äquivalenzklasse)
  • Klasse für unzulässige Werte bilden (ungültige Äquivalenzklasse)
alle Basisklassen des Beispiels:

Nr. gültig/ungültig Klasse Wertebereich
1 gültig zulässiger Wertebereich von bis zu 180 Zeichen 0<Anzahl Zeichen<=180
2 ungültig Feld leer lassen trotz Pflichtfeld Anzahl Zeichen=0
3 ungültig mehr als 180 Zeichen eingeben Anzahl Zeichen>180
Schritt 2 Klassen verfeinern (wenn möglich) Hier kann die Klasse Nr. 1 verfeinert werden.

Nr. gültig/ungültig Klasse Wertebereich
1.1 gültig mit Buchstaben 0<Anzahl Zeichen<=180 Buchstaben
1.2 gültig mit Zahlen 0<Anzahl Zeichen<=180 Zahlen
1.3 gültig mit Sonderzeichen 0<Anzahl Zeichen<=180 Sonderzeichen
Schritt 3 Repräsentant auswählen Hier wird je Äquivalenzklasse ein Wert ermittelt.

Nr. Repräsentant
1.1 Testfirma
1.2 12345
1.3 /_:
2 (leer)
3 xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx

 

1.2.2 Äquivalenzklassenbaum

Er ergibt sich folgender Äquivalenzklassenbaum:

Beispiel für Äquivalenzklassenbaum nach ISTQB

Beispiel für Äquivalenzklassenbaum nach ISTQB

 

1.2.3 Konsolidierung der Äquivalenzklassen

Man stellt jedoch fest, dass man in der Praxis die Äquivalenzklassen 1.1, 1.2 und 1.3 zusammenfassen kann, indem man Testfälle erstellt, die sowohl Buchstaben, Zahlen und Sonderzeichen enthalten.

 

Daher können folgende beispielhaften Testfälle abgeleitet werden

Testfall Wert für Feld gültige/ungültige ÄK
1 (leer) ungültig
9 100 Buchstaben, Sonderzeichen und Zahlen gültig
10 181 Zeichen ungültig

 

Im nächsten Teil der Serie wird die Grenzwertanalyse genauer betrachtet.

2 Gedanken zu „Durchführung von Äquivalenzklassentest und Grenzwertanalyse / Teil 1

  1. Hallo Stefan,
    erst mal Danke für die ausführlichen und verständlichen Beispiele.

    Kann es jedoch sein, dass du bei deiner Klasse 1 di eBdeingung falsch angegeben hast?
    Dort heißt es unter „Wertebereich“: 0<=Anzahl Zeichen<=180, schließt also als unteren Rand die 0 mit ein.
    Müsste das nicht richtig "0<Anzahl Zeichen<=180" heißen?

    Gruß,
    Thomas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert