Zum Inhalt springen

Suchen...

Äquivalenzklassen und Grenzwertanalyse: Der Wertebereichstest

Die meisten Eingabefehler sitzen nicht irgendwo im Wertebereich, sondern genau an seinen Grenzen. Äquivalenzklassen und Grenzwertanalyse zielen exakt dorthin.

Fachlich geprüft von Richard Seidl · 31. Juli 2026

Was sind Äquivalenzklassen und Grenzwertanalyse?

Äquivalenzklassenbildung und Grenzwertanalyse sind zwei eng verzahnte Black-Box-Testverfahren: Die Äquivalenzklassenbildung zerlegt den Eingabewertebereich in Klassen, die das System gleich behandeln soll, und die Grenzwertanalyse prüft gezielt die Übergänge zwischen diesen Klassen. Zusammen bilden sie das wohl meistgenutzte Gespann unter den Testentwurfsverfahren.

Die Idee dahinter ist ökonomisch. Niemand kann ein Eingabefeld mit allen denkbaren Werten testen. Muss auch niemand: Wenn das System die Werte 12 und 19 nachweislich gleich behandelt, reicht einer von beiden als Repräsentant. Interessant wird es an den Rändern. Ob im Code ein Kleiner-Zeichen oder ein Kleiner-gleich steht, entscheidet sich genau am Grenzwert, nirgendwo sonst. Deshalb sitzen die berüchtigten Off-by-one-Fehler fast immer an Klassengrenzen.

Wertebereichstest heißt die Weiterentwicklung dieser beiden Techniken auf Advanced-Niveau: dieselbe Grundidee, ergänzt um ein benanntes Punktart-Vokabular (ON, OFF, IN, OUT) und um explizite Überdeckungskriterien. Die Grundtechniken selbst gehören seit jeher zum Foundation Level.

Eine Abgrenzung vorab, weil die Suchergebnisse zu diesem Begriff gerne in eine andere Disziplin führen: Äquivalenzklassen gibt es auch in der Mathematik. Dort zerlegt eine Äquivalenzrelation (reflexiv, symmetrisch, transitiv) eine Menge in disjunkte Teilmengen. Der Softwaretest hat sich die Grundidee geborgt, betreibt aber keine Beweisführung. Werte gelten als äquivalent, wenn die Spezifikation sagt, dass das System sie gleich behandeln soll. Wer die mathematische Äquivalenzrelation sucht, ist hier falsch; wer wissen will, wie man mit neun Testfällen ein Eingabefeld absichert, richtig.

Wann ist das Verfahren geeignet?

Der Wertebereichstest bietet sich an, sobald ein Eingabeparameter einen klar definierten Wertebereich hat: numerische Beträge, Mengen, Datumswerte, Auswahllisten, Längen von Zeichenketten. Auch fachliche Regeln mit Schwellwerten gehören dazu, etwa “Stornierung kostenlos bis 48 Stunden vor Anreise” oder “Frühbucherrabatt ab 60 Tagen Vorlauf”.

Seine Stärke liegt bei Eingabevalidierungen und Berechnungslogiken, deren Entscheidungen an einzelnen Werten hängen. Wo dagegen mehrere separate Parameter zusammenwirken, reicht das Verfahren allein nicht aus; dort übernimmt der kombinatorische Test das Zusammenspiel der Parameter. Und wenn Schwellwerte in verknüpfte Geschäftsregeln eingebettet sind, lohnt der Blick auf den Entscheidungstabellentest.

Vorgehen in sechs Schritten

