Seminare der PW-Akademie

Black-Box-Test

Black Box Testing ist eine spezifikationsbasierte Testmethode. Bei Black-Box-Tests werden die Testfälle nur aus den Spezifikationen des Testobjekts abgeleitet, ohne deren interne Struktur, wie die Architektur und den Code, zu berücksichtigen. Daher wird nur das von außen sichtbare Verhalten des Testobjekts beobachtet.

Warum sollte man Black-Box Tests durchführen?

Der Hauptzweck der Black-Box besteht darin festzustellen, ob die Software den Erwartungen des Benutzers entspricht, daher werden Back-Box Tests häufig auch für finale Abnahmetests vor Auslieferung oder Marktfreigabe verwendet.

Dieser Test versucht Fehler in den folgenden Kategorien zu finden:

  • Fehler beim Aufstarten und Beenden des Programms.
  • Fehlerhafte oder gar fehlende Funktionen.
  • Fehlerhafte oder inkompatible Schnittstellen
  • Fehler im Informations- oder Datenfluss
  • Betriebs- oder Ausführungsfehler

Was sind die Vorteile von Black-Box Tests?

Mit Black-Box-Tests nehmen die Tester eine andere Perspektive ein als die Code-Entwickler. Diese Softwaretesttechnik erfordert, dass Teams die Software aus der Sicht eines Außenstehenden untersuchen. Black-Box-Tester arbeiten aus der Sicht des Benutzers. Dies schafft eine wichtige Diskrepanz zwischen Softwareentwicklung und Testen und erhöht die Wahrscheinlichkeit, dass Tester mit sogenannten Box-Anwendungen auf eine Weise interagieren, welche die Spezifikateure nicht erwartet hätten.

In welchen Bereichen werden Black-Box Tests durchgeführt?

Tatsächlich ist die Black-Box nicht der Name des Prozesses, sondern beschreibt den Zustand der zu testenden Software. Die Software wird wie eine Black-Box behandelt, von der Sie nicht wissen, wie sie intern aufgebaut ist und wie die interne Codierung aussieht, da dies die Perspektive des Endnutzers ist: führt dieser das Programm aus, erhält der Endbenutzer keinerlei Einblick in den tatsächlichen Code oder dessen Struktur. Diese Black-Box kann ein beliebiges System sein, das Sie in Systems Engineering testen möchten. Zum Beispiel ein Betriebssystem wie Windows, eine Website wie Google, eine Datenbank wie Oracle oder Ihre Geschäftsanwendung.

Wie unterscheiden sich Black-Box Tests von White-Box Tests?

 

White-Box Tests Black-Box Tests
Beschreibung Es ist eine Softwaretestmethode, bei welcher der Tester die interne Struktur, das Design und die Implementierung des Programms überprüft. eine Softwaretestmethode, bei welcher der Tester die Funktionalität und die erwartete Benutzung wie auch Fehlbedingung durch den Endnutzer prüft.
Getestet von Wird oftmals von den Software-Entwicklern selbst durchgeführt. Wird vermehrt von einem dezidierten Testteam durchgeführt.
Erforderliche Kenntnisse über Testobjekt Kenntnisse der internen Codierung und Struktur ist erfordert. Kenntnisse der Funktionen und des erwarteten Verhaltens der Software.
Teststufen Wird hauptsächlich auf Code-nahen Teststufen wie Unit-Tests und Integrationstests angewendet. Wird hauptsächlich auf höheren Teststufen wie System- und Abnahmetests angewendet.
Erforderliche Programmierkenntnisse Implementierungskenntnisse sind zum Testen erforderlich. Implementierungskenntnisse sind für das Testen nicht zwingend erforderlich.
Testbasis Testfälle basieren auf der Architektur und dem Feindesign. Testfälle basieren in der Regel auf Anforderungsspezifikationen.
Vorteile
  • unterstützt bei der Optimierung des Codes.
  • Ausführungspfade werden neutral und unabhängig von ihrer Ausführungswahrscheinlichkeit betrachtet.
  • Sehr gut geeignet, um Testabdeckung anhand von Überdeckungsmetriken zu messen
  • Gut geeignet für Testautomatisierungen
  • Frühzeitig anwendbar
  • Gut geeignet für große Codesegmente und Gesamtsystem.
  • Code-Zugriff nicht erforderlich.
  • Überprüfung der gewünschten Funktionalität / Test aus Benutzer-perspektive.
  • Oftmals kein erhöhter Schulungsbedarf
Nachteile
  • Aufwand steigt in der Regel exponentiell mit der Komplexität des Testobjekts
  • Testaufwand abhängig von Architektur- und Feindesign
  • Oftmals nur einzeln für die Module und nicht auf das Gesamtsystem anwendbar
  • Spezielle Testwerkzeuge notwendig
  • Implementierungskenntnisse notwendig und Schulungsbedarf, da die Testmethode abstrakt ist
  • Vollständige Überprüfung aller Aspekte der Software Testing in der Regel nicht möglich.
  • Qualität der Testfälle abhängig von Qualität der Spezifikationen
  • Aufwand für Testautomatisierungen in der Regel höher als bei White-Box Tests
    Überdeckungs-metriken sind aufwendiger zu erheben

 

