Blackboxtest
Blackboxtests gehören zur Kategorie der dynamischen Testverfahren. Das Ziel des Blackboxtests ist es, die Übereinstimmung eines Softwaresystems mit seinen in der Analysephase eines Softwareentwicklungsprozesses spezifizierten Anforderungen zu überprüfen. Ausgehend von formalen oder informalen Spezifikationen werden Testfälle erarbeitet, die sicherstellen, dass der geforderte Funktionsumfang eingehalten wird. Vor diesem Hintergrund wird die Notwendigkeit, Anforderungen sorgfältig und formal zu beschreiben, besonders deutlich.
Dieser Test wird ohne die Kenntnisse über die innere Funktionsweise des zu testenden Systems durchgeführt. Das Innenleben des zu testenden System bleibt im Dunkeln wie in einer schwarzen Kiste. Der Fokus liegt auf dem funktionsorientierten Testen, d. h. für die Ermittlung der Testfälle werden nur die Anforderungen, aber nicht die Implementierung des Testobjekts herangezogen. Nur nach außen sichtbares Verhalten wird im Balckboxtest berücksichtigt. Die Blackbox-Testverfahren gehen davon aus, daß die Implementierung einer Funktionalität unbedeutend ist. Statt dessen wird überprüft, ob die in der Spezifikation verlangte Funktionalität
erfüllt ist. Es handelt sich also um ein Testen auf höherer Ebene, von einzelnen Klassen (Komponententest) über das Zusammenspiel von Klassen (Integrationstest) bis zum Testen des Gesamt-Systems.
Dieser Ansatz ist sehr gut vereinbar mit der objektorientierten Programmierung wie z.B. Java, da auch hier das Bilden von logischen Modulen, Klassen und Objekten, im Vordergrund steht. Die innere Realisierung der Funktionalität ist dabei für den Anwender des Systems oder sogar für den Entwickler, welcher diese Klassen weiter verwendet, unbekannt. Blackboxtests eignen sich sehr gut für automatisiertes Testen.
Wurde das Fehlverhalten einer Komponente ermittelt, kann es mit Whiteboxtests oder statischen Testverfahren, wie z.B. Schreibtischtests, tiefer analysiert werden.