Vorgehen in sechs Schritten, WertebereichstestAblaufkette der sechs Schritte beim Wertebereichstest: Eingabeparameter identifizieren, Wertebereich bestimmen, Äquivalenzklassen bilden, Grenzen bestimmen, Punkte je Grenze festlegen, Testfälle ableiten.1. Eingabe-parameteridentifizieren2. Werte-bereichbestimmen3. Äquivalenz-klassenbilden4. Grenzenbestimmen5. Punkte jeGrenzefestlegen6. Testfälleableiten

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Der Ablauf ist immer derselbe, nur Klassen, Grenzen und Werte ändern sich. Als Beispiel dient das Buchungsformular eines Hotels, in dem die Aufenthaltsdauer als ganze Zahl von 1 bis 28 Nächten zulässig ist.

  1. Eingabeparameter identifizieren. Welche Parameter beeinflussen das zu testende Verhalten? Im Beispiel: das Feld für die Anzahl der Nächte.
  2. Wertebereich bestimmen. Welche Werte sind laut Spezifikation zulässig? Im Beispiel: ganze Zahlen von 1 bis 28, beide einschließlich.
  3. Äquivalenzklassen bilden. Gültige und ungültige Klassen trennen. Im Beispiel vier Klassen: gültig (1 bis 28), ungültig zu klein, ungültig zu groß, ungültig nicht-ganzzahlig (Buchstaben, Kommazahlen, leeres Feld).
  4. Grenzen bestimmen. Pro Klasse die Grenzwerte markieren und festhalten, ob die Grenze zur Klasse gehört (geschlossen, etwa bei kleiner-gleich) oder nicht (offen, etwa bei kleiner). Im Beispiel sind beide Grenzen geschlossen: 1 und 28 sind gültige Werte.
  5. Punkte je Grenze festlegen. Welcher Punkt wo liegt, hängt davon ab, ob die Grenze geschlossen oder offen ist. Bei geschlossener Grenze (die Grenze gehört zur Klasse) sitzt der ON-Punkt auf der Grenze und der OFF-Punkt direkt daneben außerhalb. Bei offener Grenze ist es umgekehrt: Der ON-Punkt ist der letzte Wert innerhalb der Klasse, der OFF-Punkt sitzt auf der Grenze. Der IN-Punkt ist ein typischer Wert mitten in der Klasse, der OUT-Punkt ein Wert außerhalb, der kein OFF-Punkt ist. Im Beispiel sind beide Grenzen geschlossen: ON-Punkte 1 und 28, OFF-Punkte 0 und 29, IN-Punkt 14, OUT-Punkte -3 und 90.
  6. Testfälle ableiten. Aus den Punkten der gewählten Überdeckung entstehen die Testfälle, im Beispiel neun.

Ein kompaktes Beispiel

Zahlengerade Hotelbuchung, WertebereichstestZahlengerade zum Wertebereichstest am Beispiel einer Hotelbuchung mit zulässiger Aufenthaltsdauer von 1 bis 28 Nächten. Markierte Testpunkte: TF-4 bei -3 (OUT, ungültig zu klein), TF-2 bei 0 (OFF, ungültig zu klein), TF-1 bei 1 (ON, untere Grenze, gültig), TF-3 bei 14 (IN, gültig), TF-5 bei 28 (ON, obere Grenze, gültig), TF-6 bei 29 (OFF, ungültig zu groß), TF-7 bei 90 (OUT, ungültig zu groß). Zusätzlich abgesetzt: TF-8 und TF-9 für die nicht-numerische Klasse (Eingabe "xx" und leeres Feld), die sich nicht auf der Zahlengeraden abbilden lassen.TF-4OUT-3TF-2OFF0TF-1ON1TF-3IN14TF-5ON28TF-6OFF29TF-7OUT90ungültig: zu kleingültig (1 bis 28 Nächte)ungültig: zu großungültig: nicht-ganzzahligTF-8: Eingabe „xx“TF-9: Eingabe leer

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Das Hotel-Buchungsformular aus dem Vorgehen, komplett durchgespielt. Aufenthaltsdauer 1 bis 28 Nächte, alles andere soll eine verständliche Fehlermeldung auslösen:

TestfallEingabePunktartErwartetes Verhalten
TF-11ON-Punkt der unteren GrenzeBuchung möglich, 1 Nacht
TF-20OFF-Punkt der unteren GrenzeFehlermeldung “Mindestens 1 Nacht”
TF-314IN-PunktBuchung möglich, 14 Nächte
TF-4-3OUT-PunktFehlermeldung “Mindestens 1 Nacht”
TF-528ON-Punkt der oberen GrenzeBuchung möglich, 28 Nächte
TF-629OFF-Punkt der oberen GrenzeFehlermeldung “Maximal 28 Nächte”
TF-790OUT-PunktFehlermeldung “Maximal 28 Nächte”
TF-8”xx”Vertreter der ungültigen Klasse “nicht-ganzzahlig”Fehlermeldung “Bitte ganze Zahl eingeben”
TF-9(leer)Vertreter der ungültigen Klasse “nicht-ganzzahlig”Fehlermeldung “Pflichtfeld”

