Black-box-Tests

Black-box-Tests
MIN
04 Sep. 2023

Black-Box-Tests werden auch als spezifikationsbasierte Tests des zu testenden Systems bezeichnet. Im Gegensatz zu White-Box-Tests sind für Black-Box-Tests keine Kenntnisse über die interne Architektur und den Code der Anwendung erforderlich.

Definition von Blackbox-Tests

Black-Box-Tests sind eine Art von Tests, bei denen eine Anwendung auf der Grundlage ihrer Anforderungsspezifikationen getestet wird, ohne dass ihre interne Architektur bekannt sein muss.

Merkmale von Blackbox-Tests

  • Es testet sowohl funktionale als auch nicht-funktionale Anforderungen der Anwendung.
  • Die Kenntnis von/der Zugang zu Kodierung/Entwurf/interner Softwarearchitektur ist nicht erforderlich.
  • Die Tester können unabhängig von den Entwicklern arbeiten und so objektive, auf den Endbenutzer ausgerichtete Tests gewährleisten.

Black-Box-Prüftechniken

Im Folgenden werden einige der gängigsten Arten von Black-Box-Tests beschrieben:

Partitionierung von Äquivalenzklassen

Bei der Äquivalenzklassenpartitionierung werden die Eingabedaten in logische Gruppen oder Äquivalenzklassen unterteilt. Es wird davon ausgegangen, dass alle Datenelemente, die in der Äquivalenzklasse liegen, von der Anwendung gleich behandelt werden, wenn sie als Eingabe übergeben werden.

Zum Beispiel. Für Software, die das Quadrat einer Zahl ermittelt, können wir verschiedene Äquivalenzklassen haben, wie z. B. alle positiven Zahlen, negative Zahlen, Dezimalzahlen, negative Dezimalzahlen usw.

Der Vorteil ist, dass die Gesamtdauer der Testdurchführung verkürzt wird, da die Anzahl der Testdaten erheblich reduziert wird.

Grenzwertanalyse

Die Grenzwertanalyse ist eine Black-Box-Testtechnik, die eng mit der Verteilung von Äquivalenzklassen verbunden ist. Bei dieser Technik analysieren wir das Verhalten einer Anwendung mit Testdaten, die an den Grenzen von Äquivalenzklassen liegen.

Zum Beispiel. Für Äquivalenzklassen mit Eingaben zwischen 0 und 100 würden die Testdaten bei der Schwellenwertanalyse 0 und 100 betragen.

Der Vorteil ist, dass es einfacher und schneller ist, Fehler zu finden, weil die Fehlerdichte an den Grenzen höher ist.

Entscheidungstabellen

Das Testen von Entscheidungstabellen wird verwendet, um das Verhalten einer Anwendung auf der Grundlage verschiedener Kombinationen von Eingabewerten zu testen. Die Entscheidungstabelle enthält in jeder Zeile einen anderen Satz von Eingabekombinationen und die entsprechenden erwarteten Ergebnisse.

Ursache-Wirkungs-Diagramm

Die Prüfung des Ursache-Wirkungs-Diagramms erfolgt anhand einer grafischen Darstellung der Eingabe, d. h. j. Ursachen und Output, d.h. j. von Bedeutung. Der Abdeckungsgrad der Ursache-Wirkungs-Diagramme lässt sich anhand des prozentualen Anteils der Kombinationen der getesteten Eingaben an der Gesamtzahl der möglichen Kombinationen bestimmen.

Prüfung von Zustandsübergängen

Die Prüfung von Zustandsübergängen basiert auf einem Zustandsmaschinenmodell. Bei dieser Technik testen wir die Anwendung, indem wir den Übergang zwischen verschiedenen Zuständen der Anwendung auf der Grundlage verschiedener Ereignisse und Aktionen grafisch darstellen.

Testen von Anwendungsfällen

Use-Case-Tests sind eine Art von Tests, die anhand von Anwendungsfällen durchgeführt werden. Bei dieser Technik testen wir die Anwendung anhand von Anwendungsfällen, die die Interaktion der Anwendung mit verschiedenen Akteuren darstellen.

Black-Box-Test-Flussdiagramm mit Schritten
Black-Box-Tests

Wie testet man eine Blackbox?

Nachdem Sie sich mit den Techniken des Blackbox-Tests vertraut gemacht haben, lernen Sie nun die Schritte eines typischen Blackbox-Tests kennen.

  • Der erste Schritt besteht darin, die von der Anwendung bereitgestellten Anforderungsspezifikationen zu prüfen. Die Anforderungen sollten in einer ordnungsgemäß dokumentierten SRS-Datei bereitgestellt werden.
  • Der Tester sammelt verschiedene positive und negative Testszenarien, um zu überprüfen, ob das zu testende System diese korrekt verarbeitet. Dadurch wird eine gute Testabdeckung gewährleistet.
  • Die Testfälle werden ausgeführt und die Ergebnisse werden mit den erwarteten Ergebnissen verglichen. Dieses Verfahren wird verwendet, um ein bestandenes oder nicht bestandenes Testergebnis anzuzeigen.
  • Fehlgeschlagene Testfälle werden zur Fehlerbehebung an das Entwicklungsteam zurückgeschickt.
  • Nach der Reparatur wird ein erneuter Test durchgeführt, um zu prüfen und sicherzustellen, dass alle Testfälle erfolgreich ausgeführt wurden.

Vorteile von Blackbox-Tests

  1. Die Tests werden aus der Sicht des Nutzers durchgeführt. Damit ist die Wahrscheinlichkeit größer, dass die Erwartungen des Kunden erfüllt werden.
  2. Es wird objektiv getestet, da sowohl der Tester als auch der Entwickler unabhängig voneinander arbeiten.
  3. Es eignet sich für die Prüfung sehr großer Systeme.
  4. Es sind keine technischen Kenntnisse oder Sprachkenntnisse erforderlich.
  5. Testfälle können entworfen werden, sobald die Anforderungen vollständig sind.

Black-Box vs. White-Box-Tests

Der Unterschied zwischen Black-Box-Tests und White-Box-Tests ist eine der häufigsten Fragen in einem Testinterview. Beide sind gleich wichtig und werden je nach Situation durchgeführt. Hier sind einige Unterschiede, die Klarheit in beide Techniken bringen.

Black-Box-TestsWhite-box-Tests
Kenntnisse über die Umsetzung sind nicht erforderlich.Die gesamte interne Funktionsweise des SUT (System under Test) wird von einem Tester überprüft, der das System vollständig kennt.
Sie konzentriert sich auf die Validierung der funktionalen Anforderungen der Software.Der Schwerpunkt liegt auf der Code-Optimierung.
Diese Tests werden in der Regel von Software-Testern durchgeführt.Diese Tests werden in der Regel von Softwareentwicklern durchgeführt, da sie die interne Architektur und Implementierung der Anwendung kennen.
Es ist weniger zeitaufwendig.Sie ist relativ zeitaufwendig.
Arten – funktionale Tests, nicht-funktionale Tests, Regressionstests, usw.Arten von White-Box-Tests – Pfad-Tests, Schleifen-Zyklus-Tests, Bedingungstests, usw.