Testverfahren: White-Box vs Black-Box

In der Software-Entwicklung müssen Entwicklungsergebnisse immer verifiziert und validiert werden. Dazu werden White-Box- und Black-Box-Tests verwendet.

White-Box-Test (WB-Test):
Hier haben die Tester Zugriff auf und Kenntnis über die Entwicklung der Software (Quellcode, Entwicklungsumgebung, Diagramme [UML etc.] sowie Dokumentation). Da quasi in das Programm „hineingesehen“ wird, wird auch seltener vom „Glass-Box-Test“ gesprochen.

  1. Stufe: Dieselben Programmier, die die Software programmiert haben, führen den Test durch
  2. Stufe: Andere Programmierer, welche sich jedoch in den Code hineinarbeiten, führen den Test durch

Black-Box-Test (BB-Test):
Hier haben die Tester keinen Zugriff auf und idealerweise auch keine Kenntnis über die Entwicklung der Software.

  1. Stufe: Tester, welche als Kunden auftreten (echter Kunde oder nur „simulierter“ Kunde) testet die Software (vor allem Funktionstests)
  2. Stufe: Tester, welche Erfahrung mit Software-Tests (z. B. Penetration Tests) haben und sich in die Auftragsspezifikationen hineinarbeiten, führen den Test durch (vor allem Stresstests)

Bezüglich beider Varianten sollte die Frage aber nicht „entweder…oder“ lauten, denn White-Box-Tests schließen keine Black-Box-Tests aus, genauso wenig umgekehrt. Beide Test-Verfahren sind unbedingt nötig, die richtige Kombination sorgt für die besten Tests und damit im Anschluss für die beste Software.

Sollten Tests nach dem White-Box- oder Black-Box-Verfahren bevorzugt werden?

Wenn 5 Personen zum Testen zur Verfügung stehen, sollen dann 2 Personen White-Box-Tests machen und 3 Personen Black-Box-Tests? Oder umgekehrt? Oder ist ein ganz anderes Verhältnis anzuraten?

Leider lässt sich diese Frage kaum pauschal beantworten und auch in Fachliteratur findet man nur allgemeine Hinweise dazu. Es hängt viel mehr von dem Software-Projekt und dessen Fehlerpotenzial ab, dessen Spezifikationsumfang, Komplexität und der Gestaltung der Mensch-Maschine-Schnittstelle.

Es stellt sich dazu die Frage, wer überhaupt für einen WB- bzw. BB-Test geeignet ist. Einen WB-Test kann nur ausführen, wer über entsprechende Kenntnisse/Erfahrung besitzt und an dem Software-Projekt beteiligt war oder sich hineingearbeitet hat.

Zu bedenken gilt, dass es zwar in (hoffentlich) jedem Maschinenbau-Unternehmen genaue Zuständigkeiten für die Qualitätssicherung gibt, es in vielen mittelgroßen Software-Unternehmen aber nicht mal eigenes Personal für die Qualitätssicherung (Planung und Durchführung der Prüfung) vorgesehen ist. In sehr vielen Fällen werden BB-Tests von den Programmierern, welche auch die WB-Tests durchführen, ausgeführt, was ebenfalls nicht ideal ist (zumindest so lange es sich nicht nur um eine Ergänzung zu ernsthaften BB-Tests handelt).

Schreibe einen Kommentar