Die Eingaben “xx” und das leere Feld fallen aus dem Punkte-Raster heraus. Sie gehören zur ungültigen Klasse “nicht-ganzzahlig”, und die hat keine Ordnung, also auch keine Grenze, auf die sich ON und OFF beziehen könnten. Getestet werden sie trotzdem, als Vertreter ihrer Äquivalenzklasse. Nur eben nicht als Grenzwerte.

Angenommen, im Testlauf liefert TF-2 statt der Validierungsmeldung einen technischen Serverfehler: Die 0 rutscht durch die Oberflächen-Prüfung und erst die Datenbank verweigert den Datensatz. Fachlich “nur” eine falsche Fehlermeldung, technisch ein Hinweis darauf, dass die Eingabevalidierung lückenhaft ist. Ein Test mit einem bequemen Wert aus der Mitte hätte davon nichts gezeigt.

Überdeckung: vereinfacht oder zuverlässig

Überdeckung vereinfacht oder zuverlässig, WertebereichstestDieselbe Zahlengerade wie beim Wertebereichstest-Beispiel, ergänzt um zwei Überdeckungsvarianten. Die vereinfachte Wertebereichsüberdeckung markiert nur die ON- und OFF-Punkte (TF-1, TF-2, TF-5, TF-6). Die zuverlässige Wertebereichsüberdeckung markiert zusätzlich die IN- und OUT-Punkte (TF-3, TF-4, TF-7).TF-4OUT-3TF-2OFF0TF-1ON1TF-3IN14TF-5ON28TF-6OFF29TF-7OUT90ungültig: zu kleingültig (1 bis 28 Nächte)ungültig: zu großvereinfacht (ON + OFF)4 von 7 PunktenTF-2TF-1TF-5TF-6zuverlässig (zusätzlich IN + OUT)7 von 7 PunktenTF-4TF-2TF-1TF-3TF-5TF-6TF-7

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Zwei Überdeckungskriterien sind beim Wertebereichstest gebräuchlich. Die vereinfachte Wertebereichsüberdeckung verlangt pro Grenze einen ON- und einen OFF-Punkt; das deckt sich mit dem 2-Wert-Schema der Grenzwertanalyse aus dem Foundation Level. Die zuverlässige Wertebereichsüberdeckung fordert pro Grenze zusätzlich einen IN- und einen OUT-Punkt; sie kostet ein paar Testfälle mehr und findet dafür auch Fehler, die nicht direkt an der Grenze sitzen.

Gerechnet wird jeweils als Anteil der getesteten an den geforderten Überdeckungselementen. Im Hotel-Beispiel: Die vier Grenzwert-Tests (TF-1, 2, 5, 6) bringen die vereinfachte Überdeckung auf 100 Prozent; für die zuverlässige braucht es zusätzlich IN- und OUT-Punkte, also TF-3, 4 und 7. Derselbe Wert darf dabei mehrere Rollen übernehmen: Die 14 zählt als IN-Punkt für beide Grenzen gleichzeitig, das spart einen Testfall. Für risikoarme Felder genügt die vereinfachte Variante, für geld- oder sicherheitsnahe Validierungen lohnt die zuverlässige.

Stärken und Grenzen

Die Stärke des Verfahrens: Es liefert mit wenigen Testfällen eine begründbare Abdeckung und zielt auf die häufigste Fehlerklasse bei Eingabevalidierungen, die verrutschte Grenze. Jede Eingabe hat eine benennbare Rolle, die Auswahl lässt sich dokumentieren und im Review verteidigen.

