WikiDer > Whitebox-Test
Das Whitebox-Test (ebenfalls: Glaskastentest) ist eine Teststrategie, die das Wissen über die interne Struktur oder den Code eines Programms oder Systems nutzt. Und ist daher ganz anders als die Blackbox-Test, der keine Kenntnis von der Implementierung hat. In einem Whitebox-Test kann die Implementierung modifiziert werden, um effektiv zu testen. Ein bekanntes Beispiel hierfür ist das Kompilieren des Codes mit Debug-Anweisungen (oder Makros).
Eine bekannte Form des Whitebox-Tests ist der „Unit-Test“, der in der Regel von den by Programmierer oder Systementwickler, als integraler Bestandteil des (System-)Entwicklungsprozesses. Entgegen der landläufigen Meinung ein Whitebox-Test und ein Unit-Test nicht das gleiche. Ein Unit-Test ist ein Test auf der untersten Ebene; das kleinstmögliche Stück Code, das getestet werden kann; B. eine einzelne Funktion oder eine Klasse. Bei diesem (Einheiten-)Test wird häufig die Whitebox-Teststrategie verwendet. Aber auch die Black-Box-Teststrategie ist möglich. sehen Gerätetest für weitere Optionen.
Leistungen
Der Vorteil eines Whitebox-Tests (vs. Blackbox-Test) ist, dass (auch) der Code, die Implementierung, (vorübergehend) geändert werden kann. Dies geschieht häufig beispielsweise durch Einbinden von print-Anweisungen, damit jeder Schritt verfolgt werden kann. Dabei geht es nicht darum, die Richtigkeit des Codes zu testen, sondern den Fehler zu finden und zu beheben; sogenanntes Debugging. Dies ist oft eine effektive Methode.
Ein weiterer Vorteil dieses Ansatzes ist die Prüfung von (internen) Grenzfällen; wo der Code anders ausgeführt wird, können zusätzliche Tests durchgeführt werden. Bekannte Beispiele für solche Grenzen sind: das erste und letzte Element einer Liste, der maximale Index in einem Array, die Grenzen von Schleifen usw. Es funktioniert oft gut, während der Tests auch eine Reihe von Zufallsvariablen zu übergeben, da der Code , während der Entwicklung wird es oft mit dem höchsten, niedrigsten, dem Zwischenwert als „Schnelltestwert“ ausgelegt. Die Auswahl von Zufallszahlen oder Variablen führt auch zu unerwarteten Fehlern.
Hinweis
Ein Whitebox-Test kann auch auf einer höheren Ebene als der 'Einheit' durchgeführt werden; obwohl das seltener vorkommt. Außerdem ist der Unterschied gerade im Code oft schwer zu erkennen. Aber jede Funktion, die andere Funktionen aufruft, oder jede Klasse, die andere Klassen verwendet, kann als Whitebox angesehen werden, die aus anderen (schwarzen) Boxen besteht. Dieses Stück Code ist keine Einheit mehr in der strengsten Definition; wir sprechen oft von 'Modul'. Das Testen eines solchen Moduls kann dann in einer der diskutierten Strategien erfolgen, einschließlich Whitebox-Tests.