Überblick über Black-Box-Tests

Black Box Testing ist eine Software-Testmethode, bei der der Tester die interne Struktur oder das Design oder die Implementierung des zu testenden Objekts nicht kennt.

Was ist Softwaretest?

Softwaretests sind das Verfahren zur Bewertung eines Systems mit der Absicht, Fehler zu finden. Es wird überprüft, ob das System die angegebenen Anforderungen erfüllt. Das Testen misst die Gesamtqualität des Systems in Bezug auf seine Richtigkeit, Vollständigkeit, Benutzerfreundlichkeit, Leistung und andere funktionale und nicht funktionale Attribute.

Black-Box-Tests sind Softwaretests, bei denen die Analyse der Softwarefunktionalität im Vergleich zu internen Systemmechanismen im Mittelpunkt steht. Black-Box-Tests wurden entwickelt, um Kundenanforderungen, -spezifikationen und allgemeine Entwurfsstrategien zu analysieren. Ein Black-Box-Softwaretester wählt gültige und ungültige Eingabesatz- und Codeausführungsbedingungen aus und prüft, ob gültige Ausgabeantworten vorliegen. Black-Box-Tests werden auch als Funktionstests oder Closed-Box-Tests bezeichnet.

Zum Beispiel eine Suchmaschine einer Anwendung. In einer Suchmaschine würde ein Benutzer Text in die Suchleiste des Browsers eingeben. Die Suchmaschine würde dann die Ausgabe der zugehörigen Benutzerdaten lokalisieren und abrufen. Was sich hinter den Kulissen abspielt, ist dem Benutzer nicht bekannt. Daher ist die interne Implementierung für ihn unverständlich.

Zu den Vorteilen von Black-Box-Tests gehören:

  • Einfachheit: Erleichtert das Testen anspruchsvoller Designs und komplexer Anwendungen
  • Ressourcen schonen: Tester konzentrieren sich auf Softwarefunktionalität.
  • Testfälle: Konzentration auf Softwarefunktionen, um eine schnelle Testfallentwicklung zu ermöglichen.
  • Bietet Flexibilität: Spezielle Programmierkenntnisse sind nicht erforderlich.

Ein Beispiel

Der Tester testet die Webseiten, dh durch Klicken und Drücken mit einem Browser, indem er Eingaben bereitstellt und die internen Strukturen nicht kennt, um die Ausgaben mit den erwarteten Ergebnissen zu vergleichen.

Tools für Black-Box-Tests

Black-Box-Test-Tools hängen im Wesentlichen davon ab, welche Art von Black-Box-Tests Sie implementieren.

  • Funktionstests / Regressionstests können über QTP oder Selen durchgeführt werden
  • Nichtfunktionale Tests können über LoadRunner oder Jmeter durchgeführt werden.

Ebenen

Beim Black-Box-Testen dienen die folgenden Ebenen zum Testen der Software:

  • Integrationstests
  • Systemprüfung
  • Abnahmeprüfung

Je höher der Level, desto größer und komplexer wird die Box und desto mehr Black-Box-Tests kommen ins Spiel.

Black-Box-Testspezifikation

Black-Box-Tests können als Testverfahren definiert werden, bei denen die Funktionalität von Application Under Test (AUT) getestet wird, wobei jedoch die Struktur des internen Codes, Einzelheiten der Implementierung und etwaige Kenntnisse der internen Pfade der Software berücksichtigt werden.

Grundlegendes zum Black-Box-Testen

Black-Box-Tests beziehen sich auf alle Software-Spezifikationen und -Anforderungen. Black Box Testing konzentriert sich nur auf die Ein- und Ausgabe des Softwaresystems und kümmert sich überhaupt nicht um das interne Wissen über die Software.

Wie macht Black Box Testing die Arbeit so einfach?

