Katalog
method#Qualitätssicherung#Softwareentwicklung#Zuverlässigkeit

Boundary Value Analysis

Eine strukturierte Testtechnik, die Eingabe- und Ausgabegrenzwerte systematisch auswählt, um Fehler an den Rändern von Wertebereichen zu finden.

Boundary Value Analysis ist eine Testtechnik, die sich auf Grenzwerte und -bereiche konzentriert, um Fehler an den Rändern von Eingabeparametern zu finden.
Etabliert
Niedrig

Klassifikation

  • Mittel
  • Technisch
  • Design
  • Fortgeschritten

Technischer Kontext

Testautomatisierungsframeworks (z. B. JUnit, pytest)CI/CD-Pipelines zur Ausführung von GrenzwerttestsIssue-Tracker zur Verfolgung gefundener Defekte

Prinzipien & Ziele

Fokus auf Ränder liefert hohe Fehlerdichte pro TestfallKombination mit Äquivalenzklassen reduziert redundante FälleGrenzwerttests sind deterministisch und leicht reproduzierbar
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Falsche Grenzwertdefinitionen führen zu irreführenden Tests
  • Übermäßiges Vertrauen führt zu Vernachlässigung anderer Testarten
  • Fehlende Automatisierung erhöht manuellen Aufwand bei Regressionen
  • Kombiniere Boundary Value Analysis immer mit Äquivalenzklassen
  • Automatisiere Grenzwerttests früh und integriere in CI
  • Dokumentiere Annahmen zu Rändern in Anforderungen

I/O & Ressourcen

  • Anforderungsspezifikation mit Wertebereichen
  • Zugängliche Testumgebung oder Staging-System
  • Testdaten oder Daten-Generator
  • Getestete Grenzfall-Testsuite
  • Fehlerberichte und reproduzierbare Fälle
  • Verbesserte Anforderungs- oder Validierungsbeschreibungen

Beschreibung

Boundary Value Analysis ist eine Testtechnik, die sich auf Grenzwerte und -bereiche konzentriert, um Fehler an den Rändern von Eingabeparametern zu finden. Sie wird in Unit-, Integrations- und Systemtests eingesetzt und reduziert Testumfang durch gezielte Auswahl kritischer Werte. Dabei identifiziert sie typische Off-by-One- und Bereichsfehler effizient.

  • Hohe Fehlerentdeckungsrate bei geringem Aufwand
  • Reduziert Anzahl erforderlicher Testfälle signifikant
  • Leicht zu automatisieren und in Test-Suites zu integrieren

  • Deckt nicht alle inneren Zustände oder Kombinationen ab
  • Wenig hilfreich bei nicht-numerischen oder nicht-bereichsbasierten Daten
  • Erfordert klare Spezifikationen der Grenzwerte

  • Grenzwert-Abdeckungsquote

    Anteil der definierten Grenzwerte, die durch Tests abgedeckt sind.

  • Fehlerentdeckungsrate pro Testfall

    Anzahl gefundener Fehler bezogen auf die Anzahl der ausgeführten Grenzwertfälle.

  • Automatisierungsgrad der Grenzwerttests

    Anteil der Grenzwerttests, die automatisiert in CI/CD laufen.

Login-Formular Passwortlänge

Testfälle für minimale und maximale Passwortlänge inklusive Off-by-One-Grenzen.

Alterseingabe für Registrierung

Prüfung von Einträgen am Mindestalter, darunter und darüber sowie ungültigen Formaten.

Pagination-Parameter in API

Tests für Page-Size und Page-Index an unteren und oberen Grenzen inklusive 0 und negativen Werten.

1

Analysiere Anforderungen und identifiziere Wertebereiche

2

Leite Min/Max und benachbarte Werte ab und kombiniere mit Äquivalenzklassen

3

Implementiere Tests, automatisiere sie und integriere in CI

⚠️ Technische Schulden & Engpässe

  • Unzureichende Automatisierung führt zu veralteten manuellen Fällen
  • Keine klare Dokumentation der Grenzdefinitionen
  • Testdatenmanagement für Grenzfälle ist veraltet
Unklare SpezifikationManuelle TestpflegeKomplexe Eingabekombinationen
  • Annahme, dass Grenzwerttests alle Randfälle abdecken
  • Verwendung von BVA bei qualitativen, nicht-bereichsbasierten Daten
  • Ignorieren von Nebenbedingungen und Interdependenzen
  • Grenzwerte sind in unterschiedlichen Komponenten unterschiedlich definiert
  • Off-by-one-Fehler bei inklusiven vs. exklusiven Grenzen
  • Unklare Anforderungen führen zu falschen Testannahmen
Grundverständnis von Testtechniken und ÄquivalenzklassenFähigkeit, Anforderungen formal zu interpretierenErfahrung mit Testautomatisierung und Skripting
Eingabespezifikationen und VerträgeFehlererkennungsfähigkeit an RändernAutomatisierungs- und CI-Anforderungen
  • Benötigt definierte Min-/Max-Werte in Anforderungen
  • Einschränkungen bei nicht-diskreten oder externen Systemwerten
  • Automatisierung kann durch Testumgebung limitiert sein