Definition

Black-Box-Test

Beim Black-Box-Test wird ein System ausschließlich von außen beurteilt, ohne dass der Nutzer oder Tester weiß, was innerhalb des Systems geschieht. Ziel ist es, Reaktionen auf Testaktionen zu generieren. Eine Black Box bezieht sich auf ein System, dessen Verhalten vollständig über Input und Output beobachtet werden muss. Selbst wenn die interne Struktur der zu testenden Anwendung verstanden werden kann, entscheidet sich der Tester, sie zu ignorieren.

Black Box ist ein Softwareteststil, der auf verschiedene Testmethoden angewendet werden kann. Die Testmethode ist vergleichbar mit Whitebox- oder Clearbox-Testtechniken, bei denen der Tester die interne Funktionsweise des Anwendungscodes berücksichtigt.

Black-Box-Testtechniken und Beispiele

Die vielfältigen Kombinationen möglicher Eingaben, Zustände und Zeitabläufe machen ein vollständiges Testen von Softwareprogrammen unmöglich. Die Varianten der Softwareprogramme machen es zu einer Herausforderung, die leistungsfähigsten Black-Box-Tests auszuwählen. Tester müssen somit Schlussfolgerungen aus der begrenzten Teilmenge von Tests ziehen.

Einige Black-Box-Testtechniken reduzieren den Input in Gruppen, so dass Tester eine Teilmenge jeder Gruppe überprüfen können:

  • Durch die Einteilung in Äquivalenzklassen werden Softwaredaten in gleiche Abschnitt unterteilt, um jeden zu testen.
  • Die Randwertanalyse testet auf Fehler innerhalb von Eingabewerten, die von einem bis zum anderen Ende reichen.
  • Beim Testen aller Paare wird eine beliebige Kombination von Dateneingabepaaren verwendet, um die Parameter auf Fehler zu überprüfen.

Ein anderer Ansatz für Black-Box-Tests besteht darin, definierte Testfälle zu planen, die auf ein bestimmtes Merkmal abzielen oder Regressionstests vorsehen. In seinem Buch Black Box Testing: Techniques for Functional Testing of Software and Systems erschafft Boris Beizer, Softwareingenieur und Autor, Beispiele, bei denen der gesamte Testplan von der Spezifikation der Anwendung abgeleitet wird, ohne dass man sich ansieht, wie der Code funktioniert.

Vordefinierte Fälle reduzieren die Variation der Testergebnisse, was zum sogenannten Minenfeldproblem und einer reduzierten Testabdeckung der Anwendung führt. Vorgeplante Tests verhindern außerdem, dass die Ergebnisse Einfluss darauf haben, was der Tester als nächstes tun wird, was allgemein als exploratives Testen bezeichnet wird.

Vorteile von Black-Box-Tests

Black-Box-Tests trennen den Tester vom Codeentwickler. Diese Technik des Softwaretestens zwingt das Team, es aus der Sicht eines Außenstehenden zu betrachten. Der Black-Box-Tester handelt aus der Sicht des Benutzers. Dadurch entsteht sowohl eine soziale als auch kritische Distanz zwischen Softwareentwicklung und Test, wodurch es wahrscheinlicher wird, dass der Tester die Anwendung, die sogenannte Box, in einer Weise manipuliert, die sein Schöpfer nicht berücksichtigt hatte.

Das Testen von Clearboxen erfordert die Einrichtung oder zumindest das Portieren über Code, während die meisten Black-Box-Techniken sofort beginnen können. Der Bediener versucht einfach, die Software zu benutzen. Ein System könnte sich korrekt verhalten, aber immer noch Fehler im Code selbst enthalten.

Blackbox-Test
Abbildung 1: Beim Blackbox-Test kennt der Tester den Quellcode der Software nicht.

Black Boxen außerhalb der Softwarewelt

In der Telekommunikation ist eine Black Box ein Widerstand, der eine Verbindung zu einer Telefonleitung herstellt und es für die Geräte der Telefongesellschaft unmöglich macht, zu erkennen, wann ein Anruf beantwortet wurde.

Im Data Mining ist eine Black Box ein Algorithmus oder eine Technologie, die keine Erklärung für ihre Funktionsweise liefert.

Bei der Filmherstellung ist eine Black Box spezielles Equipment, das für eine bestimmte Funktion verwendet wird.

Im Theater- und Fernsehbereich ist eine Black Box ein unmöbliertes Studio.

In der Finanzwelt ist eine Black Box ein computergestütztes Handelssystem, das seine Regeln nicht leicht zugänglich macht.

Diese Definition wurde zuletzt im Juli 2020 aktualisiert

Erfahren Sie mehr über Cloud-Software