Glossar · Testdesign
Grenzwertanalyse
Englisch: Boundary value analysis
Auch genannt: BVA, Grenzwerttest, Grenzwerte, Grenzwertanalyse Beispiel
Definition
Ein Black-Box-Testentwurfsverfahren, das Testeingaben genau an und knapp neben den Rändern gültiger Bereiche wählt, wo sich Off-by-one-Fehler häufen.
Die Grenzwertanalyse (Boundary Value Analysis, BVA) testet die Werte an den Rändern jedes Eingabebereichs, denn genau dort machen Entwickler Fehler: > statt >=, < 60 statt <= 60, eine Schleife, die einmal zu oft läuft. Sie wird normalerweise nach der Äquivalenzklassenbildung angewendet, die die Bereiche ermittelt; die Grenzwertanalyse wählt dann die genauen Werte an und um jede Grenze.
Beispiel: Alter von 18 bis 60 erlaubt
Ein Registrierungsformular akzeptiert ein Alter von 18 bis einschließlich 60.
Zwei-Werte-Grenzwertanalyse (die Grenze und ihr nächster Nachbar außerhalb des Bereichs):
| Eingabe | Erwartet |
|---|---|
| 17 | Abgelehnt |
| 18 | Akzeptiert |
| 60 | Akzeptiert |
| 61 | Abgelehnt |
Drei-Werte-Grenzwertanalyse ergänzt den Nachbarn auf der Innenseite jeder Grenze:
| Eingabe | Erwartet |
|---|---|
| 17, 18, 19 | Abgelehnt, Akzeptiert, Akzeptiert |
| 59, 60, 61 | Akzeptiert, Akzeptiert, Abgelehnt |
Sechs Tests statt 43 möglicher gültiger Altersangaben – und diese sechs fangen die üblichen Vergleichsfehler ab. Steht im Code age > 18, schlägt der Test mit 18 fehl. Steht dort age < 60, schlägt der Test mit 60 fehl.
Mehr als Zahlenbereiche
Grenzen gibt es überall, wo es ein Limit gibt:
- Länge: Ein Benutzername mit 3 bis 20 Zeichen bedeutet Tests mit 2, 3, 20 und 21 Zeichen.
- Datum und Uhrzeit: Ein Link, der 30 Minuten gültig ist, bedeutet Tests bei 29:59, 30:00 und 30:01. Prüfen Sie, wo relevant, auch Mitternacht, Monatsenden und Schalttage.
- Sammlungen: ein leerer Warenkorb, ein Artikel und die maximal erlaubte Anzahl plus eins.
- Geld: 99,99 $, 100,00 $ und 100,01 $ bei einer Regel „versandkostenfrei ab 100 $“.
- Technische Limits: maximale Dateigröße, Integer-Überlauf, Seitengröße bei paginierten APIs.
Häufige Fehler
- Nur die gültige Seite testen. 17 und 61 sind genauso wichtig wie 18 und 60.
- Die Grenze annehmen. „Bis 60“ kann heißen, dass 60 dazugehört oder nicht. Fragen Sie nach und halten Sie die Antwort in den Akzeptanzkriterien fest.
- Typ und Genauigkeit ignorieren. Akzeptiert das Feld Dezimalzahlen, ist der Wert knapp unter 18 vielleicht 17,99 und nicht 17.
- Versteckte Grenzen vergessen. Eine Datenbankspalte oder eine API kann ein anderes Limit erzwingen als die UI. Testen Sie die Limits auf jeder Schicht.