Es gibt den Softwaretest-Lebenszyklus (STLC), bei dem es sich um einen Black-Box-Test handelt, der sich auf jede Phase des Softwareentwicklungs-Lebenszyklus bezieht.

  1. In der ersten oder ersten Stufe der STLC werden die Anforderungen an das Produkt gesammelt. Dies wird als Anforderungserfassungsphase bezeichnet.
  2. Die folgende Phase ist die Phase Testplanung und Testanalyse. Die zu erbringenden Leistungen dieser Phase sind im Allgemeinen Arten von Tests, die gemäß dem Projekt durchzuführen sind, und ein Testplan, um die Risiken zu bestimmen und diese Risiken zu mindern.
  3. Die dritte Phase ist die Entwurfsphase, in der Testfälle und Testskripte mit Hilfe der Software-Anforderungsdokumente oder des Geschäftsanforderungsdokuments erstellt werden.
  4. Die letzte Phase wird als Testausführungsphase bezeichnet. Wie der Name schon sagt, werden in dieser Phase alle Testfälle oder Skripte ausgeführt. Alle gefundenen Fehler werden gemeldet, behoben und erneut getestet.

Was können Sie mit Black Box Testing tun?

Im Folgenden werden einige der wichtigsten Teststrategien für Black Box-Tests erläutert:

  • Prüfung der Äquivalenzklasse
  • Grenzwertprüfung
  • Entscheidungstabellentest
  • Ursache-Wirkungs-Test
  • Anforderungsbasiertes Testen
  • Kompatibilitätstests

Prüfung der Äquivalenzklasse

Diese Art des Testens wird bevorzugt, da dies dazu beiträgt, die Testfälle auf ein Niveau zu minimieren, bei dem die Wahrscheinlichkeit einer Bedarfsdeckung optimal ist.

Dies geschieht in den folgenden zwei Schritten:

1. Identifizierung und Unterteilung in Äquivalenzklassen: Zunächst werden die Eingabedaten in mindestens zwei Mengen unterteilt - die erste Menge enthält eine Liste gültiger Eingabewerte und die zweite Menge enthält die Liste ungültiger Eingabewerte. Wenn es beispielsweise ein Altersfeld gibt, das ein Alter im Bereich von 20 bis 40 Jahren enthalten kann, können gültige Eingabewerte 21, 25, 30, 39 usw. und ungültige Eingabewerte Werte kleiner als 20 oder größer als sein 40 wie 10, 15, 45, 55 usw.

2. Erstellen von Testfällen - Jeder gültigen Eingabeklasse und jeder ungültigen Eingabeklasse wird eine eindeutige Identifikationsnummer zugewiesen. Anschließend werden Testfälle mit der Absicht geschrieben, die beiden Sätze von Eingabeklassen abzudecken.

Grenzwertprüfung

Grenzwerttests konzentrieren sich im Wesentlichen auf Grenzwerte. Es wird bewertet, ob ein bestimmter Wertebereich vom System akzeptiert wird oder nicht. Grenzwerttests sind nützlich, um die Anzahl der Testfälle zu verringern / zu minimieren. Grenzwerttests eignen sich am besten für Systeme, in denen die Eingabe innerhalb bestimmter Bereiche liegt.

Entscheidungstabellentest

Eine Entscheidungstabelle zeigt Ursachen und deren gleichzeitige Auswirkungen in Form einer Matrix. Beim Testen von Entscheidungstabellen gibt es in jeder Spalte eine eindeutige Kombination.

Ursache-Wirkungs-Diagramm

Ursache-Wirkung-Diagramme entwickeln eine Beziehung zwischen Ursachen (logischen Eingaben) und der entsprechenden Wirkung (Aktionen). Sie werden mit Hilfe von Booleschen Graphen dargestellt. Die zu befolgenden Schritte lauten wie folgt:

  1. Identifikation von Ein- und Ausgängen.
  2. Entwicklung eines Ursache-Wirkungs-Diagramms.
  3. Transformation des Graphen in die Entscheidungstabelle.
  4. Umsetzung von Entscheidungstabellenregeln in Testfälle.

Anforderungsbasiertes Testen

Diese Art der Prüfung umfasst die Überprüfung, ob die in der SRS oder der Softwareanforderungsspezifikation genannten Anforderungen gültig sind oder nicht.

Kompatibilitätsprüfung

