Skip to main content

Black-Box-Testing ist eine Art von Softwaretest, bei der die Funktionalität eines Programms geprüft wird, ohne die internen Abläufe zu kennen. Man kann es sich vorstellen wie das Lösen eines Puzzles, ohne zu wissen, wie es zusammengesetzt wurde. 

Als Tester mit fast 10 Jahren Erfahrung freue ich mich, mein Wissen über Black-Box-Testing mit Ihnen zu teilen. In diesem Artikel erläutere ich, was Black-Box-Testing ist, wie es funktioniert und warum es im Softwareentwicklungsprozess so wichtig ist. Also, schnallen Sie sich an, und los geht’s!

Was ist Black-Box-Testing?

eine Infografik, die erklärt, was Black-Box-Testing im Softwaretest ist

Black-Box-Testing ist ein Testansatz, bei dem die Überprüfung ohne Kenntnis der internen Struktur der zu testenden Anwendung (AUT) erfolgt. Im Gegensatz dazu basiert das White-Box-Testing auf einem tiefen Verständnis des Quellcodes der Anwendung und wird vom Entwicklungsteam durchgeführt.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Black-Box-Testing wird typischerweise vom Qualitätssicherungsteam durchgeführt und konzentriert sich auf die Eingaben und Ausgaben der Anwendung. Tester nutzen gültige und ungültige Eingaben und beobachten die Ergebnisse. Es wird manchmal auch als verhaltensorientiertes Testen bezeichnet, da die Tests aus der Perspektive des Endbenutzers erfolgen.

Black-Box-Testing kann auf jeder Testebene angewendet werden: Modultest, Integrationstest, Systemtest und Abnahmetest. Zudem gibt es zahlreiche Black-Box-Testing-Tools, mit denen sich dieser Testansatz einfach umsetzen lässt.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

Arten von Black-Box-Testing 

Funktionales Testen: bezieht sich auf eine Art des Testens, bei dem geprüft wird, WAS die Anwendung macht. Die Testfälle können auf Basis der funktionalen Anforderungen geschrieben werden. Beispiel: Funktionale Tests für einen Login-Bildschirm könnten beinhalten:

  • Anmelden mit gültigen Zugangsdaten und Überprüfung des Links „Passwort vergessen?“
  • Überprüfung der „Angemeldet bleiben“-Funktion.
  • Negativtests wie die Anmeldung mit ungültigen Zugangsdaten oder der Versuch, sich ohne Pflichtangaben einzuloggen.

Nicht-funktionales Testen: bezieht sich darauf, WIE die Anwendung das leistet, was sie tut. Es kann auch nicht-funktionale Softwareanforderungen geben, zum Beispiel wie schnell eine Seite geladen werden soll, wie viele gleichzeitige Benutzer sie akzeptieren soll oder welchen Barrierefreiheitsrichtlinien sie entsprechen muss. Es gibt mehrere Unterarten von nicht-funktionalen Tests, die wir im Testprozess (je nach Anforderungsdefinition) berücksichtigen können:

  • Usability-Testing: konzentriert sich zumeist darauf, wie einfach der Endnutzer auf die Funktionen der Anwendung zugreifen kann.
  • Accessibility-Testing: Hier testen wir, ob die Anwendung auch für Menschen mit Behinderungen zugänglich ist. 
  • Performance-Testing: Testen der Leistung der Anwendung. Dies ist eine Testart, die sich besonders für Automatisierung eignet, da Testing-Tools eingesetzt werden. Beispiel: Für einen Lasttest kann die Anwendung mit einer großen Anzahl gleichzeitiger Nutzer geprüft werden, was manuell nicht möglich wäre.
  • Security-Testing: Dabei wird die Sicherheit der Anwendung und der Schutz sensibler Daten getestet, einschließlich Testmethoden wie Penetrationstests.

Regressionstest: Das ist eine Testart, bei der geprüft wird, ob bestehende Funktionalitäten durch neuen Code nicht versehentlich beeinträchtigt wurden.

Retest: Eine Testart, bei der überprüft wird, ob eine früher fehlerhafte Funktion nun behoben wurde.

Black- vs. White-Box-Testing

Das „Gegenteil" vom Black-Box-Testing ist das White-Box-Testing – auch als Clear-Box-Testing bekannt. White-Box-Testing wird meist von den Entwicklern im Team durchgeführt und konzentriert sich auf das Testen des Quellcodes der zu testenden Anwendung.