Die Grenzen sind genauso klar. Das Verfahren steht und fällt mit der Annahme, dass alle Werte einer Klasse wirklich gleich behandelt werden. Die Implementierung hält sich aber nicht immer an diese Annahme: Ein unauffälliger Wert mitten in der gültigen Klasse kann trotzdem Sondereffekte auslösen, etwa weil er mit einer intern reservierten Konstante kollidiert. Für solche versteckten Sonderfälle braucht es ergänzend Zufallstests oder exploratives Testen. Und bei mehreren zusammenwirkenden Parametern prüft der Wertebereichstest zwar jede Grenze sauber, die Wechselwirkungen zwischen den Parametern aber nicht.

Verwandte Verfahren

Der kombinatorische Test setzt direkt auf der Äquivalenzklassenbildung auf: Pro Parameter werden erst die Klassen gebildet, dann deren Repräsentanten über Parameter hinweg kombiniert. Der Entscheidungstabellentest übernimmt, wenn Schwellwerte Teil verknüpfter Geschäftsregeln sind. Einen Überblick über alle elf Verfahren und ihre Auswahl gibt die Seite Testentwurfsverfahren.

Häufig gestellte Fragen

Bei der Äquivalenzklassenbildung wird der Eingabewertebereich eines Parameters in disjunkte Klassen zerlegt, deren Werte das System gleich behandeln soll. Gültige Klassen enthalten Werte, die akzeptiert werden sollen, ungültige Klassen Werte, die zu einer definierten Ablehnung führen sollen. Pro Klasse wird mindestens ein Repräsentant getestet, statt jeden einzelnen Wert zu prüfen.

Die Grenzwertanalyse prüft gezielt die Werte, an denen sich das Verhalten eines Systems ändert: die Grenzen der Äquivalenzklassen. Dort entstehen die typischen Off-by-one-Fehler, etwa wenn ein Feld mit dem zulässigen Bereich 1 bis 28 auch den Wert 29 akzeptiert. Getestet werden der Grenzwert selbst und die unmittelbar benachbarten Werte.

In der Mathematik entstehen Äquivalenzklassen aus einer Äquivalenzrelation, also einer reflexiven, symmetrischen und transitiven Relation, die eine Menge in disjunkte Teilmengen zerlegt. Der Softwaretest übernimmt diese Grundidee pragmatisch: Werte gelten als äquivalent, wenn das System sie laut Spezifikation gleich behandeln soll. Es geht nicht um formale Beweise, sondern darum, mit wenigen Repräsentanten viele gleichartige Fälle abzudecken.

Der Wertebereichstest kombiniert Äquivalenzklassenbildung und Grenzwertanalyse zu einem Verfahren mit benannten Punktarten (ON, OFF, IN, OUT) und expliziten Überdeckungskriterien. Er erweitert die beiden Foundation-Level-Techniken auf komplexere Wertebereiche, etwa abgestufte Preis- oder Rabattregeln mit mehreren gültigen Klassen nebeneinander.

Als Minimum ein Repräsentant pro Klasse. Für belastbare Tests kommen die Grenzwerte dazu: pro Grenze ein ON-Punkt und ein OFF-Punkt. Bei geschlossener Grenze liegt der ON-Punkt auf der Grenze und der OFF-Punkt direkt daneben außerhalb, bei offener Grenze umgekehrt: ON innerhalb der Klasse, OFF auf der Grenze. Die zuverlässige Wertebereichsüberdeckung ergänzt pro Grenze noch einen IN-Punkt (typischer Wert innerhalb) und einen OUT-Punkt (Wert außerhalb, der kein OFF-Punkt ist). Für ein Feld mit dem Bereich 1 bis 28 ergeben sich so rund neun Testfälle.

Ein Off-by-one-Fehler ist ein Fehler, bei dem eine Grenze um genau eins verrutscht ist, etwa weil im Code ein Kleiner-Zeichen statt Kleiner-gleich steht. Ein Feld mit Spezifikation 1 bis 28 akzeptiert dann fälschlich auch 29 oder lehnt die gültige 28 ab. Genau solche Fehler deckt die Grenzwertanalyse zuverlässig auf.

Erst die Basis schaffen

Äquivalenzklassenbildung und Grenzwertanalyse sind die Grundlagen, auf denen der erweiterte Wertebereichstest aufbaut. Genau diese Basis schaffst du im ISTQB Foundation Level, systematisch und praxisnah.