Um Funktionalität bereitzustellen, hängen sowohl die Produkte als auch die Infrastruktur vom Ergebnis der Testfallausführung ab. Unabhängig von den Änderungen an den Infrastrukturparametern wird erwartet, dass das Produkt weiterhin ordnungsgemäß funktioniert. Einige der Parameter, die sich allgemein auf die Kompatibilität von Software auswirken, sind nachfolgend aufgeführt:

  1. Pentium 3- oder Pentium 4-Prozessoren und die Anzahl der verwendeten Prozessoren
  2. 32-Bit- oder 64-Bit-Architektur
  3. Datenbankserver oder andere Back-End-Komponenten
  4. Art des Betriebssystems (Windows, Linux usw.).

Arbeiten mit Black Box Testing

Im Folgenden sind die grundlegenden Schritte aufgeführt, die zum Ausführen von Black Box-Tests erforderlich sind.

  • Zunächst werden die Spezifikationen und Anforderungen des Systems behandelt.
  • Zweitens würde der Tester logische Eingaben, dh positive Testszenarien, auswählen, um zu prüfen, ob SUT sie korrekt verarbeitet hat oder nicht. Darüber hinaus werden auch ungültige Eingaben, dh ein negatives Testszenario, ausgewählt, um zu überprüfen, ob das SUT sie erkennen kann.
  • Drittens würden Tester dann die erwarteten Ausgaben für alle gültigen Eingaben bestimmen.
  • Viertens erstellt der Software-Tester Testfälle mit den ausgewählten und gültigen Eingaben.
  • Fünftens werden erstellte Testfälle ausgeführt.
  • Sechstens unterscheiden Software-Tester zwischen den tatsächlichen Ausgaben und den erwarteten Ausgaben und prüfen, ob sie gleich sind.
  • Zuletzt werden gefundene Fehler behoben und erneut getestet.

Vorteile

  • Black-Box-Tests werden immer aus Sicht des Benutzers ausgeführt, da dies dazu beitragen würde, die Diskrepanzen erheblich aufzudecken.
  • Black-Box-Tester müssen auch keine Programmiersprachen beherrschen.
  • Black-Box-Tester müssen nicht wissen, wie die Software implementiert wurde.
  • Testfälle im Zusammenhang mit Black Box werden von Testern entworfen, sobald die Spezifikationen in der abgeschlossenen Phase sind.

Nachteile

  • Da keine technischen oder Programmierkenntnisse erforderlich sind, kann es vorkommen, dass Instanzen alle gültigen und möglichen Bedingungen des zu testenden Szenarios ignorieren.
  • Es gibt die Möglichkeit, dass aufgrund von Zeitbeschränkungen (festgelegte Zeit) weniger Tests und Unkenntnisse über jeden möglichen Input und dessen Output durchgeführt werden.
  • Die vollständige und abgeschlossene Testabdeckung ist bei komplexen und großen Projekten oft nicht möglich.

Warum sollten wir Black Box Testing verwenden?

Werkzeuge des Black-Box-Testens sind im Wesentlichen Aufzeichnungs- und Wiedergabewerkzeuge. Diese Tools zeichnen die Testfälle in Form von Skripten wie TSL, JavaScript, VB-Skript usw. auf. Alle diese Tools werden im Wesentlichen für Regressionstests verwendet, um zu überprüfen, ob der bereitgestellte neue Build einen Fehler in der bereits gut funktionierenden Anwendungsfunktionalität verursacht hat .

Umfang

Die bekanntesten und wichtigsten Arten von Black-Box-Tests sind die folgenden:

  • Funktionstests: Diese Art von Black-Box-Tests bezieht sich auf die funktionalen Anforderungen des Systems und wird von Software-Testern durchgeführt.
  • Nichtfunktionale Tests: Diese Art von Black-Box-Tests bezieht sich nicht auf das Testen der jeweiligen Funktionalität, sondern auf alle nichtfunktionalen Anforderungen wie Leistung, Benutzerfreundlichkeit, Skalierbarkeit und vieles mehr.
  • Regressionstest: Der Regressionstest wird ausgeführt, nachdem ein Code repariert, der Code aktualisiert oder andere Wartungsarbeiten am System durchgeführt wurden, um zu überprüfen, ob der neue Code die vorhandene Funktionalität nicht beeinträchtigt hat.

