Als Black-Box-Test wird eine Methode des Softwaretests bezeichnet. Bei diesem Testverfahren geht es darum, dass der Tester ohne Kenntnisse über die innere Funktionsweise bzw. Implementierung des Systems das Verhalten bzw. die Funktionen testet.
Es wird nur das sichtbare Verhalten der Funktion oder des Gesamtsystems betrachtet und getestet.
Der White-Box-Tests hingegen richtet den Blick auf den implementierten Algorithmus und überprüft die Korrektheit des Quellcodes.
Der Tester kennt nur die Ein- und Ausgaben der Software, nicht deren interne Struktur oder den Quellcode. Das System wird wie eine "schwarze Kiste" behandelt – getestet wird ausschließlich, ob bei bestimmten Eingaben die erwarteten Ausgaben herauskommen. Dieser Test simuliert oft die Sicht eines Endanwenders, der ebenfalls nicht weiß, wie die Software intern funktioniert.
Beispiel: Ein Login-Formular wird mit korrekten/falschen Zugangsdaten getestet, ohne den zugrundeliegenden Code zu kennen.
Der Tester kennt die interne Codestruktur und testet gezielt einzelne Codepfade, Verzweigungen und Logikbausteine. Dieser Test erfordert Programmierkenntnisse und wird meist von den Entwicklern selbst durchgeführt.
Beispiel: Ein Entwickler testet gezielt jede Verzweigung einer if-else-Anweisung, um sicherzustellen, dass alle Codepfade korrekt funktionieren.