fbpx
Logo Qcademy

Schwarz auf Weiß – die Unterschiede zwischen White-Box und Black-Box Testing

Ein genereller Blick auf Black-Box- und White-Box-Testing

Das Testen spielt in der Softwareentwicklung eine immer größere Rolle.

Es ist ein wichtiger Prozess zur Qualitätssicherung, indem weitere Schritte bis hin zum Release von neuen Anwendungen oder auch nur Features kritisch getestet werden.

Dabei überprüft man die Funktionen und Handhabung der Anwendungen, um sicherzustellen, ob die Software nach Anforderungen validiert werden kann.

Testen mit Konsequenz kann Firmen vor größeren Risiken und den damit verbundenen Folgen schützen.

 

Beim professionellen Testen gibt es zwei verschiedene Arten, wie „White- und Black-Box-Testing“.

Diese zwei Tests verstehen sich als dynamische Tests, wo man bei einer ausgeführten Anwendung auf die Validierung der Spezifikationen abzielt und die Tester dadurch eine hohe Abdeckung erreichen.

 

Black-Box Testing

Black-Box Testing ist die Art des Testens, wo man kein Detailwissen über die Anwendung wie den Quellcode haben muss und die Software in erster Linie auf die Funktionalitäten überprüft.

Man betrachtet die Anwendung von außen als ein unbekanntes Objekt (daher „Blackbox“ ) und klickt sich durch die Funktionen durch, um Bugs und potenzielle Fehlerquellen zu finden.

Während der Blackbox Testing bezieht man sich hauptsächlich auf das Verhalten der Anwendung bei Ein- und Ausgaben und auch auf die Auswirkung von bestimmten Parametern wie z.B. Sonderzeichen in Textfeldern.

Da man aus der Sicht  eines durchschnittlichen Endnutzers handelt, kann es helfen, potenzielle Usability-Probleme und funktionale Bugs zu identifizieren oder Benutzererfahrungen zu sammeln.

 

Die Nachteile des Black-Box Testings liegen sowohl in der Abdeckung der Testfälle und im Kern der Software.

Wenn bspw. nur ein Tester im Zuge der Testphase an der Anwendung arbeitet und dabei einige wichtige Bereiche testet, könnte er potenzielle Fehlerquellen in Bereichen übersehen, die er nicht so genau überprüft hat.

In dem für den Nutzer nicht ersichtlichen Teil der Software wie Quellcode könnten Patches oder Updates zu internen Ungereimtheiten führen und vorerst unerkannt bleiben.

 

White-Box Testing

 

White-Box-Testing setzt sich mit dem Kern einer Anwendung und mit der Struktur der Anwendung kritisch auseinander.

Dafür muss man bis zu den grundlegenden Bausteinen der Anwendung greifen.

Wenn man den Code lesen und mögliche Fehler erkennen möchte, braucht man erweiterte Kenntnisse in der Programmierung.

Für das Abrufen der richtigen Ressourcen aus System am besten Wissen über die vorhandene Datenbankarchitektur im Backend Bereich und sogar auch Kenntnisse über die Kommunikation in den Schnittstellen.

White-Box Testing erhöht die Testabdeckung erheblich, da alle Pfade und Bedingungen berücksichtigt und sämtliche Fehler im Coding Fehler frühzeitig erkannt werden.

Es werden Komponente oder ganze integrierte Systeme auf allen Ebenen isoliert oder miteinander getestet.

Das Problem liegt eher an der Ausführbarkeit des Tests, da hier tiefliegendes Wissen in der Softwareentwicklung beherrscht werden muss und genug Zeit, um sich gründlich mit der Materie auseinanderzusetzen.

 

Fazit: 

In beiden dieser Techniken werden die Vorteile gut ausgespielt, indem der Black-Box Test Ergebnisse auf Grundlage der Eingaben und das Verhalten der Software aus der Sicht eines Endnutzers liefert, wohingegen White-Box Tests, uns die Abläufe hinter den Kulissen, im Backend näherbringt. Diese wären bspw. Datenbankstrukturen, woraus die Daten der Applikation bestehen und der Code, der die Geschäftsprozesse in der Applikation beschreibt. Unabhängig von der Spezifikation des Produktes bieten beide dieser dynamischen Techniken hohe Testabdeckungsraten und sind für die Qualitätssicherung in der Softwareentwicklung von hoher Bedeutung.

Wer schreibt hier?

Auf Social-Media teilen

Software Testing Akademie

Das könnte Dich auch interessieren

Ähnliche Artikel aus unserem Qcademy Blog, die auch für Dich interessant sein könnten. Schau jetzt rein!

Jetzt auf einen Platz in unserer Qcademy bewerben und innerhalb von 6-12 Monaten Software-Tester werden

Als Quereinsteiger im Software Testing schaffst Du den Einstieg zusammen mit uns. Wir von Qcademy begleiten Dich berufsbegleitend bis Du einen Job als Software-Tester erhalten hast und das mit Job-Garantie!

15.000 Software-Tester

werden aktuell gesucht

In 6 bis 12 Monaten

zum Software-Tester

Keine Programmierkenntnisse

nötig

Kleine Lerngruppen

bis zu 15 Teilnehmer