Grenzwertanalyse
R 2.0.0
Beschreibung
Die Grenzwertanalyse prüft anhand geeigneter Testfälle die Systemgrenzen. Dazu werden Grenzwerte und Randbedingungen in den Testfällen verwendet, einschließlich maximaler und minimaler gültiger Eingabewerte sowie solchen, die knapp außerhalb dieser Grenzen liegen.
Bei Testfällen, die durch die Verwendung von Äquivalenzklassen gebildet wurden, ist die Grenzwertanalyse eine sinnvolle Ergänzung. Da an den Grenzbereichen der gebildeten Klassen häufig Fallunterscheidungen getroffen werden, ist die Fehlerhäufigkeit an diesen Stellen hoch. Die Tests mit Grenzwerten haben demzufolge eine besondere Bedeutung, da sie oft Fehlerwirkungen aufdecken.
Beispiel für die Bildung von Grenzwerten
„Bei der Grenzwertanalyse werden an den Rändern der Äquivalenzklasse der exakte Grenzwert und die beiden (innerhalb und außerhalb der Äquivalenzklasse) benachbarten Werte getestet.“
In unserem Beispiel des Online Bestellformulars für Schiffsausflüge gelten für bestimmte Altersklassen unterschiedliche Rabattstufen. In der zweiten Stufe von 13 bis einschließlich 17 Jahren werden 25% des regulären Preises fällig. In der dritten Stufe zwischen 18 bis einschließlich 69 Jahren sind es 100% des Fahrpreises:
gÄK2: 13 ≤ x < 18
gÄK3: 18 ≤ x < 70
Angenommen, die zu erstellende Anwendung enthält beispielsweise eine Abfrage des Alters x < 18, so sollten die verschiedenen Abfragetypen betrachtet werden, die während der Programmierung womöglich stattdessen fehlerhaft verwendet wurden:
Die Verwendung der bei Ganzzahlen inhaltsgleichen Abfrage x ≤ 17 wäre in unserem Beispiel ebenfalls denkbar, würde jedoch unterschiedliche potenzielle Fehlerquellen mit sich bringen.
Als Testdaten zur Überprüfung der gemeinsamen Grenze (18 Jahre) der Äquivalenzklassen werden die Werte 17, 18 und 19 herangezogen.
Zusätzlich zu den bereits gewählten Repräsentanten aus dem Beispiel dieser Äquivalenzklassen (16, 43) werden die Werte 17, 18 und 19 als Testdaten zur Überprüfung der gemeinsamen Grenze (18 Jahre) hinzugezogen.
Mehrwert
Die Kombination der Äquivalenzklassenbildung und der Grenzwertanalyse ist sehr sinnvoll. Werte, die an den Grenzen der Klassen liegen, werden häufiger fehlerhaft verarbeitet als solche innerhalb der Klassen.
Daher ist die Grenzwertanalyse eine sehr gute Maßnahme, um Fehlerwirkungen aufzudecken.
Herausforderungen bei Grenzwertanalysen
Zu beachten ist, dass die Analyse und Bestimmung der relevanten Grenzen und somit der entsprechenden Testdaten nicht zu unterschätzen ist. In jedem Falle ist separat zu entscheiden, ob der Testaufwand gerechtfertigt ist. So können z.B. die ursprünglichen Testfälle aus dem Beispiel für die Äquivalenzklassen weggelassen werden, da es sich bei den verwendeten Grenzwerten auch um Repräsentanten der Äquivalenzklassen handelt.
Nicht für jede Äquivalenzklasse lassen sich auch Grenzwerte bestimmen (z.B. Fahrzeugtypen wie Bus, PKW, LKW, Traktor etc.), daher ist die Kombination beider Methoden auch nicht in jedem Fall möglich.
In vielen Fällen ist außerdem Kreativität zur Bildung erfolgsversprechender Testfälle gefordert und ein allgemeingültiges Rezept zur Bildung der Grenzwerte schwierig vorzugeben.
Da der Einsatz dieser Methode auf den ersten Blick zu einfach erscheint und die Effizienz häufig nicht bekannt ist, wird sie oftmals nicht konsequent angewendet.
Quellen
-
ISTQB Glossary Grenzwertanalyse, abgerufen am 06.02.2024
-
Dr. Oliver Kortendick, Kombinatorik II Äquivalenzklassenbildung und Grenzwertanalyse - Vortrag im Forum für Test und Qualitätssicherung (ForTeQ - BVA) vom 25.02.2021
-
A. Spillner, T. Linz - Basiswissen Softwaretest, 7. Auflage, 2024