Zum Inhalt springen
SDETRole
SDETRole

Glossar · Testgrundlagen

Black-Box-Test

Englisch: Black-box testing

Auch genannt: Black-Box-Testing, Blackbox-Test, spezifikationsbasierter Test, Black-Box-Testverfahren

Definition

Ein System über seine Ein- und Ausgaben gegen die Anforderungen testen, ohne den internen Code oder das Design anzusehen oder sich darauf zu stützen.

Beim Black-Box-Test wird das System als geschlossene Kiste betrachtet: Sie geben Eingaben vor, beobachten die Ausgaben und vergleichen sie mit dem, was laut Spezifikation passieren soll. Der Tester muss weder die Programmiersprache noch die Architektur oder die Struktur des Codes kennen. Die meisten funktionalen Tests, Systemtests, API-Tests und Abnahmetests sind Black-Box-Tests.

Beispiel

Eine Überweisungs-API akzeptiert Beträge von 1 bis 10.000. Ohne Code zu sehen, leitet ein Black-Box-Tester aus der Regel Tests ab:

  • Äquivalenzklassen: unterhalb des Bereichs (0), gültig (500), oberhalb des Bereichs (10.001), nicht numerisch ("abc").
  • Grenzwerte: 0, 1, 2, 9.999, 10.000, 10.001.
  • Erwartete Ergebnisse: gültige Beträge liefern 201 Created; ungültige liefern 400 Bad Request mit einer Fehlermeldung und bewegen kein Geld.

Die hier verwendeten Verfahren, Äquivalenzklassenbildung und Grenzwertanalyse, bilden zusammen mit Entscheidungstabellen, Zustandsübergangstests und Pairwise Testing die zentralen Black-Box-Testentwurfsverfahren.

Black-Box- vs. White-Box-Test

Black-Box White-Box
Grundlage Anforderungen und Spezifikationen Interne Codestruktur
Benötigtes Wissen Was das System tun soll Wie der Code geschrieben ist
Typische Teststufen System, API, Abnahme Unit, teils Integration
Gemessen an Anforderungsabdeckung Codeabdeckung (Anweisungen, Zweige)
Findet Fehlendes oder falsches Verhalten, Abweichungen von der Spezifikation Ungetestete Pfade, toten Code, Logikfehler

Keines ersetzt das andere. Black-Box-Tests können Features finden, die nie implementiert wurden – das kann der White-Box-Test nicht, weil es keinen Code zu untersuchen gibt. White-Box-Tests können Pfade finden, die die Spezifikation nie erwähnt. Der Grey-Box-Test kombiniert beides: Getestet wird über die Schnittstelle, aber mit etwas internem Wissen, etwa indem man nach einem API-Aufruf die Datenbank prüft oder weiß, welchen Service ein Request erreicht.

Stärken und Grenzen

Black-Box-Tests sind unabhängig von der Implementierung, überstehen also Refactorings und lassen sich aus den Anforderungen schreiben, bevor der Code existiert. Ihre Grenze: Sie sehen nicht, welche internen Pfade Sie verpasst haben, und ohne systematische Verfahren testet man leicht nur die offensichtlichen Happy Paths.

Tippen Sie, um SDETRole zu durchsuchen.

Volltextsuche mit Pagefind · läuft in Ihrem Browser Suchseite öffnen →