Unterschiede

Black Box Testing ist die Softwaretesttechnik, bei der dem Tester die interne Struktur oder das Design oder die Implementierung des zu testenden Produkts unbekannt ist.

White Box Testing ist eine Softwaretesttechnik, bei der die interne Struktur oder das Design oder die Implementierung des zu testenden Produkts einem Tester bekannt ist.

Black-Box-Test White-Box-Test
Beim Black-Box-Test ist die interne Struktur oder das Programm oder der Code unbekannt.Beim White-Box-Test verfügt der Tester über Kenntnisse über die interne Struktur von Software
Dies wird normalerweise von Software-Testern durchgeführt.Es wird normalerweise von Softwareentwicklern durchgeführt.
Hier sind keinerlei Umsetzungskenntnisse erforderlich.Hier sind Umsetzungskenntnisse erforderlich.
Es kann auch als äußeres / externes Testen von Software bezeichnet werden.Es kann auch als inneres / internes Testen von Software bezeichnet werden.
Der Black-Box-Test ist der Funktionstest der Software.White-Box-Test ist der Strukturtest der Software.
Diese Prüfung kann auf der Grundlage eines Anforderungsspezifikationsdokuments eingeleitet werden.Diese Art des Testens von Software wird nach einem Detailentwurfsdokument gestartet.
Hier sind keine Programmierkenntnisse erforderlich.Hier sind Kenntnisse in mindestens einer Programmiersprache obligatorisch.
Grundsätzlich handelt es sich um Verhaltenstests der Software.Dies ist der grundlegende Logiktest der Software.
Dies gilt hauptsächlich für höhere Teststufen.Dies gilt hauptsächlich für die unteren Teststufen.
Es wird auch Verhaltenstests genannt.Es wird auch als Klarglas- oder Glaskastentest bezeichnet.
Black-Box-Tests sind weniger zeitaufwendig als White-Box-Tests.White-Box-Tests sind zeitaufwändiger als Black-Box-Tests.
Black-Box-Tests eignen sich nicht zum Testen von Algorithmen.White-Box-Tests eignen sich zum Testen von Algorithmen.
Dies kann durch Versuchs- und Fehlermethoden erreicht werden.Die inneren oder inneren Grenzen von Daten zusammen mit ihrer Domäne können gründlich getestet werden.
Zum Beispiel: Suchen Sie etwas auf Google mit Hilfe von SchlüsselwörternZum Beispiel: Verwenden von Eingaben zum Überprüfen und Überprüfen auf Schleifen.
Typen

  1. Funktionsprüfung
  2. Nichtfunktionale Prüfung
  3. Regressionstests
Typen

  1. Pfadprüfung
  2. Schleifenprüfung
  3. Zustandsüberprüfung

Fazit:

Alle behandelten Themen sind sowohl grundlegende als auch fortgeschrittene Themen im Zusammenhang mit Black-Box-Tests und dem Kern all ihrer Techniken und Methoden.

Da es kaum möglich ist, alles zusammen mit menschlichem Engagement und das auch nur mit hundertprozentiger Genauigkeit zu testen, wird die Qualität des Systems zweifelsfrei verbessert, wenn die bereits festgelegten Methoden sehr effektiv angewendet werden. Aus diesem Grund ist der Black-Box-Test eine sehr effektive Methode, um Fehler zu identifizieren und die Funktionalität des Systems zu überprüfen.

Empfohlene Artikel

Dies war ein Leitfaden für Black-Box-Tests. Hier haben wir anhand von Beispielen und verschiedenen Black-Box-Testtechniken mit Werkzeugen erläutert, wie Black-Box-Tests durchgeführt werden. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. White-Box-Test
  2. Testen von Interviewfragen
  3. Was ist Hypervisor?
  4. Fragen zum Game Testing-Interview