Was ist Grau? Box Testen? Techniken, Beispiel
โก Intelligente Zusammenfassung
Grau Box Beim Testen wird eine Anwendung unter teilweiser Kenntnis ihrer internen Struktur untersucht. Dabei wird die benutzerorientierte Sichtweise des Black-Box-Tests mit genรผgend architektonischem Einblick kombiniert, um zu erklรคren, warum ein Fehler aufgetreten ist, und nicht nur, dass er aufgetreten ist.
Was ist Grau? Box Testen?
Grau Box Tests (auch Gray geschrieben) Box Graustufentesting ist eine Softwaretesttechnik, die ein Softwareprodukt oder eine Anwendung mit nur teilweiser Kenntnis ihrer internen Struktur testet. Box Beim Testen geht es darum, Fehler aufzuspรผren und zu identifizieren, die durch eine fehlerhafte Codestruktur oder eine unsachgemรครe Verwendung der Anwendung verursacht werden.
Dabei werden รผblicherweise kontextspezifische Fehler im Zusammenhang mit Websystemen identifiziert. Die Technik erhรถht Testabdeckung indem man sich auf alle Ebenen eines komplexen Systems konzentriert, anstatt nur auf eine davon.
Grau Box Testen ist eine Softwaretestmethode, die kombiniert Weiร Box Tests und Schwarz Box TestsDer Unterschied zwischen den dreien liegt darin, wie viel von der internen Struktur der Tester einsehen kann:
- In weiss Box Das Testen der internen Struktur (des Codes) ist bekannt.
- In Schwarz Box Es ist unbekannt, ob die interne Struktur (der Code) getestet werden kann.
- In Grau Box Das Testen der internen Struktur (des Codes) ist teilweise bekannt.
Das untenstehende Diagramm ordnet die drei Methoden auf derselben Sichtbarkeitsskala an.
In Softwareentwicklung, Grau Box Durch Tests lassen sich beide Seiten einer Anwendung prรผfen: die Prรคsentationsschicht sowie der zugrundeliegende Code. Dies ist vor allem dann nรผtzlich, wennโฆ Integrationstests und .
Beispiel fรผr Grau Box Testing: Beim Testen einer Website-Funktion wie Links oder verwaisten Links kann der Tester, falls er auf ein Problem mit diesen Links stรถรt, die รnderung direkt im HTML-Code vornehmen und in Echtzeit รผberprรผfen.
Warum Grau Box Tests
Grau Box Die Tests werden aus folgenden Grรผnden durchgefรผhrt:
- Es vereint die Vorteile von Black-Box-Tests und White-Box-Tests.
- Es vereint die Beitrรคge von Entwicklern und Testern und verbessert so die Gesamtproduktqualitรคt.
- Es reduziert den Aufwand des langwierigen Prozesses des Testens funktionaler und nicht-funktionaler Typen.
- Es gibt einem Entwickler genรผgend freie Zeit, um Fehler zu beheben.
- Die Tests werden aus der Sicht des Benutzers und nicht aus der Sicht des Entwicklers durchgefรผhrt.
- Ein Fehler kann erklรคrt statt nur gemeldet werden, weil der Tester die Schicht sehen kann, in der er aufgetreten ist.
Grau Box Test vs. Schwarz Box gegen Weiร Box Tests
Die drei Methoden stellen weniger konkurrierende Alternativen dar, sondern vielmehr drei Zugangsebenen, und jede beantwortet eine andere Fragestellung. Der direkte Vergleich macht die Entscheidung konkret.
| Verpflegung | Schwarz Box Tests | Grau Box Tests | Weiร Box Tests |
|---|---|---|---|
| Kenntnisse der inneren Struktur | Keine Prรคsentation | Teilweise | Vollstรคndiger |
| Durchgefรผhrt von | Tester und Endbenutzer | Tester und Entwickler, die mit Testern zusammenarbeiten | Entwickler und Testingenieure |
| Grundlage des Testdesigns | Anforderungen und Spezifikationen | ArchiArchitektur, Algorithmen, Datenstrukturen und Schnittstellen | Quellcode und Kontrollfluss |
| Typisches Niveau | System- und Abnahmeprรผfung | Integrations-, Penetrations- und Web-Service-Tests | Unit- und Komponententests |
| Abdeckung gemessen als | Anforderungsabdeckung | Schnittstellen-, Daten- und Pfadabdeckung | Anweisungs-, Zweig- und Pfadabdeckung |
| Hauptbeschrรคnkung | Die Ursache eines Fehlers bleibt verborgen | Die Tiefe ist durch den gewรคhrten Zugang begrenzt. | Es ist kostspielig und kann fehlende Anforderungen รผbersehen. |
Die meisten Teams nutzen alle drei im gesamten Spiel. Lebenszyklus von Softwaretests, und in der Grey-Box-Schicht werden รผblicherweise die Fehler erkannt, die zwischen der Benutzeroberflรคche und dem Datenspeicher liegen.
Grau Box Teststrategie
Um Grey auszufรผhren Box Fรผr das Testen ist es nicht erforderlich, dass der Tester Zugriff auf den Quellcode hat. Ein Test wird auf der Grundlage von Kenntnissen รผber die Algorithmen, Architekturen, internen Zustรคnde oder andere abstrakte Beschreibungen des Programmverhaltens entworfen.
Um Grey auszufรผhren Box Testing:
- Es wendet die unkomplizierten Techniken des Black-Box-Testings an.
- Es basiert auf der anforderungsgetriebenen Generierung von Testfรคllen und legt daher alle Bedingungen fest, bevor das Programm mit der Assertionsmethode getestet wird.
Techniken, die fรผr Grau verwendet werden Box Die Tests sind:
- Matrixtest: Diese Technik beinhaltet die Definition aller im Programm vorhandenen Variablen sowie des jeweiligen Risikos, das jede Variable birgt, sodass ungenutzte und risikoreiche Variablen sichtbar werden.
- Regressionstests: Es wird geprรผft, ob eine รnderung in der vorherigen Version andere Aspekte des Programms in der neuen Version beeintrรคchtigt hat. Dies geschieht mithilfe von Strategien wie dem erneuten Testen aller Komponenten, dem erneuten Testen risikobehafteter Anwendungsfรคlle und dem erneuten Testen innerhalb einer Firewall.
- Orthogonale Array-Tests oder OAT: bietet maximale Codeabdeckung bei minimaler Anzahl an Testfรคllen.
- Mustertest: Die Tests basieren auf historischen Daten frรผherer Systemfehler. Im Gegensatz zu Black-Box-Tests werden Grey-Tests durchgefรผhrt. Box Beim Testen wird der Code genauestens untersucht, um die Ursache des Fehlers zu ermitteln.
Grau Box Die Methodik verwendet รผblicherweise automatisierte Software-Test-Tools Um die Tests durchzufรผhren, werden Stubs und Modultreiber erstellt, damit der Tester den Code nicht manuell generieren muss.
Schritte zur Durchfรผhrung von Grey Box Die Tests sind:
- Schritt 1: Eingaben identifizieren.
- Schritt 2: Identifizieren Sie die Ausgaben.
- Schritt 3: Die Hauptwege identifizieren.
- Schritt 4: Teilfunktionen identifizieren.
- Schritt 5: Eingaben fรผr die Unterfunktionen entwickeln.
- Schritt 6: Entwickeln Sie Ausgaben fรผr die Unterfunktionen.
- Schritt 7: Fรผhren Sie den Testfall fรผr die Unterfunktionen aus.
- Schritt 8: รberprรผfen Sie das korrekte Ergebnis der Unterfunktionen.
- Schritt 9: Wiederholen Sie die Schritte 4 bis 8 fรผr die anderen Teilfunktionen.
- Schritt 10: Wiederholen Sie die Schritte 7 und 8 fรผr die anderen Unterfunktionen.
Die Testfรคlle fรผr Grey Box Die Tests kรถnnen unter anderem GUI-, Sicherheits-, Datenbank-, Browser- und Betriebssystemaspekte umfassen. Jeder generierte Testfall erfordert weiterhin die รผblichen Tests. Testfall Attribute, da ein Fall, der sich nicht aus seiner eigenen Beschreibung reproduzieren lรคsst, bei der Regression von geringem Nutzen ist.
Wo Grau Box Tests werden verwendet
Diese Technik bewรคhrt sich รผberall dort, wo ein Defekt nur durch die gleichzeitige Betrachtung zweier Schichten diagnostiziert werden kann. Sie wird am hรคufigsten in folgenden Szenarien angewendet:
- Datenbankgestรผtzte Workflows: Eine Aktion wird รผber die Benutzeroberflรคche ausgefรผhrt, und die resultierenden Zeilen werden dann direkt abgefragt, um zu bestรคtigen, dass die Werte, Typen und Beziehungen wie beabsichtigt gespeichert wurden.
- Webdienste und APIs: Es wird eine Anfrage gesendet und der Antwortstatus, die Header und die Nutzdaten werden mit den verรถffentlichten Spezifikationen verglichen.tract, was die alltรคgliche Form von API-Tests.
- Integrationspunkte: Nachrichten, die die Grenze zwischen zwei Modulen รผberschreiten, werden untersucht, wobei beide Module als laufende Systeme und nicht als Quelldateien behandelt werden.
- Sicherheitsbewertung: Ein Penetrationstester, dem ein normales Benutzerkonto und ein Architekturรผberblick zur Verfรผgung stehen, reproduziert die Position eines Insiders, was dem Standard-Grey-Box-Engagement-Modell entspricht.
- Webanwendungen und grafische Benutzeroberflรคchen: Defekte Links, verwaiste Seiten, Sitzungsverwaltung und clientseitige Validierung werden alle bei teilweiser Sichtbarkeit des Markups und des Anfrageablaufs รผberprรผft.
In all diesen Bereichen werden die Gesamtkosten von Systemfehlern reduziert, da Probleme erkannt und erklรคrt werden, bevor sie sich weiter in den Prozessablauf ausbreiten. Systemtests oder Produktion.
Grau Box Testtools
Kein Werkzeug fรผhrt Grau aus Box Fรผr sich genommen ist das Testen nicht ausreichend. Was diese Kategorie benรถtigt, ist eine Kombination aus einem Schnittstellentreiber, einem Inspektionswerkzeug fรผr die darunterliegende Schicht und einer Mรถglichkeit, beides per Skript zu verknรผpfen.
- API- und Webservice-Clients wie Postman und SoapUI, wird verwendet, um Anfragen zu stellen und Statuscodes sowie Antworttexte zu รผberprรผfen.
- Datenbankclients und SQL-Abfragetools, dient zur รberprรผfung des persistenten Zustands nach einer Schnittstellenaktion.
- Browser-Entwicklertools und HTTP-Proxys wie Burp Suite, wird verwendet, um Anfragen wรคhrend sicherheitsorientierter Sitzungen zu prรผfen und zu modifizieren.
- UI-Automatisierungsframeworks wie Selenium, wird verwendet, um die Prรคsentationsschicht innerhalb eines Automatisierungstests Suite.
- Protokollierungs- und รberwachungstools, dient dazu, einen beobachteten Fehler mit dem zu korrelieren, was die Anwendung intern zu diesem Zeitpunkt aufgezeichnet hat.
Die Wahl der Verkabelung ist weniger wichtig als die Wahl der Verkabelung: Wenn der Schnittstellentreiber und der Inspektionsschritt nicht im selben Skriptablauf ausgefรผhrt werden, erhรคlt man zwei separate manuelle Prรผfungen anstelle eines einzigen Grey-Box-Tests.
Grau Box Herausforderungen testen
Partielle Sichtbarkeit fรผhrt zu Problemen, die bei den reinen Methoden nicht auftreten. Die folgenden Probleme begegnen den Teams am hรคufigsten:
- Wenn bei einer zu testenden Komponente ein Fehler auftritt, kann die laufende Operation abgebrochen werden, sodass der Rest der Sequenz nicht ausgefรผhrt wird.
- Ein Test kann vollstรคndig ausgefรผhrt werden, obwohl der Inhalt des Ergebnisses fehlerhaft ist. Daher muss der Verifizierungsschritt die Werte und nicht die Vollstรคndigkeit รผberprรผfen.
- Eine vollstรคndige Codeabdeckung ist nicht mรถglich, da der Tester nie jeden Zweig sieht, den ein White-Box-Test erreichen wรผrde.
- Die Designdokumentation, auf die sich die Tests stรผtzen, kann veraltet sein, und ein รผberholtes Schema oder eine veraltete Schnittstellenspezifikation macht das Testdesign stillschweigend ungรผltig.
- Tester benรถtigen sowohl Domรคnenverstรคndnis als auch technisches Fachwissen, was ein engeres Anforderungsprofil fรผr die Rekrutierung darstellt.
- Verteilt und stark abstracBei komplexen Architekturen ist es schwierig, einen beobachteten Fehler einer bestimmten internen Komponente zuzuordnen.
Diese Einschrรคnkungen sprechen fรผr eine Behandlung von Grey Box Testen als eine Ebene unter mehreren und nicht als Ersatz fรผr die anderen โ das ist der Punkt, der im gesamten breiteren Spektrum hervorgehoben wird. Softwaretesttechniken und Arten von SoftwaretestsEs fรผgt sich ganz natรผrlich ein neben Funktionsprรผfung und spezifikationsgetriebene Ansรคtze wie modellbasiertes Testen.