Was sollte man alles über Black-Box Test wissen?

Im Folgenden sind Beispiele für Black-Box Testfallentwurfsmethoden beschrieben:

  • Äquivalenzklassenbildung:
    Um Äquivalenzklassen zu bilden wird der Eingabebereich eines Programms in einzelne Bereiche unterteilt, in denen je Klasse unterschiedliche Eingaben die gleiche erwartete Auswirkung erzielen. Anstatt alle technisch möglichen Eingaben einzeln abzusichern, werden Repräsentanten für jede Äquivalenzklasse für die Eingabe ausgewählt, wodurch die Anzahl benötigter Testfälle erheblich reduziert werden kann.
    Grenzwertanalyse: Das Prinzip der Grenzwertanalyse besteht darin, bei der Bestimmung von Testfällen die Grenzen des Wertebereichs zu berücksichtigen. Ausgangspunkt ist eine Äquivalenzklasse, die durch Bildung einer Äquivalenzklasse bestimmt wird. Im Unterschied zur Äquivalenzklassenbildung wird kein beliebiger Repräsentant der Klasse als Testfall ausgewählt, sondern Repräsentanten an den Grenzen der Klassen. Die Grenzwertanalyse stellt somit eine Ergänzung des Testfallentwurfs gemäß Äquivalenzklassenbildung dar.
  • Entscheidungstabellentests: Entscheidungstabellen sind insbesondere geeignet, um Programme abzusichern, welche Geschäftsprozesse darstellen. Hierzu werden alle Bedingungen, bzw. Benutzerabfragen sowie alle daraus resultierenden Zustände tabellarisch aufgelistet. Für jede Kombination der Bedingungen wird somit der für diese Kombination gültige Zustand ermittelt und kann entsprechend geprüft werden. Insbesondere unlogische oder unzulässige Kombinationen können somit systematisch identifiziert und überprüft werden.
    Anwendungsfallbasierter Test: Für diese Testmethode wird ein Anwenderszenario inklusive der notwendigen Vorbedingungen entworfen und systematisch abgeprüft. Diese Methode erlaubt ein sehr praxisnahes Testen, wobei die Tests in der Regel auch von ungeschultem Personal durchgeführt werden, kann. Somit können kritische Abläufe oder auch Worst-Case Situationen explizit abgesichert werden und der fehlerfreie Ablauf der wichtigsten Anwendungsbereiche des Programms sichergestellt werden.

Referenzen:

  1. https://www.software-testing.academy/black-box-test.html
  2. https://de.wikipedia.org/wiki/Black-Box-Test
  3. https://whatis.techtarget.com/de/definition/Blackbox-Test-Blackbox
  4. https://de.itpedia.nl/2019/01/23/black-box-testing-software-op-de-pijnbank/
  5. https://strephonsays.com/what-is-the-difference-between-blackbox-and-whitebox-testing
  6. http://www.informatik.uni-bremen.de/uniform/gdpa_d/methods_d/m-bbtd.htm

Auf einen Blick:

Was ist ein Black-Box-Test?+

Black Box Testing ist eine spezifikationsbasierte Testmethode. Bei Black-Box-Tests werden die Testfälle nur aus den Spezifikationen des Testobjekts abgeleitet, ohne deren interne Struktur, wie die Architektur und den Code, zu berücksichtigen. Daher wird nur das von außen sichtbare Verhalten des Testobjekts beobachtet.

Warum sollte man Black Box Tests durchführen?+

Der Hauptzweck der Black-Box besteht darin festzustellen, ob die Software den Erwartungen des Benutzers entspricht, daher werden Back-Box Tests häufig auch für finale Abnahmetests vor Auslieferung oder Marktfreigabe verwendet.

Was sind die Vorteile von Black-Box Tests?+

Mit Black-Box-Tests nehmen die Tester eine andere Perspektive ein als die Code-Entwickler. Black-Box-Tester arbeiten aus der Sicht des Benutzers. Dies schafft eine wichtige Diskrepanz zwischen Softwareentwicklung und Testen und erhöht die Wahrscheinlichkeit, dass Tester mit sogenannten Box-Anwendungen auf eine Weise interagieren, welche die Spezifikateure nicht erwartet hätten.

In welchen Bereichen werden Black-Box Tests durchgeführt?+

Tatsächlich ist die Black-Box nicht der Name des Prozesses, sondern beschreibt den Zustand der zu testenden Software. Diese Black-Box kann ein beliebiges System sein, das Sie testen möchten. Zum Beispiel ein Betriebssystem wie Windows, eine Website wie Google, eine Datenbank wie Oracle oder Ihre Geschäftsanwendung.