Sehen wir uns die wichtigsten Unterschiede zwischen beiden an:

  • Black-Box-Tests werden ohne Kenntnisse der internen Funktionsweise der App durchgeführt, während White-Box-Tests Kenntnisse des Quellcodes erfordern.
  • Für Black-Box-Tests ist kein Programmierwissen notwendig; White-Box-Tests beinhalten in der Regel das Schreiben automatisierter Tests, um eine ausreichende Testabdeckung zu erreichen.
  • Black-Box-Tests sind die Verantwortung des QA-Teams, während White-Box-Tests vom Entwicklungsteam durchgeführt werden.
  • Black-Box-Tests verwenden Techniken wie Äquivalenzklassenaufteilung, Grenzwertanalyse, Entscheidungstabellen und Zustandsübergang (siehe unten). White-Box-Testtechniken umfassen Anweisungsüberdeckung, Zweigüberdeckung und Bedingungsüberdeckung.
  • Im Gegensatz zu White-Box-Tests, die oft tiefgehende Kenntnisse des Codebestands erfordern, ermöglicht das Black-Box-Testing den Testern, sich auf das Verhalten der Anwendung zu konzentrieren. Beide Ansätze erfordern jedoch die Nutzung von zuverlässigen Datenbank-Management-Tools für optimale Ergebnisse.
  • White-Box-Tests werden am besten auf niedrigeren Testebenen (wie Unit- oder Integrationstests) durchgeführt, während Black-Box-Tests auf höheren Ebenen (System- und End-to-End-Tests sowie Benutzerakzeptanztests) erfolgen.

Ein Hybrid der beiden ist das Gray-Box-Testing, bei dem Tester Zugang zu einigen Informationen über die interne Funktionsweise der Software haben, wie z.B. Architektur oder Datenbankstruktur, aber nicht zum gesamten Quellcode. Das ermöglicht ihnen, die Software gründlicher zu testen als beim Black-Box-Testing, jedoch ohne das vollständige Wissen und die Kontrolle über das System wie beim White-Box-Testing.

Black-Box-Testing-Techniken

Um eine gute Testabdeckung zu erreichen, gibt es mehrere Black-Box-Testing-Techniken, die bei der Erstellung von Testfällen angewendet werden können:

Grenzwertanalyse: Mit dieser Technik werden die extremen Eingabewerte identifiziert, und die Testszenarien decken nur diese Werte ab. Statistisch gesehen sind diese „Grenzwerte“ diejenigen, bei denen am ehesten Fehler auftreten.

Äquivalenzklassenaufteilung: Bei dieser Technik werden die möglichen Eingabewerte in Äquivalenzklassen eingeteilt. Jeder Wert innerhalb einer Äquivalenzklasse sollte dasselbe Ergebnis liefern, daher reicht ein Testfall pro Klasse für eine vollständige Abdeckung aus. Es sollten sowohl gültige als auch ungültige Eingaben abgedeckt werden.

Entscheidungstabellentests: Eine Testmethode, bei der die Anwendungsfälle aus Regeln abgeleitet werden, die Kombinationen von Eingaben und deren erwarteten Ausgaben verwenden.

Zustandsübergangstests: Eine Testtechnik, die sich darauf konzentriert, das Verhalten einer Softwareanwendung beim Übergang zwischen verschiedenen Zuständen zu testen.

Error Guessing: Eine erfahrungsbasierte Technik, bei der Tester ihre Intuition und Erfahrung nutzen, um Fehler im System durch ihr Vorwissen und ihr Verständnis potenzieller Schwachstellen vorauszusehen und aufzudecken.

Need expert help selecting the right Testing Software?

We’ve joined up with Crozdesk.com to give all our readers (yes, you!) access to Crozdesk’s software advisors. Just use the form below to share your needs, and they will contact you at no cost or commitment. You will then be matched and connected to a shortlist of vendors that best fit your company, and you can access exclusive software discounts!

Fazit 

Black-Box-Testing ist ein wesentlicher Bestandteil des Software-Tests, der dazu beiträgt, die Qualität und Funktionalität einer Software sicherzustellen. Durch das Testen der App aus Endnutzerperspektive können mit Black-Box-Testing Probleme aufgedeckt werden, die sonst möglicherweise unentdeckt bleiben würden.

Black-Box-Testing ist ein praxisnahes Werkzeug zur Identifizierung funktionaler Fehler in Software. Indem die Eingaben und Ausgaben des Systems getestet und überprüft werden, ob es sich wie erwartet verhält, erhalten Tester ein besseres Verständnis davon, wie die Software funktioniert, und können Bereiche identifizieren, in denen Verbesserungen möglich sind. Insgesamt sollte Black-Box-Testing ein integraler Bestandteil jeder umfassenden Softwaretest-Strategie sein, um sicherzustellen, dass die Software benutzerfreundlich, zuverlässig und frei von funktionalen Fehlern ist.


Wenn Sie gerne Artikel über Software-Testing lesen, sollten Sie in Erwägung ziehen, den QA Lead Newsletter zu abonnieren!