Was ist Grenzwertanalyse (Boundary Value Analysis)?
Technik des Black-Box-Tests, die, weil sich Fehler an den Grenzen zwischen Äquivalenzklassen häufen, die Werte unmittelbar auf beiden Seiten jeder Grenze testet (zum Beispiel 0, 1, 100 und 101, wenn 1 bis 100 akzeptiert wird). Sie eignet sich gut, um Fehler wie verwechselte Vergleichsoperatoren zu finden.
Japanische Bezeichnung: 境界値分析
„Grenzwertanalyse (Boundary Value Analysis)“ kommt in 3 Übungsfragen aus 1 Themen vor, z. B. Softwareentwicklung und Projektmanagement.
Fachgebiet: Softwareentwicklung und Projektmanagement
Wie die Werte gewählt werden
Werden ganzzahlige Eingaben von 1 bis 100 akzeptiert, wählt man an der unteren Grenze 0 und 1 und an der oberen Grenze 100 und 101. Eine feinere Variante testet jeden Grenzwert und seine beiden Nachbarn (0, 1, 2 und 99, 100, 101). Gibt es mehrere Kategorien, etwa Preiskategorien, werden an jeder Grenze, an der die Kategorie wechselt, Werte auf beiden Seiten gewählt. Bei Dezimaleingaben ergibt sich der Nachbarwert aus der in der Spezifikation festgelegten Auflösung (etwa Schritten von 0,1).
Grenzen in hardwarenaher Software
Eingebettete Software hat viele numerische Grenzen in ihrer Spezifikation, etwa Schwellwerte für ADC-Messwerte, den Punkt, an dem ein Timerzähler vom Maximum auf 0 überläuft, den Punkt, an dem ein Puffer genau voll ist, und die maximale Paketlänge eines Kommunikationsprotokolls. Rechenfehler treten leicht beim Überlauf von 255 auf 0 eines 8-Bit-Zählers oder an der Grenze zwischen 32.767 und −32.768 einer vorzeichenbehafteten 16-Bit-Ganzzahl auf. Solche Grenzen werden sowohl aus den Zahlen in der Spezifikation als auch aus den Wertebereichen der Datentypen ermittelt.
Häufige Fragen
Wie werden Äquivalenzklassenbildung und Grenzwertanalyse zusammen eingesetzt?
Meist werden sie kombiniert. Die Äquivalenzklassenbildung teilt die Eingaben in Klassen auf und testet einen Repräsentanten jeder Klasse, und die Grenzwertanalyse ergänzt Tests auf beiden Seiten der Klassengrenzen. Äquivalenzklassenbildung allein verringert die Zahl der Tests, übersieht aber leicht Fehler an den Grenzen.
Ist die Grenzwertanalyse eine Technik des White-Box-Tests?
Sie wählt Werte an den Grenzen der in der Spezifikation festgelegten Bereiche und ist daher eine Technik des Black-Box-Tests. Manche Grenzen, etwa Array-Größen und Wertebereiche von Datentypen innerhalb der Implementierung, stehen jedoch nicht in der Spezifikation; daher werden manchmal nach einem Blick in den Quellcode Werte ergänzt.