Was ist ein Black-Box-Test?
Ein Black-Box-Test ist eine Testmethode, bei der die Testfälle ausschließlich auf den funktionalen oder nicht-funktionalen Anforderungen eines Systems oder einer Komponente basieren, ohne die interne Struktur oder den Code des Systems zu berücksichtigen. Das bedeutet, der Tester überprüft nur, ob das System die erwarteten Ergebnisse liefert, basierend auf den festgelegten Anforderungen, ohne zu wissen, wie diese intern umgesetzt werden. Diese Testmethode konzentriert sich auf die Eingaben und die erwarteten Ausgaben, ohne sich mit der Implementierung oder den technischen Details des Systems zu beschäftigen.
Merkmale
- Fokus auf Funktionalität und Ergebnisse basierend auf den Anforderungen
- Keine Kenntnis der internen Struktur oder des Codes notwendig
- Geeignet für Akzeptanztests oder Systemtests, bei denen das Verhalten des Systems im Vordergrund steht
- Tests erfolgen auf verschiedenen Ebenen (z. B. Modul-, Integrations- oder Systemebene)
- Typischerweise verwendet, um sicherzustellen, dass das System die festgelegten Anforderungen erfüllt
Beispiel
Ein Online-Shop-System wird getestet:
- Eingabe: Benutzer gibt eine Bestellung mit Artikeln und einer Lieferadresse ein.
- Erwartete Ausgabe: Bestellbestätigung und korrekte Berechnung der Versandkosten.
- Der Tester interessiert sich nicht für die internen Algorithmen der Versandkostenberechnung oder die Art und Weise, wie die Bestellung im Backend gespeichert wird. Stattdessen wird nur überprüft, ob das System die richtigen Ergebnisse gemäß den spezifizierten Anforderungen liefert (z. B. ob die Bestellbestätigung korrekt ist und die Versandkosten richtig berechnet werden).
Hinweise für die Praxis
- Akzeptanztests und Systemtests sind typische Einsatzgebiete für Black-Box-Tests, da der Fokus auf den Ergebnissen aus der Perspektive des Endanwenders liegt.
- Black-Box-Tests sind besonders nützlich, wenn der Tester keine technische Expertise benötigt oder der Code selbst nicht zugänglich ist.
- Um eine vollständige Testabdeckung zu gewährleisten, sollten verschiedene Eingabe- und Testwertkombinationen getestet werden, einschließlich normaler, grenzwertiger und ungültiger Eingaben.
- Diese Methode eignet sich auch gut, um nicht-funktionale Anforderungen wie Leistung und Sicherheit zu überprüfen.
