black box testing an depth tutorial with examples
In diesem Tutorial werden wir anhand meiner industriellen Erfahrung im Testen von Software mit den Typen und Techniken des Black-Box-Testens sowie dessen Verfahren, Vor- und Nachteilen und einigen Automatisierungstools vertraut gemacht, um es außer dem manuellen Testen zu testen.
Wir werden auch die Unterschiede zwischen White-Box-Tests und Black-Box-Tests kennenlernen.
Liste der Tutorials zu „Black Box-Testtechniken“:
Tutorial Nr. 1: Was ist Black Box Testing?
Tutorial # 2: Was ist White-Box-Test?
Tutorial # 3: Funktionstests vereinfacht
Tutorial # 4: Was ist Anwendungsfalltest?
Tutorial # 5 :: Orthogonale Array-Testtechnik
Techniken
Tutorial # 6: Grenzwertanalyse und Äquivalenzpartitionierung
Tutorial Nr. 7: Testen der Entscheidungstabelle
Tutorial Nr. 8: Zustandsübergangstests
Tutorial # 9 :: Fehlerraten
Tutorial Nr. 10: Graphbasierte Testmethoden
Fast alle von uns führen jeden Tag Black-Box-Tests durch!
Ob wir gelernt haben oder nicht, wir alle haben Black-Box-Tests viele Male in unserem täglichen Leben durchgeführt !!
Anhand des Namens selbst können Sie wahrscheinlich verstehen, dass dies eine Interaktion mit dem System impliziert, die Sie als Mystery Box testen. Dies bedeutet, dass Sie nicht über ausreichende Kenntnisse der internen Funktionsweise des Systems verfügen, aber wissen, wie es sich verhalten sollte.
Wenn wir eine nehmen Beispiel Um unser Auto oder Fahrrad zu testen, fahren wir es immer, um sicherzustellen, dass es sich nicht ungewöhnlich verhält. Sehen? Wir haben bereits Black-Box-Tests durchgeführt.
Was du lernen wirst:
- Was ist Black Box Testing?
- Arten von Black-Box-Tests
- Black Box-Testwerkzeuge
- Black-Box-Testtechniken
- Wie mache ich schrittweise?
- Vorteile und Nachteile
- Unterschied zwischen White-Box-Tests und Black-Box-Tests
- Fazit
- Literatur-Empfehlungen
Was ist Black Box Testing?
Black-Box-Tests werden auch als Verhaltens-, Opaque-Box-, Closed-Box-, spezifikationsbasierte oder Eye-to-Eye-Tests bezeichnet.
Es handelt sich um eine Softwaretestmethode, die die Funktionalität einer Software / Anwendung analysiert, ohne viel über die interne Struktur / das Design des zu testenden Elements zu wissen, und den Eingabewert mit dem Ausgabewert vergleicht.
wie man solarmovie benutzt ohne sich anzumelden
Das Hauptaugenmerk beim Black Box Testing liegt auf der Funktionalität des gesamten Systems. Der Begriff ‘Verhaltenstests’ wird auch für Black-Box-Tests verwendet. Das Verhaltenstestdesign unterscheidet sich geringfügig vom Black-Box-Testdesign, da die Verwendung von internem Wissen nicht strengstens verboten ist, aber dennoch davon abgeraten wird.
Jede Prüfmethode hat ihre Vor- und Nachteile. Es gibt einige Fehler, die mit der einzigen Black-Box- oder nur White-Box-Technik nicht gefunden werden können.
Die meisten Anwendungen werden nach der Black-Box-Methode getestet. Wir müssen die meisten Testfälle abdecken, damit die meisten Fehler von a entdeckt werden Schwarze Box Methode.
Diese Tests finden während der gesamten Softwareentwicklung und des Testlebenszyklus statt, d. H. In den Phasen Unit-, Integrations-, System-, Akzeptanz- und Regressionstests.
Dies kann sowohl funktional als auch nicht funktional sein.
Arten von Black-Box-Tests
In der Praxis gibt es verschiedene Arten von Black-Box-Tests, die möglich sind. Wenn wir jedoch die Hauptvariante betrachten, sind die beiden folgenden die folgenden.
# 1) Funktionsprüfung
Dieser Typ behandelt die funktionalen Anforderungen oder Spezifikationen einer Anwendung. Hier werden verschiedene Aktionen oder Funktionen des Systems getestet, indem die Eingabe bereitgestellt und die tatsächliche Ausgabe mit der erwarteten Ausgabe verglichen wird.
Zum Beispiel ,Wenn wir eine Dropdown-Liste testen, klicken wir darauf und überprüfen, ob sie erweitert wird und alle erwarteten Werte in der Liste angezeigt werden.
Einige Haupttypen von Funktionstests sind:
- Rauchprüfung
- Sanity Testing
- Integrationstests
- Systemtests
- Regressionstests
- User Acceptance Testing
=> Lesen Sie mehr über Funktionsprüfung .
# 2) Nichtfunktionstests
Neben den Funktionen der Anforderungen müssen auch einige nicht funktionale Aspekte getestet werden, um die Qualität und Leistung der Anwendung zu verbessern.
Einige Haupttypen von nichtfunktionalen Tests umfassen:
- Usability-Tests
- Lasttest
- Leistungstest
- Kompatibilitätstests
- Belastbarkeitstest
- Skalierbarkeitstests
=> Lesen Sie mehr über Nichtfunktionale Tests .
Black Box-Testwerkzeuge
Black-Box-Testwerkzeuge sind hauptsächlich Aufnahme- und Wiedergabewerkzeuge. Diese Tools werden für Regressionstests verwendet, um zu überprüfen, ob ein neuer Build einen Fehler in früheren funktionierenden Anwendungsfunktionen verursacht hat.
Diese Aufnahme- und Wiedergabetools zeichnen Testfälle in Form einiger Skripte wie TSL, VB-Skript, Javascript, Perl usw. auf.
Black-Box-Testtechniken
Um eine Reihe von Funktionen systematisch zu testen, müssen Testfälle entworfen werden. Tester können Testfälle aus dem Anforderungsspezifikationsdokument mithilfe der folgenden Black-Box-Testtechniken erstellen.
- Äquivalenzpartitionierung
- Grenzwertanalyse
- Testen der Entscheidungstabelle
- Zustandsübergangstests
- Fehlerraten
- Graphbasierte Testmethoden
- Vergleichstests
Lassen Sie uns jede Technik im Detail verstehen.
# 1) Äquivalenzpartitionierung
Diese Technik wird auch als ECP (Equivalence Class Partitioning) bezeichnet. Bei dieser Technik werden Eingabewerte für das System oder die Anwendung basierend auf ihrer Ähnlichkeit im Ergebnis in verschiedene Klassen oder Gruppen unterteilt.
Anstatt jeden Eingabewert zu verwenden, können wir jetzt einen beliebigen Wert aus der Gruppe / Klasse verwenden, um das Ergebnis zu testen. Auf diese Weise können wir die Testabdeckung beibehalten und gleichzeitig viel Nacharbeit und vor allem den Zeitaufwand reduzieren.
Zum Beispiel:
Wie im obigen Bild dargestellt, akzeptiert ein 'AGE' -Textfeld nur die Zahlen von 18 bis 60. Es gibt drei Sätze von Klassen oder Gruppen.
Zwei ungültige Klassen sind:
a) Kleiner oder gleich 17.
So öffnen Sie eine JAR-Datei mit Java
b) Größer oder gleich 61.
Eine gültige Klasse ist zwischen 18 und 60.
Wir haben daher die Testfälle basierend auf den gebildeten Klassen auf nur 3 Testfälle reduziert und damit alle Möglichkeiten abgedeckt. Das Testen mit einem beliebigen Wert aus jedem Satz der Klasse reicht also aus, um das obige Szenario zu testen.
=> Empfohlene Lektüre - Was ist Äquivalenzpartitionierung?
# 2) Grenzwertanalyse
Aus dem Namen selbst können wir verstehen, dass wir uns bei dieser Technik auf die Werte an den Grenzen konzentrieren, da festgestellt wird, dass viele Anwendungen eine große Anzahl von Problemen an den Grenzen aufweisen.
Grenze bedeutet die Werte nahe der Grenze, an der sich das Verhalten des Systems ändert. Bei der Grenzwertanalyse werden sowohl die gültigen als auch die ungültigen Eingaben getestet, um die Probleme zu überprüfen.
Zum Beispiel:
Wenn wir ein Feld testen möchten, in dem Werte von 1 bis 100 akzeptiert werden sollen, wählen wir die Grenzwerte: 1-1, 1, 1 + 1, 100-1, 100 und 100 + 1. Anstatt alle Werte von 1 bis 100 zu verwenden, verwenden wir nur 0, 1, 2, 99, 100 und 101.
# 3) Testen der Entscheidungstabelle
Wie der Name schon sagt, gibt es überall logische Beziehungen wie:
Wenn
{
(Bedingung = Wahr)
dann action1;
}}
sonst action2; / * (Bedingung = Falsch) * /
Dann identifiziert ein Tester zwei Ausgänge (Aktion1 und Aktion2) für zwei Bedingungen (Richtig und Falsch). Basierend auf den wahrscheinlichen Szenarien wird eine Entscheidungstabelle erstellt, um eine Reihe von Testfällen vorzubereiten.
Zum Beispiel:
Nehmen Sie ein Beispiel einer XYZ-Bank, die einen Zinssatz für den männlichen Senioren von 10% und für den Rest der Bevölkerung von 9% angibt.
In dieser Beispielbedingung hat C1 zwei Werte als wahr und falsch, Bedingung C2 hat auch zwei Werte als wahr und falsch. Die Anzahl der insgesamt möglichen Kombinationen wäre dann vier. Auf diese Weise können wir Testfälle mithilfe einer Entscheidungstabelle ableiten.
Fragen und Antworten zum Salesforce-Administratorinterview pdf
# 4) Zustandsübergangstests
State Transition Testing ist eine Technik, mit der die verschiedenen Zustände des zu testenden Systems getestet werden. Der Status des Systems ändert sich abhängig von den Bedingungen oder Ereignissen. Die Ereignisse lösen Zustände aus, die zu Szenarien werden, und ein Tester muss sie testen.
Ein systematisches Zustandsübergangsdiagramm gibt einen klaren Überblick über die Zustandsänderungen, ist jedoch für einfachere Anwendungen effektiv. Komplexere Projekte können zu komplexeren Übergangsdiagrammen führen, wodurch sie weniger effektiv sind.
Zum Beispiel:
# 5) Fehlerraten
Dies ist ein klassisches Beispiel für erfahrungsbasiertes Testen.
Bei dieser Technik kann der Tester seine Erfahrungen mit dem Anwendungsverhalten und den Funktionen nutzen, um die fehleranfälligen Bereiche zu erraten. Viele Fehler können mithilfe von Fehlerschätzungen gefunden werden, bei denen die meisten Entwickler normalerweise Fehler machen.
Einige häufige Fehler, die Entwickler normalerweise vergessen zu behandeln:
- Geteilt durch Null.
- Behandlung von Nullwerten in Textfeldern.
- Akzeptieren der Schaltfläche Senden ohne Wert.
- Datei-Upload ohne Anhang.
- Datei-Upload mit weniger als oder mehr als der Grenzgröße.
# 6) Graphbasierte Testmethoden
Jede einzelne Anwendung besteht aus einigen Objekten. Alle diese Objekte werden identifiziert und das Diagramm erstellt. Aus diesem Objektdiagramm wird jede Objektbeziehung identifiziert und Testfälle werden entsprechend geschrieben, um die Fehler zu entdecken.
# 7) Vergleichstests
Zum Testen dieser Methode werden verschiedene unabhängige Versionen derselben Software verwendet, um sie miteinander zu vergleichen.
Wie mache ich schrittweise?
Wenn ein systematischer Prozess zum Testen eines Projekts / einer Anwendung befolgt wird, bleibt die Qualität im Allgemeinen erhalten und ist auf lange Sicht für weitere Testrunden nützlich.
- Der wichtigste Schritt besteht darin, die Anforderungsspezifikation einer Anwendung zu verstehen. Ein ordnungsgemäß dokumentierter SRS (Software Requirement Specification) sollte vorhanden sein.
- Unter Verwendung der oben genannten Black-Box-Testtechniken wie Grenzwertanalyse, Äquivalenzpartitionierung usw. werden Sätze gültiger und ungültiger Eingaben mit ihren gewünschten Ausgaben identifiziert und darauf basierend Testfälle entworfen.
- Die entworfenen Testfälle werden ausgeführt, um zu überprüfen, ob sie bestanden oder nicht bestanden wurden, indem die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen überprüft werden.
- Die fehlgeschlagenen Testfälle werden als Fehler / Bugs angezeigt und an das Entwicklungsteam gerichtet, um sie zu beheben.
- Basierend auf den behobenen Fehlern testet der Tester die Fehler erneut, um zu überprüfen, ob sie wiederkehren oder nicht.
Vorteile und Nachteile
Vorteile
- Der Tester muss keinen technischen Hintergrund haben. Es ist wichtig zu testen, indem Sie in den Schuhen des Benutzers sind und aus der Sicht des Benutzers denken.
- Das Testen kann gestartet werden, sobald die Entwicklung des Projekts / der Anwendung abgeschlossen ist. Sowohl die Tester als auch die Entwickler arbeiten unabhängig voneinander, ohne sich gegenseitig zu stören.
- Es ist effektiver für große und komplexe Anwendungen.
- Fehler und Inkonsistenzen können bereits in der frühen Testphase erkannt werden.
Nachteile
- Ohne technische oder Programmierkenntnisse besteht die Möglichkeit, mögliche Bedingungen des zu testenden Szenarios zu ignorieren.
- In einer festgelegten Zeit gibt es Möglichkeiten, weniger zu testen und alle möglichen Eingaben und deren Ausgabetests zu überspringen.
- Eine vollständige Testabdeckung ist für große und komplexe Projekte nicht möglich.
Unterschied zwischen White-Box-Tests und Black-Box-Tests
Nachstehend sind einige Unterschiede zwischen beiden aufgeführt:
Black-Box-Test | White-Box-Test |
---|---|
Es handelt sich um eine Testmethode ohne Kenntnis des tatsächlichen Codes oder der internen Struktur der Anwendung | Es handelt sich um eine Testmethode, die Kenntnisse über den tatsächlichen Code und die interne Struktur der Anwendung besitzt |
Dies ist eine Prüfung auf höherer Ebene, z. B. eine Funktionsprüfung. | Diese Art von Tests wird auf einer niedrigeren Testebene durchgeführt, z. B. Unit-Tests, Integrationstests |
Es konzentriert sich auf die Funktionalität des zu testenden Systems | Es konzentriert sich auf das eigentliche Codeprogramm und seine Syntax |
Für Black-Box-Tests ist eine Anforderungsspezifikation erforderlich | Für White-Box-Tests sind Konstruktionsdokumente mit Datenflussdiagrammen, Flussdiagrammen usw. erforderlich. |
Black-Box-Tests werden von den Testern durchgeführt | White-Box-Tests werden von Entwicklern oder Testern mit Programmierkenntnissen durchgeführt. |
Fazit
Dies sind einige der grundlegenden Punkte in Bezug auf Black-Box-Tests und die Übersicht über ihre Techniken und Methoden.
Da es nicht möglich ist, alles unter menschlicher Beteiligung mit 100-prozentiger Genauigkeit zu testen, wird die Qualität des Systems definitiv verbessert, wenn die oben genannten Techniken und Methoden effektiv eingesetzt werden.
Zusammenfassend ist dies eine sehr hilfreiche Methode, um die Funktionalität des Systems zu überprüfen und die meisten Fehler zu identifizieren.
Ich hoffe, Sie hätten gründliche Kenntnisse der Black-Box-Testtechnik erworben.
Literatur-Empfehlungen
- Hauptunterschiede zwischen Black-Box-Tests und White-Box-Tests
- Beste Software-Test-Tools 2021 [QA Test Automation Tools]
- Funktionstests gegen nichtfunktionale Tests
- Tutorial zum paarweisen Testen oder Testen aller Paare mit Tools und Beispielen
- White-Box-Tests: Eine vollständige Anleitung mit Techniken, Beispielen und Werkzeugen
- Tutorial zum Volumentest: Beispiele und Tools zum Volumentest
- Tutorial zum Konfigurationstest mit Beispielen
- Testen von Primer eBook Download