Black-Box-Testtechniken: Ein Überblick

Man könnte denken, dass man alles testen kann und so jedes Detail der Qualität beurteilen kann. Ist das aber wirklich möglich? Hier ein Überblick über Black-Box-Testing und wie es funktioniert.

Ziel des Softwaretestings ist es, die Qualität von Software zu bewerten und das Risiko eines Fehlschlags zu minimieren.

Was ist Black-Box-Testing?

Black-Box-Testing, auch bekannt als funktionales Testing, ist eine Testmethode in der Softwareentwicklung, bei der die internen Strukturen oder das Implementierungswissen der zu testenden Komponente nicht bekannt sind. Tester betrachten die Software als "Black Box", konzentrieren sich auf die Eingaben und erwarteten Ausgaben und überprüfen, ob das System wie erwartet funktioniert, ohne die interne Implementierung zu analysieren. 

Beispiele für Black-Box-Testing

Um zu verstehen, wie Black-Box-Testing funktioniert, betrachten wir ein einfaches Beispiel:

  • Taschenrechner: Geben Sie Zahlen ein und erwarten das korrekte Ergebnis
  • Social-Media-Anwendung: Loggen Sie sich mit Benutzername und Passwort ein und erwarten den erfolgreichen Zugang

Welche Techniken gibt es?

Es gibt verschiedene Techniken wie Äquivalenzpartitionierung, Randwert-Analyse, Entscheidungstisch-Testen und Zustandsübergangs-Testen.

Äquivalenzpartitionierung

Teilt Testgegenstände in Partitionen, die auf die gleiche Weise behandelt und getestet werden.

  • Gültige Partitionen enthalten nur akzeptierte Werte
  • Ungültige Partitionen enthalten nur abgelehnte Werte
Beispiel: Rabatte in Abhängigkeit von Einkaufswerten

Randwert-Analyse

Testet Grenzen der Partitionen, da dort Fehler am wahrscheinlichsten sind.

  • Zwei-Wert-Randwert-Analyse
  • Drei-Wert-Randwert-Analyse
Beispiel: Rabatte anhand Grenzwerte testen

Entscheidungstisch-Testen

Wird genutzt, um komplexe Geschäftslogiken zu testen, die mehrere Bedingungen oder Regeln enthalten. Der Testfall wird in einem Entscheidungstisch dargestellt.

Beispiel: Kreditanträge basierend auf Einkommen, Schufa-Score, und Beschäftigungsdauer

Zustandsübergangs-Testen

Testen von Systemen, deren Verhalten von einem Zustand zum anderen wechselt.

Beispiel: Ein Automat, der Zustände wie 'Ruhezustand', 'Authentifizierungszustand' und 'Menü-Zustand' durchläuft.

Vorteile:

  • Unabhängigkeit vom Implementierungsteam, was zu objektiveren Tests führt.
  • Erkennung von Diskrepanzen zwischen den Spezifikationen und der tatsächlichen Implementierung.
  • Tester können aus der Sicht des Endbenutzers testen.

Nachteile:

  • Kann ineffektiv sein, um spezifische Fehler in der internen Logik der Anwendung zu finden.
  • Mögliche Redundanz, wenn der Tester die zugrunde liegende Struktur nicht kennt.

Fazit

Black-Box-Testtechniken bieten eine vielseitige Möglichkeit, Ihre Software aus unterschiedlichen Perspektiven zu testen, was letztendlich Ihren Testprozess und die Qualität Ihres Systems verbessert.