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.

