Grenzwert

Was ist ein Grenzwert?

Ein Grenzwert ist ein Ein- oder Ausgabewert, der entweder am Rand einer Äquivalenzklasse liegt oder nur einen kleinen inkrementellen Abstand (z. B. 1 Einheit) von diesem Rand entfernt ist. In der Softwaretestpraxis bezieht sich der Begriff oft auf Werte an den Extrempunkten eines zulässigen Wertebereichs. Diese Grenzwerte sind besonders wichtig, weil Fehler häufig an den Grenzen eines zulässigen Bereichs auftreten.

Merkmale eines Grenzwerts:

  • Randwert der Äquivalenzklasse: Ein Grenzwert ist der kleinste oder größte Wert, der innerhalb einer definierten Äquivalenzklasse liegt.
  • Kritische Testwerte: Grenzwerte repräsentieren kritische Punkte, an denen sich das Verhalten eines Systems ändern kann (z. B. bei Eingabewerten oder Berechnungen).
  • Testfokus: Grenzwertanalyse konzentriert sich auf die Testabdeckung von Grenzwerten, um sicherzustellen, dass die Software an den Rändern ihrer Eingabebereiche korrekt funktioniert.

Beispiel für Grenzwerte:

  1. Zahlensystem: Ein System akzeptiert nur Werte zwischen 1 und 100. Die Grenzwerte wären hier:
    • Untergrenze: 1 (kleinster zulässiger Wert)
    • Obergrenze: 100 (größter zulässiger Wert)
  2. Eingabefeld für Alter: Ein Online-Formular akzeptiert nur Alter zwischen 18 und 65 Jahren. Die Grenzwerte wären:
    • Untergrenze: 18
    • Obergrenze: 65

Ein Grenzwerttest könnte hier sicherstellen, dass das System sowohl bei der Eingabe von 18 und 65 Jahren korrekt funktioniert, als auch bei 18-1 (17) und 65+1 (66), um sicherzustellen, dass Werte außerhalb des gültigen Bereichs abgelehnt werden.

Grenzwertanalyse in der Praxis:

  • Bei der Grenzwertanalyse wird besonders Augenmerk auf Werte gelegt, die am Rand des zulässigen Bereichs liegen, sowie auf Werte direkt außerhalb des zulässigen Bereichs, da Fehler in der Regel genau an diesen Stellen auftreten.
  • Grenzwerttests beinhalten nicht nur die Prüfung der Grenzen selbst, sondern auch der Werte, die direkt neben ihnen liegen, z. B. für einen Wertebereich von 1 bis 100 die Eingabewerte 0, 1, 99 und 100.

Vorteile der Grenzwertanalyse:

  • Fehlererkennung: Grenzwertanalyse hilft dabei, Fehler zu erkennen, die in der Regel an den Grenzen eines zulässigen Eingabebereichs oder Funktionsbereichs auftreten.
  • Effektivität: Durch die gezielte Prüfung der Randwerte eines Systems können potenziell viele Fehler mit einer geringen Anzahl von Testfällen identifiziert werden.
  • Abdeckung kritischer Fälle: Sie stellt sicher, dass die Software kritische Eingaben korrekt verarbeitet und somit die Zuverlässigkeit und Robustheit des Systems erhöht wird.

Beispiel für Grenzwerttests:

Angenommen, ein System akzeptiert Werte zwischen 10 und 20 für die Eingabe des Alter-Felds. Die Grenzwerttests würden die folgenden Fälle beinhalten:

  • Untergrenze: Teste mit 10 (minimaler gültiger Wert).
  • Obergrenze: Teste mit 20 (maximaler gültiger Wert).
  • Werte unterhalb der Untergrenze: Teste mit 9 (sollte abgelehnt werden).
  • Werte oberhalb der Obergrenze: Teste mit 21 (sollte abgelehnt werden).

Grenzwertanalyse im Vergleich zu Äquivalenzklassentest:

  • Grenzwertanalyse und Äquivalenzklassentest ergänzen sich gut. Bei der Äquivalenzklassentestung werden die Eingabewerte in Äquivalenzklassen unterteilt, wobei alle Werte in einer Klasse als gleichwertig betrachtet werden. Grenzwertanalyse konzentriert sich darauf, die Randwerte jeder Äquivalenzklasse zu testen. Beispiel:
    • Äquivalenzklasse für Alter: Alter zwischen 10 und 20 Jahren.
    • Grenzwerttests: Teste die Werte 10, 20, 9, und 21.

Nachteile der Grenzwertanalyse:

Nicht immer aussagekräftig: In einigen Systemen können Fehler nicht unbedingt an den Grenzen des Eingabebereichs auftreten, sondern auch innerhalb des gültigen Bereichs, wodurch Grenzwerttests allein nicht ausreichen.

Eingeschränkte Testabdeckung: Grenzwertanalyse fokussiert sich nur auf Randwerte und berücksichtigt nicht die intermediären Werte innerhalb eines zulässigen Bereichs.