7 Stimmen

Was sind Black-Box-Tests und White-Box-Tests?

Ich versuche zu verstehen, wie das eine im Vergleich zum anderen ist.

Gibt es White-Box-Tests, bei denen Sie den Code sehen können, und Black-Box-Tests, bei denen Sie den Code nicht sehen?

1 Stimmen

Siehe die bereits bestehende stackoverflow.com/questions/402161/

10voto

Snehal Mohite Punkte 346

F) Gibt es White-Box-Tests, bei denen Sie den Code sehen können, und Black-Box-Tests, bei denen Sie den Code nicht sehen?

Black-Box-Tests

  • Es handelt sich um einen Prozess, bei dem die Eingabe in das System erfolgt und die Ausgabe des Systems überprüft wird, ohne dass man sich Gedanken darüber macht, wie das System die Ausgabe erzeugt. Es wird auch als Verhaltenstest, datengesteuertes Testen oder E/A-gesteuertes Testen, Funktionstest bezeichnet.

  • Tests, die ausschließlich auf der Analyse der Anforderungen basieren (Spezifikation, Benutzerdokumentation usw.)

Vorteile:

1) Effektiver bei größeren Code-Einheiten als Glass-Box-Tests.

2) Tester und Programmierer sind unabhängig voneinander.

3) Tests aus der Sicht der Benutzer.

4) Testfälle können entworfen werden, sobald die Spezifikationen vollständig sind.

Benachteiligungen:

1) Es kann sein, dass viele Programmpfade ungeprüft bleiben.

2) Nur eine kleine Anzahl möglicher Eingaben kann tatsächlich getestet werden, um alle möglichen zu testen. Eingabestrom zu testen, würde fast ewig dauern.

White-Box-Tests

  • Es handelt sich um einen Prozess, bei dem Eingaben in ein System gegeben werden und überprüft wird, wie das System die Eingaben verarbeitet, um die Ausgaben zu erzeugen.

  • Es ist zwingend erforderlich, dass der Tester den Code kennt.

Vorteil:

1) Diese Art der Prüfung hilft, Fehler auf struktureller Ebene aufzudecken. Die Tests gehen unter die oberste und funktionale Ebene, um die Fehler aufzudecken

Benachteiligungen:

1) Stellt nicht sicher, dass die Nutzeranforderungen erfüllt werden

2) Stellt nicht fest, ob die Entscheidungen, Bedingungen und Wege.

0 Stimmen

Sehr gute Antwort. Aber es scheint, dass der letzte Satz abgeschnitten ist?

0 Stimmen

Der Nachteil von Whitebox-Tests ist auch, dass sie stark an die Implementierung gekoppelt sind und bei jeder zufälligen Änderung der Implementierung, die das Verhalten nicht verändert, geändert werden müssen. Whitebox-Tests haben also einen höheren Wartungsaufwand.

5voto

Mladen Prajdic Punkte 15257

Im Grunde genommen ja.

Bei Blackbox-Tests testen Sie, ob die erwartete Eingabe in Ihr Objekt die erwartete Ausgabe erzeugt, ohne den zugrunde liegenden Code ändern zu können.

Bei White-Box-Tests können Sie den Code sehen und alle möglichen Wege durch ihn testen.

0 Stimmen

Sie sollten es Clear Box Testing statt White Box Testing nennen.

0 Stimmen

Beachten Sie auch, dass Sie, wenn Sie einen Codezweig haben, den Sie nicht mit einem gültigen Blackbox-Testfall testen können, entweder versuchen, etwas Nebensächliches und Unwichtiges zu testen, oder Sie haben einen toten Code gefunden.

0 Stimmen

Ich habe eine Frage: "Sie können alle möglichen Wege durch sie testen". Was sollte ich also tun? Alle möglichen Pfade durch die Benutzeroberfläche des Programms testen oder nur Testszenarien in den Code schreiben, um zu testen?

5voto

unwind Punkte 377331

Wikipedia:

White-Box-Tests verwendet eine interne Perspektive des Systems, um Testfälle zu entwerfen, die auf der internen Struktur. Es erfordert Programmier Fähigkeiten, um alle Pfade durch die der Software zu identifizieren.

gegen

Black-Box-Tests nimmt eine externe Perspektive des Testobjekts Objekts, um Testfälle abzuleiten.

2voto

Francis Upton IV Punkte 19093

Ja, das trifft es ziemlich genau. Black Box ist das Testen der externen Elemente ohne Wissen (oder Zugang) zu internen Elementen. Bei White-Box-Tests kann man den internen Zustand des zu testenden Objekts einsehen (und eventuell ändern). Beide haben unterschiedliche Verwendungszwecke. Unit-Tests sind in den meisten Fällen (aber nicht immer) White-Box-Tests.

1 Stimmen

Unit-Tests testen bestimmte Funktionen typischerweise auf einer sehr granularen Ebene. Sie sind die niedrigste Teststufe und werden in der Regel von den Entwicklern der Anwendung erstellt und zu einer Regressionstestsuite zusammengefasst, die aus Hunderten oder Tausenden von Tests besteht und bei jeder Änderung ausgeführt werden kann, um eine Regression zu erkennen.

1voto

Prashant shahi Punkte 11

White-Box-Tests

Sobald die interne Funktionsweise der Software bekannt ist, wird der Test durchgeführt, um sicherzustellen, dass alle internen Operationen der Software gemäß der Spezifikation ausgeführt werden.

Black-Box-Tests

Sobald die spezifizierte Funktion für jede SW-Komponente entworfen wurde, wird der Test durchgeführt, um sicherzustellen, dass jede Funktion funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X