Bei der Durchführung von Softwaretests gibt es Dutzende verschiedener Testmethoden zu berücksichtigen.
Softwaretests helfen den Entwicklern, mögliche Fehler in einem Softwarepaket zu beseitigen, damit sie ein Produkt ausliefern können, das den Anforderungen und Erwartungen aller Beteiligten entspricht. Mit der richtigen Testlösung verfügen Sie über das nötige Wissen, aber die richtige Auswahl eines Tests kann Zeit kosten.
Grey-Box-Tests sind eine der vielseitigsten Testformen, die den Testern zur Verfügung stehen. Sie bieten zahlreiche Einblicke, ohne übermäßig viele Ressourcen zu beanspruchen.
Erfahren Sie mehr darüber, was Grey-Box-Tests sind, wie Grey-Box-Tests im Einzelnen funktionieren und warum Unternehmen diese Testmethode einsetzen.
Was ist ein Grey-Box-Test?
Grey-Box-Tests sind eine Form des Testens, die White-Box-Tests und Black-Box-Tests kombiniert, wobei ein Teilverständnis des zugrunde liegenden Designs und der Art und Weise, wie das System implementiert ist, verwendet wird.
Diese Kombination bedeutet, dass der Tester einen Teil der Vorgänge im Hintergrund kennt, ohne den Code vollständig zu kennen, was einen besseren Einblick in die möglichen Ursachen von Problemen in der Software ermöglicht, wenn diese auftreten.
Die Durchführung von Graubox-Tests liegt in der Verantwortung von Testern, wobei ein Qualitätssicherungs-Team unabhängig vom Entwicklungsteam am Projekt arbeitet.
1. Wann und warum müssen Sie beim Softwaretest Grey-Box-Tests durchführen?
Es gibt mehrere Gelegenheiten, bei denen Unternehmen Grey-Box-Tests im Entwicklungsprozess einsetzen.
Wenn eine Anwendung beispielsweise mit einem Drittanbieter-Tool interagieren muss, um ordnungsgemäß zu funktionieren, haben die Tester keinen Zugriff auf den Quellcode, der Teil der externen Software ist. Dies ist eine erzwungene Beschränkung des Zugriffs für QA-Tester und macht das Testen zu einer Grauzone, in der man keine Wahl hat.
2. Wenn Sie keine Gray-Box-Tests durchführen müssen
Es gibt ein paar Momente im Testprozess, in denen Grey-Box-Tests nicht notwendig sind, und zwar zu Beginn des Entwicklungsprozesses.
Funktionstests finden statt, wenn Entwickler zunächst testen, um sicherzustellen, dass ihr Code seine grundlegenden Aufgaben erfüllt, was vollkommen transparent ist. Da kein Code und keine Dokumentation vor dem Tester verborgen ist, handelt es sich nicht um einen Grey-Box-Test.
Ein anderer Fall, in dem Sie keine Grey-Box-Tests benötigen, sind Tests am Ende der Entwicklung, wenn Sie ein vollständiges Produkt haben. Dies ist der Fall, wenn Sie den Endbenutzer beim Testen unterstützen, und wird auch als “Beta-Test” oder “End-to-End-Test” bezeichnet.
Die Benutzer testen die Anwendung ohne Zugang zu Code oder Entwurfsdokumenten, sondern nehmen die Software für sich in Anspruch. Dabei handelt es sich um eine Art Blackbox-Test, da der Prozess völlig undurchsichtig ist.
3. Wer ist an den Grey-Box-Tests beteiligt?
Es gibt mehrere Personen und Rollen, die an Grey-Box-Tests beteiligt sind, wobei einige der wichtigsten Rollen in diesem Prozess sind:
– QA-Manager:
Ein QA-Manager oder Qualitätssicherungsmanager ist ein Mitarbeiter im Softwareentwicklungsprozess, der für die Zuweisung von Aufgaben an das Testteam verantwortlich ist.
Dazu gehören die Erstellung von Dienstplänen, die Prüfung von Berichten und der Umgang mit Konflikten, die im Team auftreten.
– Tester:
Ein Tester ist ein Fachmann, der für die Durchführung der Testfälle verantwortlich ist, die Teil des Grey-Box-Testprozesses sind.
Dies erfordert ein hohes Maß an Detailgenauigkeit beim Verfassen von Berichten und beim wiederholten Durchlaufen präziser Testfälle.
– Entwickler:
Die Entwickler sind die Fachleute, die für die Erstellung des Codes und dessen Anpassung in Abhängigkeit von den Ergebnissen der Grey-Box-Tests verantwortlich sind.
Diese sind zwar nicht unbedingt an der Prüfung selbst beteiligt, erhalten aber Mitteilungen der Prüfer über die Ergebnisse.
– QA-Analyst:
Die Rolle des QA-Analysten ist bei Testverfahren mit hohem Automatisierungsgrad üblich. Ein Analyst schreibt Testfallcode für automatische Tests und analysiert außerdem die Daten, die die Tests am Ende des Prozesses zurückgeben.
Vorteile von Grey-Box-Tests
Der Einsatz von Grey-Box-Tests bei der Untersuchung von Software bietet einige wichtige Vorteile. Wenn Sie sich diese Vorteile zunutze machen, verbessern Sie den Standard Ihrer Bewerbung mit der Zeit.
Einige der Gründe, warum Unternehmen diese Form der Prüfung verwenden, sind:
1. Die Kenntnis der internen Mechanismen hilft bei der Entwicklung von Tests
Einer der Hauptvorteile des Einsatzes von Grey-Box-Tests am Arbeitsplatz ist die Tatsache, dass Sie einige der internen Mechanismen der Anwendung kennen. Dazu muss man verstehen, was die einzelnen Funktionen bewirken und welche davon Standardmodule sind, während für einige andere Funktionen ein eigener Code geschrieben wurde.
Die Kenntnis der internen Funktionalität bedeutet, dass ein Tester besser versteht, was er testet, und diese Tests auf das Design der Anwendung ausrichten kann. Die Unternehmen erhalten genauere Ergebnisse, die die Software richtig darstellen.
2. Führt zu einer sofortigen Lösung der Probleme
In einigen Fällen, wenn ein Problem in einem Test auftritt und der Tester Zugriff auf den Code hinter dem Problem hat, kann es eine sofortige Lösung für das Problem geben.
Dies steht im Gegensatz zu einer Blackbox-Testmethodik, bei der die Tester keinen Einblick in den Code hinter den Kulissen der zu prüfenden Software haben. Indem sie den Code sehen, können Tester mit viel Entwicklungserfahrung die Entwickler darauf hinweisen, wo genau das Problem liegt und wie es mit einem zukünftigen Update gelöst werden kann.
Grey-Box-Tests sparen viel Zeit, die sonst für die Untersuchung von Problemen aufgewendet würde, und helfen den Unternehmen, ihre Zeit effizienter zu nutzen.
3. Trennung von Testern und Entwicklern
Durch die Verwendung von Grey-Box-Tests wird eine klare Trennung zwischen den Entwicklern der Anwendung und den Personen, die die Software testen, erreicht.
Der Grund dafür ist, dass die Durchführung von Grey-Box-Tests voraussetzt, dass die Tester keine Kenntnisse über die Funktionsweise der Software haben, so dass der Abstand zwischen den beiden eine Notwendigkeit für genauere und unbeeinflusste Testergebnisse ist.
Tester in Grey-Box-Szenarien sind in einem völlig anderen Team als die Entwickler und liefern genaue Informationen, ohne dass bestehende Ansichten ihre Ergebnisse beeinflussen.
Auch die Entwickler profitieren davon, da sie eine kritischere Perspektive auf ihre Arbeit erhalten, die ihnen hilft, sowohl die bestehende Anwendung als auch ihre Fähigkeiten für die Zukunft zu verbessern.
Herausforderungen bei Gray-Box-Tests
Der Einsatz von Grey-Box-Tests bei der Entwicklungsarbeit hat einige wesentliche Nachteile.
Wenn Sie diese Nachteile kennen und sie nach Möglichkeit abmildern, erhöhen Sie den Gesamtstandard Ihrer Arbeit am Ende der QS-Phase.
Zu den wichtigsten Nachteilen von Grey-Box-Tests gehören:
1. Möglichkeit, dass der Code unbemerkt bleibt
Grey-Box-Tests bedeuten, dass einige Aspekte des Codes dem Tester verborgen bleiben, was im Falle von Problemen während des Tests zu weiteren Problemen führen kann.
Wenn der Code nicht sichtbar ist, haben die am Testen beteiligten Mitarbeiter Schwierigkeiten, ihre Tests so zu steuern, dass sie das Beste aus der Anwendung herausholen, und verlieren den Vorteil, die Ursache eines Problems sofort zu erkennen.
Der Prozess der Fehlerbehebung wird immer undurchsichtiger, was dazu führt, dass längere Aktualisierungszeiten notwendig werden und Unternehmen Schwierigkeiten haben, die Probleme in ihrem Code zu finden.
Die Endprodukte können aufgrund dieses unsichtbaren Codes fehlerhafter und von geringerer Qualität sein.
2. Tests können ungenau sein, wenn Operationen fehlschlagen
Genaue Tests sind ein Muss bei jeder Form von Softwaretests, denn ein höherer Grad an Genauigkeit weist die Teams auf Aktualisierungen hin, die sie in zukünftigen Versionen durchführen können, und hilft dem Entwicklungsteam, mehr Vertrauen in seine Produkte zu haben.
Diese Genauigkeit nimmt ab, wenn Operationen bei Grey-Box-Tests fehlschlagen. Wenn die Tester keinen Zugriff auf den Code haben, erhalten sie von der Software lediglich die Meldung “Operation fehlgeschlagen”, so dass sie keine Rückmeldung über die Leistung der Software geben können.
Um nützliche Metriken zu erhalten, müssen die Entwickler die Software vor der nächsten Testphase patchen. Andernfalls kann ein Tester nur feststellen, dass die Funktion in ihrer jetzigen Form nicht funktioniert.
3. Kämpfe mit verteilten Systemen
Verteilte Systeme beziehen sich auf Softwaresysteme, die an verschiedenen Orten gehostet werden oder auf Funktionen wie in der Cloud gehostete Daten und Verarbeitungsdienste angewiesen sind.
Dies macht das Testen extrem schwierig, da ein erheblicher Teil der Software hinter einem Fremdkörper verborgen ist und die Tester lediglich eine Ausgabe von einem unbekannten Prozess erhalten.
Bei Problemen mit Software, die auf Systeme von Drittanbietern zurückgreift, kann es schwierig sein festzustellen, ob das Problem mit der Anwendung selbst, der Funktionalität des Drittanbieters oder der Art und Weise, wie die beiden integriert werden, zusammenhängt, insbesondere wenn ein Tester den Code nicht sehen kann, während er arbeitet.
Merkmale von Grey-Box-Tests
Es gibt einige Merkmale, die Grey-Box-Tests miteinander gemeinsam haben, und das Erkennen dieser Tests hilft Ihnen bei der Ausarbeitung einer Strategie für Ihr Unternehmen.
Einige der wichtigsten Beispiele für die Merkmale von Grey-Box-Tests sowie die Tatsache, dass diese Merkmale wichtige Bestandteile des Grey-Box-Testprozesses sind, sind:
– Erhöhte Reichweite:
Der Zugang zu einem Teil des Quellcodes ermöglicht einen höheren Abdeckungsgrad in den Tests, wobei weitere Details eine genauere Fehlersuche ermöglichen.
– Datenströme:
Viele Grey-Box-Tests legen den Schwerpunkt auf den Datenfluss und darauf, zu verstehen, wie Informationen durch ein System fließen.
– Nicht-algorithmisch:
Grey-Box-Tests funktionieren nicht, wenn Algorithmen untersucht werden, da dies eine weitere Ebene der Verschleierung des Codes darstellt.
Was testen wir in Grey-Box-Tests?
Jede Art von Test ist am besten geeignet, wenn sie auf bestimmte Teile der betreffenden Software abzielt. Das Gleiche gilt für das Grey-Box-Testing, wobei die Methodik in einigen besonderen Teilen einer Anwendung am nützlichsten ist.
Einige Beispiele dafür, was Tester bei der Durchführung von Grey-Box-Tests bewerten, sind:
1. Sicherheit der Anwendung
Grey-Box-Tests sind ideal für Penetrationstests, die die Sicherheit einer Anwendung untersuchen. Die Prüfer können den gesamten Code einsehen und dabei nach möglichen Schwachstellen suchen.
Ethische Hacker sind die idealen Tester für das Testen der Anwendungssicherheit, da sie potenzielle Schwachstellen und Fehler in Software natürlicher erkennen als Personen, die keine Erfahrung mit der Verletzung der Softwaresicherheit haben.
2. Datenbank-Tests
Viele Unternehmen verwenden Grey-Box-Tests für Datenbanktests, da Sie die Daten durch jede Unterfunktion in der Software verfolgen können.
Die Prüfer können alle Änderungen, die die Software vornimmt, sehen und beurteilen, ob diese korrekt sind.
Dies ist eine nützliche Implementierung von Grey-Box-Tests, da Datenbanktests von Natur aus vorhersehbar sind, da Unternehmen Datenbanken eher zur Organisation bestehender Informationen als zur Generierung neuer Daten verwenden.
3. Web-Anwendungen
Webanwendungen profitieren von der Verwendung von Grey-Box-Tests aufgrund der Vielseitigkeit dieser Testmethode.
Grey-Box-Tests können für Sicherheits-, Datenbank-, Integrations-, UI- und Browsertests verwendet werden, die alle wichtige Aspekte von Webanwendungen darstellen.
Es besteht keine Notwendigkeit, die Testmethoden auf halbem Weg zu ändern, so dass Sie von einem höheren Maß an Kontinuität profitieren.
Um einige Unklarheiten zu beseitigen:
Grey Box vs. White Box vs. Black Box Prüfung
Das Grey-Box-Testen ist eine Form des Testens, die sowohl mit dem White-Box- als auch dem Black-Box-Testen verwandt ist, was bedeutet, dass es viel Potenzial für Verwechslungen zwischen den Methoden gibt.
Erfahren Sie mehr darüber, was White- und Black-Box-Tests sind und welche grundlegenden Unterschiede es zu Grey-Box-Tests in der Softwareentwicklung gibt:
1. Was ist White Box Testing?
White-Box-Tests sind eine Form von Anwendungstests, die dem Tester umfassende Informationen über die Anwendung liefern.
Dazu gehört auch der vollständige Zugang zum Quellcode und zu allen Designdokumenten der Software, was dem Tester ein viel besseres Verständnis für die Funktionsweise der Software vermittelt.
Die Tester nutzen dieses Verständnis, um mehr Probleme in der Anwendung zu erkennen und eine genauere Vorstellung davon zu bekommen, wie die Anwendung für die Benutzer funktioniert.
Ein Beispiel für den Einsatz von White-Box-Tests ist die Untersuchung des Flusses einer bestimmten Dateneingabe durch eine Anwendung, um festzustellen, wo in den Prozessen der Anwendung ein Problem auftritt, anstatt einfach nur zu sehen, ob es ein Problem gibt oder nicht.
Es gibt einige Momente im Entwicklungsprozess, in denen Unternehmen White-Box-Tests einsetzen.
Die erste davon ist die Durchführung von Unit-Tests, bei denen beurteilt wird, ob jedes einzelne Stück Code oder Modul in einem Softwarepaket die vom Entwickler erwartete Aufgabe erfüllt.
Unit-Tests helfen den Testern, die meisten Probleme in einer Anwendung zu finden, da sie die gesamte Funktionalität der Anwendung untersuchen.
White-Box-Tests helfen auch bei der Suche nach Speicherlecks. Durch die detaillierte Untersuchung des gesamten Codes findet ein QA-Analyst heraus, wo die Anwendung den Speicher des Geräts nutzt und wo sie möglicherweise zu viel davon verbraucht.
Dadurch kann die Anwendung in zukünftigen Iterationen schneller und effizienter ausgeführt werden, da das Speicherleck so schnell wie möglich gepatcht wird.
Was sind die Unterschiede zwischen Gray-Box- und White-Box-Tests?
Es gibt einige wesentliche Unterschiede zwischen White-Box- und Grey-Box-Tests, wobei der erste Unterschied im Grad der Informationen liegt, zu denen jemand Zugang hat.
White-Box-Tests haben vollen Zugriff auf den Quellcode und die Entwurfsdokumente des Programms, während Grey-Box-Tests nur teilweisen Zugriff auf einige dieser Informationen haben, vor allem auf Entwurfsdokumente.
Diese Änderung bedeutet auch, dass sich die Personen, die die Tests durchführen, unterscheiden, wobei die Entwickler selbst in erster Linie für die White-Box-Tests verantwortlich sind.
Grey-Box-Tests hingegen fallen in den Zuständigkeitsbereich eines QA-Teams, da die Tester keine intime Kenntnis des Codes haben können.
Grey-Box-Tests benötigen auch weniger Zeit als White-Box-Tests. White-Box-Tests sind End-to-End-Tests, die sowohl die Benutzerseite der Software als auch den Code selbst untersuchen. Dies dauert viel länger und bedeutet, dass ein Grey-Box-Testverfahren ein viel schnellerer Weg nach vorn ist.
White Box bietet jedoch ein größeres Automatisierungspotenzial, da die Tester wissen, wie der interne Code funktioniert.
2. Was ist Black Box Testing?
Black Box Testing bedeutet, dass ein Tester ein Softwarepaket untersucht, ohne die Funktionsweise des Systems zu kennen.
Das bedeutet, dass Sie keinen Zugang zum Code der Anwendung oder zu den verfügbaren Entwurfsdokumenten oder Unterlagen haben. Die Tester haben einfach eine Liste von Funktionen, die sie testen wollen, und eine Reihe von Testfällen, die sie abschließen müssen.
Ein Beispiel für Black-Box-Tests sind End-to-End-Tests, bei denen ein Tester das komplette Softwarepaket erhält und die gesamte Anwendung testet, um sicherzustellen, dass die Funktionalität wie vorgesehen funktioniert.
Die meisten idealen Testfälle für Black-Box-Tests stehen am Ende eines Prozesses und beziehen Kunden und ihre Sichtweise auf ein Produkt mit ein, wobei der fehlende Zugriff auf den Code jede Voreingenommenheit verhindert, die die Sicht des Benutzers beeinflusst.
Unternehmen verwenden Blackbox-Tests hauptsächlich dann, wenn alle Funktionstests einer Anwendung abgeschlossen sind. Wenn alle Unit-Tests und Funktionstests abgeschlossen sind, wissen die Entwickler, dass die Anwendung so funktioniert, wie sie es erwarten, zumindest wenn alle Module isoliert arbeiten.
Black-Box-Tests stellen sicher, dass die Gesamtanwendung nach der Kompilierung wie erwartet funktioniert, wobei der gesamte Quellcode theoretisch bereits in Ordnung ist.
Was sind die Unterschiede zwischen Grey Box und Black Box Testing?
Der Hauptunterschied zwischen Grey-Box- und Black-Box-Tests ist der Umfang des Zugriffs, den ein Tester auf Informationen erhält.
In einigen Fällen kann ein Blackbox-Tester die Anwendung ohne jegliche Vorkenntnisse der Software angehen, indem er einfach den Testprozess durchläuft und die Software wie ein normaler Benutzer verwendet.
Andererseits hat ein Grey-Box-Tester Zugang zu einigen der Entwurfsdokumente und kann so die beabsichtigte Funktion der Anwendung mit ihrer tatsächlichen Leistung vergleichen und den Entwicklern Rückmeldung darüber geben, welche spezifischen Teile der Anwendung nicht dem Standard entsprechen.
Ein weiterer Unterschied ist die Zeit, die für die Lösung eines Problems benötigt wird, wobei Grey-Box-Tests etwas mehr Zeit in Anspruch nehmen.
Der Querverweis von Dokumentation und Code mit der Art und Weise, wie Sie die Anwendung erleben, kann eine Weile dauern, was im Gegensatz zur Arbeitsweise von Black-Box-Testern steht, die einfach die Anwendung selbst zusammen mit etwaigen Funktionsproblemen untersuchen. Diese Kombination macht Black-Box-Tests zu einem idealen Verfahren am Ende eines Entwicklungsprozesses, wenn es um die Vorbereitung der Produktfreigabe geht, während Grey-Box-Tests besser funktionieren, wenn Sie sich in der UI-Entwicklungs- und Kompilierungsphase befinden.
3. Schlussfolgerung: Grey Box vs. White Box vs. Black Box-Tests
Zusammenfassend lässt sich sagen, dass White-Box-, Grey-Box- und Black-Box-Tests alle Teil desselben Spektrums sind, bei dem der unterschiedliche Faktor der Grad des Zugangs ist, den ein Tester während des gesamten Prozesses hat.
Je “schwarzer” eine Testform wird, desto undurchsichtiger wird der Test, da der Zugang zu den Informationen hinter der Software eingeschränkt ist.
White-Box-Tests sind ideal für die frühesten Phasen des Prozesses, während Black-Box-Tests sich für Phasen wie End-to-End-Tests eignen, bei denen die gesamte Anwendung aus der Sicht des Benutzers untersucht wird.
Grey-Box-Tests stellen einen Mittelweg zwischen den beiden Konzepten dar und helfen dabei, Probleme in der Mitte des Entwicklungsprozesses zu finden, indem sie einen besseren Einblick gewähren, während ein Teil des Quellcodes für den Tester verborgen bleibt.
Grey-Box-Prüftechniken
Grey-Box-Tests umfassen eine breite Palette von Techniken, von denen jede den Standard der Tests erhöht, mehr Fehler für den Entwickler findet und am Ende des Prozesses zu einem vollständigeren Produkt führt.
Zu den am häufigsten von QA-Teams verwendeten Grey-Box-Testtechniken gehören:
1. Matrix-Prüfung
Bei der Matrixprüfung wird der Statusbericht des laufenden Projekts untersucht. Dazu gehört in einigen Fällen ein einfacher PASS/FAIL-Status, während laufende Prozesse mehr Details darüber liefern, wie die Prozesse kontinuierlich funktionieren.
Während sich viele Tests auf die Eingaben und Ausgaben eines Codes konzentrieren, wird beim Matrixtest der Status der Prozesse selbst und nicht die Ergebnisse dieser Prozesse untersucht.
Der Einsatz von Matrixtests ermöglicht eine stärkere Fokussierung auf die Anwendung selbst und hilft, Fehler und Probleme zu finden, selbst wenn die Ausgaben korrekt erscheinen.
2. Regressionstests
Regressionstests dienen dazu, die Software nach einer Reihe von Aktualisierungen zu testen. Dazu gehören sowohl funktionale als auch nicht-funktionale Tests, die sicherstellen, dass die Anwendung auch bei Änderungen am Code noch auf einem ausreichend hohen Niveau funktioniert.
Tester, die Regressionstests durchführen, verwenden in der Regel eine Automatisierung, da der Umfang der Regressionstests mit der Anzahl der vom Qualitätssicherungsteam gefundenen Fehler zunimmt.
Manuelle Tests sind jedoch in einigen Fällen eine Notwendigkeit. Unternehmen, die die Benutzeroberfläche testen, verwenden manuelle Tests, um zu sehen, wie ein menschlicher Benutzer auf die Änderungen an Menüs, Schaltflächen und Navigationsoptionen reagiert.
3. Musterprüfung
Das Testen nach Mustern ist eine Form des Testens, die sich darauf konzentriert, bei jedem Test, den eine Organisation durchführt, einem bestimmten Muster zu folgen.
Die Testteams konzipieren diese Tests so, dass sie auf jede Funktion der Software abzielen, wobei jeder Test ein einheitliches Niveau an Informationen für das Unternehmen hinsichtlich der Funktionsweise der einzelnen Funktionen liefert.
Bei der Anwendung von Mustertests ist es manchmal erforderlich, das Muster im Laufe der Zeit zu ändern, um sicherzustellen, dass Sie jedes der beteiligten Systeme beurteilen können, aber sobald Sie ein funktionierendes Muster haben, sollten Sie Abweichungen vermeiden, um Ihre Ergebnisse konsistenter zu gestalten.
4. Prüfung der orthogonalen Anordnung
Orthogonale Array-Tests sind in erster Linie eine Black-Box-orientierte Testtechnik, die zum Einsatz kommt, wenn die Tester eine große Anzahl von Eingaben verwenden, die zu groß ist, um jedes einzelne System im Prozess erschöpfend zu testen.
In diesen Fällen liefert jede einzelne Dateneinheit eine eigene, einzigartige Information, da möglicherweise keine Korrelation zwischen bestimmten Informationen besteht. Dies ist der orthogonale Aspekt des Systems, bei dem einzigartige Informationen verwendet werden, um ein Maximum an Daten bei minimalem Aufwand zu liefern.
Die Testzeit wird verkürzt, und Sie verfügen über ein ideales Gleichgewicht an Daten, die Sie dem Entwicklungsteam zur Verfügung stellen können.
Grey-Box-Tests im Lebenszyklus der Softwareentwicklung
Grey-Box-Tests fallen in eine bestimmte Phase des Lebenszyklus der Softwareentwicklung. Dieser Lebenszyklus ist eine komplexe Reihe von Schritten, die Unternehmen bei der Entwicklung ihrer Produkte befolgen, wobei jeder Schritt zu einem höheren Produktstandard führt.
Während das Testen ein Teil des Prozesses ist, der ständig stattfindet, ist die Zeit für Grey-Box-Tests sehr begrenzt.
Dies geschieht, nachdem die anfängliche Funktionalität fertiggestellt und durch White-Box-Tests geprüft wurde und bevor die Software für die öffentliche Freigabe bereit ist, wobei die Unternehmen Black-Box-Tests in den letzten Stadien bevorzugen.
Grey Box ist das perfekte Werkzeug, um Funktionen zu integrieren und sicherzustellen, dass sie nicht nur unabhängig, sondern auch zusammen funktionieren.
Manuelle oder automatisierte Grey-Box-Tests?
Wie bei jeder Form des Softwaretests haben die Qualitätssicherungs-Teams die Wahl zwischen der manuellen Durchführung der Tests durch fachkundige Mitarbeiter oder der automatischen Durchführung, bei der eine Reihe von Testfällen kodiert und wiederholt durchgeführt wird, um genaue Ergebnisse zu erhalten.
Erfahren Sie mehr über manuelle und automatisierte Tests sowie über die Vorteile und Herausforderungen der beiden Testarten und darüber, welche der beiden Testformen für ein Unternehmen, das die Probleme mit seinem Produkt besser verstehen möchte, ideal ist.
Manuelle Grey-Box-Tests – Vorteile, Herausforderungen, Verfahren
Manuelles Testen ist ein grundlegender Bestandteil vieler Arten von Tests, einschließlich Grey-Box-Tests.
Dieser Prozess beinhaltet, dass menschliche Tester ein Stück Software untersuchen und prüfen, ob die Software so funktioniert, wie Sie es erwarten, und sie mit den bereits vorhandenen Designdokumenten und dem sichtbaren Code vergleichen, um zu prüfen, ob es irgendwelche offensichtlichen Fehler in diesen Informationen gibt, die Probleme verursachen könnten.
Zu den Fällen, in denen manuelle Tests üblich sind, gehören kompliziertere Softwareprodukte, die einen Menschen benötigen, um qualitative Erkenntnisse zu gewinnen.
Auch kleinere Unternehmen, die ihre Software gründlich bewerten wollen, können dies tun, da kleine Anwendungen und Pakete im Vergleich zu größeren Programmen, die von größeren Unternehmen hergestellt werden, relativ wenig Ressourcen für die Bewertung benötigen.
1. Vorteile von manuellen Grey-Box-Tests
Manuelle Grey-Box-Tests haben für jede Software mehrere Vorteile. Wenn Sie diese Vorteile kennen, können Sie Ihre Tests gezielt darauf ausrichten, mehr Probleme in Ihrer Software aufdecken und den Standard Ihrer Arbeit dank eines besseren Testsystems erhöhen.
Die wichtigsten Vorteile der manuellen Grey-Box-Tests sind:
Ausführliches Feedback
Der erste große Vorteil des manuellen Grey-Box-Tests besteht darin, dass menschliche Tester dem Entwickler ein bedeutendes Maß an Feedback geben können.
Bei automatisierten Tests sind die Testfälle so konzipiert, dass sie immer wieder ganz bestimmte Messwerte liefern, die den Analysten Aufschluss geben, wenn sie Zeit haben, die Daten zu bewerten.
Dies ist beim manuellen Testen etwas anders, da ein Tester nach einem Vergleich mit der Entwurfsdokumentation ein gründlicheres Feedback darüber geben kann, welche spezifische Funktion nicht funktioniert hat und was die möglichen Gründe für das Problem sind.
Die Verwendung von detailliertem Feedback führt nicht nur zu Aktualisierungen der bestehenden Funktionen, sondern auch zu potenziellen neuen Funktionen, die ein Tester den Benutzern empfiehlt.
Bessere Interpretationen
Automatisiertes Testen bedeutet, dass alle Schlussfolgerungen eine Frage der Bewertung der Daten sind, die man von einem Test erhält, und dass man zu einer rationalen Schlussfolgerung kommt, was das für die Software bedeutet.
Im Gegenteil, manuelle Tester haben einen viel besseren Einblick in die Funktionsweise der Anwendung selbst.
Sie können den Code der Grauzone mit den Vorgängen in Echtzeit vergleichen und in diesem Moment eine genaue Bewertung vornehmen, anstatt erst im Nachhinein Abzüge vornehmen zu müssen.
Einige Automatisierungsplattformen verfügen über eine ähnliche Funktion, die jedoch immer noch manuelle Eingriffe erfordert.
Flexible Prüfung
Bei der Testautomatisierung werden sehr spezifische Testfälle in eine Plattform kodiert, was bedeutet, dass die Software diesen spezifischen Satz von Aufgaben immer wieder ausführt.
Dies ist zwar ideal für die Wiederholung, stellt aber eine besondere Herausforderung dar, da es keine Flexibilität bei der Prüfung gibt.
Der Einsatz eines menschlichen Testers ist in diesen Fällen ideal, da er dem Prozess mehr Flexibilität verleiht. Wenn ein menschlicher Tester ein potenzielles Problem bemerkt, das leicht außerhalb eines eng definierten Testfalls liegt, kann er es untersuchen und die Ergebnisse am Ende des Prozesses melden.
Dadurch erhalten die Unternehmen eine umfassendere Abdeckung der Software und können Fehler entdecken, die ein automatisiertes System nicht finden kann.
2. Herausforderungen bei manuellen Grey-Box-Tests
Der Einsatz manueller Tests in Ihrem Softwareentwicklungsprozess hat zwar viele Vorteile, aber auch einige Nachteile. Diese hängen von einigen Faktoren ab, wie z. B. der spezifischen Software, an der das Unternehmen arbeitet, der Größe des Entwicklungsteams und dem Qualifikationsniveau der Mitglieder des Test- und Entwicklungsteams.
Zu den wichtigsten Herausforderungen bei manuellen Tests gehören:
Hohe Arbeitskosten
Die Arbeitskosten gehören zu den wichtigsten Ausgaben eines jeden Unternehmens, da es sich die besten Mitarbeiter leisten kann, um den Standard seiner Arbeit zu verbessern.
Da manuelle Graubox-Tests sehr viel Zeit in Anspruch nehmen können, muss das Unternehmen seine Tester für die Arbeit während des gesamten Prozesses bezahlen. Bei einigen der größten Anwendungen kann dies Stunden dauern und die Kosten für manuelle Tester in die Höhe treiben.
Entwickler können versuchen, dieses Problem durch ein Gleichgewicht zwischen automatisierten Grey-Box-Tests und manuellen Tests oder durch eine Reduzierung der Arbeitskosten pro Stunde abzumildern, aber dies birgt die Gefahr, dass die Testqualität sinkt.
Menschliches Versagen
Automatisierte Tests führen einfache Prozesse effektiv durch und wiederholen sie mit einem hohen Maß an Genauigkeit in einer Weise, wie es ein Mensch nicht kann.
Menschen machen Fehler und kleine Irrtümer, die von einem versehentlichen Druck auf die falsche Taste bis hin zu einer kurzen Unaufmerksamkeit reichen können.
Solche Fehler können zu ungenauen Daten führen und die Entwickler veranlassen, ihre Aufmerksamkeit auf den falschen Teil der Software zu richten, was wertvolle Entwicklungszeit kostet und das Produkt verschlechtert.
Versuchen Sie, dieses Problem zu lösen, indem Sie, wo immer möglich, Greybox-Tests wiederholen, um Ihre Ergebnisse im weiteren Verlauf der Tests zu überprüfen.
Dauert sehr lange
Während Computer Aufgaben im Handumdrehen erledigen können, brauchen Menschen ein wenig mehr Zeit.
Die Gründe dafür sind vielfältig und reichen von der Reaktionszeit bis hin zu der Tatsache, dass sie manchmal langsamer arbeiten als ihre optimale Geschwindigkeit, was den Prüfprozess verlangsamt.
Ein langsamerer Testprozess bedeutet, dass die Entwicklungsteams weniger Zeit für die Beseitigung von Fehlern und Mängeln im Produkt haben, da die gesamte Zeit darauf verwendet wird, die Probleme überhaupt erst zu finden.
Dies lässt sich nicht so einfach abmildern, wobei ein hybrides Testsystem, bei dem manuelle Tests mit automatisierten Grey-Box-Tests kombiniert werden, eine mögliche Lösung darstellt.
Gray Box Test Automation – Vorteile, Herausforderungen, Prozess
Testautomatisierung bezieht sich auf den Prozess der Verwendung einer Automatisierungsplattform, um einige Teile des Grey-Box-Testprozesses zu automatisieren.
Der Prozess funktioniert so, dass Testdesigner gebeten werden, eine Reihe von Testfällen zu erstellen, die dann von QA-Analysten oder ähnlichen Fachleuten in die Automatisierungsprogramme kodiert werden, wobei in einigen Fällen die Roboterprozessautomatisierung als weiteres Werkzeug eingesetzt wird.
In diesen Fällen verstehen die QA-Analysten bereits einen Teil des Codes oder der Designdokumente.
Diese Art des Testens ist bei sehr viel größeren Softwarepaketen üblich, da die Grey-Box-Tester nicht die Zeit haben, alle Aspekte des Prozesses manuell gründlich zu testen.
Nach einem automatisierten Prozess liefert die Plattform einen Bericht für den QA-Analysten, in dem die Fehler und eine Reihe von wichtigen Metriken vermerkt sind.
1. Vorteile von automatisierten Grey-Box-Tests
Der Einsatz von automatisierten Grey-Box-Tests in den Prozessen eines Qualitätssicherungs-Teams hat einige klare Vorteile.
Wenn sich ein Unternehmen auf diese Vorteile konzentriert und sie optimal nutzt, kann es die Wirksamkeit seiner Grey-Box-Tests erhöhen und so viele Probleme wie möglich in dieser Phase des Arbeitsablaufs lösen.
Zu den wichtigsten Vorteilen der Automatisierung Ihrer Grey-Box-Tests gehören:
Schnelle Prüfung
Automatisierte Systeme sind darauf ausgelegt, unglaublich schnell zu testen und eine Reihe von Prozessen so schnell wie möglich zu durchlaufen. Dieser Vorteil wird noch deutlicher bei der Durchführung wiederholter Graubox-Tests, da jeder einzelne Durchlauf weniger Zeit in Anspruch nimmt.
Die Zeitersparnis von Lauf zu Lauf steigt beträchtlich, und Ihr Unternehmen hat viel mehr Zeit für dringende Aufgaben wie die Aktualisierung der Software selbst und die Bereitstellung von Feedback für Kunden und potenzielle Kunden.
Schnelleres Testen ist besonders nützlich, wenn nach der Veröffentlichung gearbeitet wird, da die schnellstmögliche Bereitstellung von Funktionskorrekturen ein Muss ist, um die Wahrnehmung des Unternehmens zu verbessern.
Genaue Metriken
Metriken sind ein wesentlicher Bestandteil der Funktionsweise von Softwaretests, da sie den Testern numerische Informationen liefern, die auf mögliche Probleme hinweisen.
Computer und Automatisierungsplattformen bieten hochpräzise Metriken, wobei Dinge wie Reaktionszeiten bis auf die Millisekunde genau gemessen werden können.
Genauere Metriken bedeuten, dass Sie kleine Veränderungen in der Leistung einer App verfolgen können. So können Sie feststellen, ob ein Update die Leistung verbessert oder dazu geführt hat, dass Standard-Workflows mehr Zeit in Anspruch nehmen.
Geringere Kosten
Einer der größten Kostenfaktoren beim Testen in einer Software-Grey-Box-Entwicklungsumgebung sind die Kosten für die Grey-Box-Tester selbst.
Die Einstellung von Software-Testexperten ist kostspielig, vor allem, wenn Sie nach Grey-Box-Testern suchen, die eine größere Bandbreite an Fähigkeiten benötigen, um die höchstmöglichen Standards für Ihr Unternehmen zu erfüllen.
Automatisierung bedeutet, dass weniger Menschen manuelle Grey-Box-Tests durchführen müssen, wodurch eine Menge Personalkosten aus dem Prozess herausfallen.
Automatisierungsplattformen sind zwar mit gewissen Kosten verbunden – die meisten verlangen ein monatliches Abonnement -, diese sind jedoch weitaus geringer als die Kosten für Mitarbeiter, die die Arbeit für Sie erledigen.
2. Herausforderungen bei automatisierten Grey-Box-Tests
Es gibt viele Herausforderungen bei der Verwendung von Automatisierung in Ihren Grey-Box-Testprozessen.
Während einige Organisationen sich auf die Vorteile konzentrieren, gibt es viele Vorteile, wenn man die Herausforderungen von Graubox-Tests kennt und sie bei der Arbeit berücksichtigt.
Sie können Grey-Box-Tests auf eine Weise implementieren, die diese Herausforderungen vermeidet und verhindert, dass Sie in Zukunft mit Einschränkungen zu kämpfen haben.
Die wichtigsten Herausforderungen bei automatisierten Grey-Box-Tests sind:
Ersteinrichtung
Die Ersteinrichtung ist eine der größten Herausforderungen des Automatisierungsprozesses. Dies bezieht sich auf die Zeit, die für die Umstellung auf eine neue Testplattform benötigt wird, einschließlich der Installation der Plattform, der Einweisung der Benutzer in die Bedienung und der Programmierung der ersten Tests mit der Software.
All dies ist unproduktive Zeit, die ein Unternehmen so weit wie möglich begrenzen möchte.
Die Verwendung von Premium-Automatisierungssoftware mit Experten, die Ihnen bei Bedarf zur Seite stehen, ist in diesem Fall ideal, da Sie Unterstützung von dritter Seite erhalten, um sicherzustellen, dass Ihre Grey-Box-Automatisierung und andere Arten von Tests von Anfang an reibungslos ablaufen.
Hohe Qualifikationsanforderungen
Obwohl das manuelle Testen ein hohes Maß an Fähigkeiten erfordert, müssen QA-Analysten, die mit der Automatisierung arbeiten, immer noch ein hohes Maß an Fähigkeiten besitzen.
Dies geschieht in Form von Programmierkenntnissen, die in erster Linie für die Erstellung von Testfällen und das Lesen des Codes, der im Grey-Box-Szenario verfügbar ist, benötigt werden.
Entwickler können dies abmildern, indem sie gezielt Tester einstellen, die über Entwicklungserfahrung verfügen oder in der Vergangenheit mit Kodierungsprojekten gearbeitet haben. Sie begrenzen die Einarbeitungszeit am Arbeitsplatz und stellen sicher, dass jeder neue Mitarbeiter in der Lage ist, sich an die Anforderungen der automatisierten Grey-Box-Tests anzupassen.
Einige Unternehmen wollen alternativ dazu ein kodierungsfreies Automatisierungssystem für Graubox-Tests einsetzen, was jedoch zu einer geringeren Flexibilität am Arbeitsplatz führen kann.
Ständige Aufsicht
Automatisiertes Testen existiert teilweise, um den Schwerpunkt von der Abhängigkeit von Menschen zu nehmen, da manuelle Tests eine ständige menschliche Beteiligung an Prozessen erfordern.
Das soll bei der Testautomatisierung nicht der Fall sein, aber die Unternehmen müssen trotzdem ein gutes Maß an Aufsicht haben.
Die Überwachung umfasst die Prüfung der Ergebnisse der Grey-Box-Tests und deren Pflege, um sicherzustellen, dass alles noch so funktioniert, wie es der Entwickler erwartet.
Die Unternehmen können auf verschiedene Weise dazu beitragen, den Standard der Aufsicht zu verbessern, wobei eine einzige Fachkraft, die für die Aufsicht über die Tests verantwortlich ist, ideal ist.
Dies führt zu einer stärkeren Spezialisierung, da dieser Mitarbeiter schneller und effektiver zu einem Grey-Box-Expertentester wird, der mit Automatisierung arbeitet.
Schlussfolgerung: Manuelle oder Grey-Box-Testautomatisierung?
Zusammenfassend lässt sich sagen, dass manuelle Grey-Box-Tests und automatisierte Tests beide ihren Platz im Softwaretestprozess haben.
Kleinere Unternehmen und Start-ups profitieren von der Implementierung manueller Grey-Box-Tests, wenn ihr Code relativ klein und überschaubar ist, wobei die Automatisierung immer nützlicher wird, je größer die Anwendungen werden und je mehr Funktionen sie haben.
Dennoch wird es immer einen Platz für manuelle Tests geben, da sie den Unternehmen einen besseren Einblick, mehr Details und mehr Flexibilität bieten.
Die ideale Grey-Box-Lösung für jedes Unternehmen ist ein Hybridmodell, bei dem manuelle und automatisierte Tests an verschiedenen Stellen eingesetzt werden, um die Stärken und Schwächen beider Techniken zu berücksichtigen.
Ein ganzheitlicher Ansatz deckt mehr Probleme eines Softwarepakets auf, was dazu beiträgt, die Software effektiver zu reparieren und den Kunden am Ende der Entwicklung ein viel besseres Produkt zu liefern.
Was brauchen Sie, um mit Grey-Box-Tests zu beginnen?
Es gibt einige Voraussetzungen, die Unternehmen erfüllen müssen, bevor sie mit ihren Grey-Box-Tests beginnen. Diese ermöglichen entweder den Testprozess oder vereinfachen das Testen von Software für das Qualitätssicherungs-Team, da es mehr Ressourcen zur Verfügung hat.
Zu den Voraussetzungen für die Durchführung von Grey-Box-Tests gehören:
1. Entwurfsunterlagen oder Quellcode
Das erste, was Sie brauchen, um mit dem Graubox-Testprozess zu beginnen, ist entweder die Entwurfsdokumentation oder der Quellcode. Die Tester müssen in der Lage sein, auf diese Informationen zuzugreifen, damit der Test als Grey-Box-Test betrachtet werden kann, der einen gewissen Einblick in die innere Funktionsweise der Software selbst bietet.
Diese Informationen sollten so relevant wie möglich sein, z. B. der Code-String für die spezifische Funktion, die der Prüfer untersucht.
Wenn Sie Grey-Box- statt White-Box-Tests durchführen, stellen Sie nur einen Teil des Codes und der Entwurfsdokumentation zur Verfügung.
2. Produktinformation
Ein Produktbriefing oder Anwendungsbriefing ist ein Dokument, das Unternehmen verwenden, um ein umfassendes Verständnis dafür zu bekommen, was ein Kunde von einem Softwarepaket erwartet. Darin werden die genaue Funktionalität, die der Kunde von der Software erwartet, das von ihm gewünschte Design und alle anderen erforderlichen Spezifikationen detailliert beschrieben.
Das Lesen eines Produktbriefs bedeutet, dass ein Grey-Box-Tester nach allen vom Kunden gewünschten Funktionen suchen und sicherstellen kann, dass diese in der Software enthalten sind und dass das Produkt alle Ziele erfüllt, die ein Unternehmen mit seiner Anwendung verfolgt.
Einige Unternehmen beschränken den Umfang der Informationen, die Gray-Box-Tester einsehen können, je nach den Vertraulichkeitsrichtlinien des Unternehmens.
3. Ziele testen
Entwickler und Unternehmen haben bei der Durchführung von Tests bestimmte Ziele, die manchmal auch als Testspezifikation bezeichnet werden. Dies ist für den Grey-Box-Testprozess von großer Bedeutung, da es bedeutet, dass die Entwickler den Grey-Box-Testern alle richtigen Informationen zur Verfügung stellen können, während das Qualitätssicherungsteam Tests entwickelt, die den Zielen des Testprozesses entsprechen.
In diesem Fall arbeiten alle effektiver, da sie wissen, was sie suchen und wie sie diese Ziele am besten erreichen können.
Grey-Box-Testverfahren
Grey-Box-Tests folgen einem relativ konsistenten Prozess mit klaren Schritten, in denen die einzelnen Phasen vermerkt sind, die ein Unternehmen durchlaufen muss, um seine Testziele zu erreichen.
Die klare und konsequente Befolgung des Prozesses liefert genaue und konsistente Ergebnisse, die die Entwickler darüber informieren, wo die Probleme liegen und wie sie gelöst werden können.
Die wichtigsten Schritte bei einem Grey-Box-Test sind:
1. Bestimmung der Inputs und Outputs
Der erste Schritt im Prozess ist die Bestimmung der Eingaben und Ausgaben, die Sie von der Anwendung erwarten.
Wählen Sie eine Eingabe, die innerhalb der Grenzen dessen liegt, was von der Anwendung normalerweise erwartet werden kann, um einen fairen Test zu ermöglichen, und ermitteln Sie die Ausgabe, die Sie von dieser Eingabe erwarten.
Wenn Sie diese Vorhersage zu Beginn des Projekts durchführen, wissen Sie am Ende der Tests, ob etwas schief gelaufen ist.
2. Identifizierung der primären Ströme
Primäre Datenflüsse sind die Wege, die die Daten in einer Software zurücklegen, um ihre endgültige Ausgabe zu erreichen.
Die Identifizierung des primären Datenflusses bedeutet, dass Sie die Art und Weise, wie die Informationen die Prozesse einer Software durchlaufen, besser verfolgen können.
3. Identifizieren Sie Unterfunktionen mit Inputs und Outputs
Unterfunktionen sind Grundoperationen innerhalb eines Primärflusses. Jede Unterfunktion wird von einer anderen gespeist und fließt in die nächste ein, was schließlich zu einer endgültigen Ausgabe der Software führt.
Legen Sie fest, wie der Input für jede Unterfunktion aussehen soll, sowie den prognostizierten Output für jede Funktion.
Wenn Sie dies auf der Ebene der Unterfunktionen tun, erhalten Sie einen zusätzlichen Einblick in die Lokalisierung von Softwareproblemen.
4. Entwickeln Sie einen Testfall
Ein Testfall bezieht sich auf eine Reihe von Ereignissen, die in der Software auftreten und mit denen untersucht wird, ob die Anwendung so funktioniert, wie Sie es erwarten.
Vergewissern Sie sich, dass dieser Grey-Box-Testfall den Teil der Software, den Sie betrachten, richtig untersucht.
Achten Sie auch auf Konsistenz und stellen Sie sicher, dass der Testfall leicht zu wiederholen ist, um präzisere Ergebnisse aus Ihrem Graubox-Test zu erhalten.
5. Führen Sie den Testfall aus
Starten Sie die Ausführung des Testfalls.
Dabei werden die Eingaben in jede der Unterfunktionen eingegeben und die Ergebnisse notiert.
Bei automatisierten Grey-Box-Tests erfolgt die Aufzeichnung automatisch, wobei die manuellen Tester alle Eingaben und Ausgaben selbst aufzeichnen.
Wenn möglich, sollten Sie alle Teilfunktionen einzeln testen, bevor Sie den gesamten Ablauf auf einmal ausführen, um zu prüfen, ob jede Funktion unabhängig voneinander funktioniert.
6. Überprüfen Sie die Ergebnisse
Nachdem Sie die Daten aus dem Testfall erhalten haben, beginnen Sie damit, diese Ergebnisse zu überprüfen.
Das bedeutet, dass Sie die Ergebnisse, die Sie von der Software erhalten, mit den Ergebnissen vergleichen, die Sie zu Beginn des Prozesses erwartet haben.
Wenn es einen Unterschied zwischen den beiden gibt, deutet dies darauf hin, dass es einen Fehler in der Software gibt, da sie nicht so funktioniert, wie Sie es ursprünglich erwartet haben.
7. Einen Bericht erstellen
Erstellen Sie am Ende des Grey-Box-Tests einen Bericht über die Ergebnisse des Tests.
Dazu gehört eine grundlegende Zusammenfassung der Probleme mit der Software, eine Bewertung möglicher Lösungen für die Probleme und, soweit möglich, alle Daten, die bei den Tests erzeugt wurden.
Die Verwendung dieser Struktur gibt dem Leser eine Lektion in Form einer Überschrift, bevor er alle erforderlichen Nachweise erhält, so dass es sich letztendlich um ein zusammenhängendes Dokument handelt, das viele Anhaltspunkte bietet.
Bewährte Praktiken für Greybox-Tests
Best Practices bezeichnen Prozesse, Aufgaben und Prinzipien, die Mitarbeiter in einem QA-Test ausführen, um die höchstmöglichen Standards zu erreichen.
Einige dieser Best Practices für QA-Teams, die den Standard ihrer Arbeit erhöhen möchten, sind:
1. Sorgfältig arbeiten
Wie bei jeder Testmethode sollten Sie sich Zeit nehmen und sorgfältig arbeiten. Ein einziger Fehler kann einen Test ungültig machen. Wenn Sie also langsam und beharrlich arbeiten, um sicherzustellen, dass Ihre Arbeit korrekt ist, sparen Sie langfristig Zeit und verbessern gleichzeitig den Standard der Software. Dies gilt insbesondere für Grey-Box-Tests, da Sie nicht wissen, mit welchen Teilen des Quellcodes Sie gerade arbeiten.
2. Ständig kommunizieren
Es sollte eine ständige Kommunikationskette zwischen Entwicklern und Grey-Box-Testern bestehen. So erhalten die Entwickler sofortiges Feedback zu allen Fehlern, die das Testteam entdeckt, und die Tester wissen, worauf sie achten müssen.
Wenn der Fehler Teil des sichtbaren Teils des grauen Kastens ist, teilen Sie den Entwicklern mit, wo genau er sich befindet.
3. Setzen Sie strenge Grenzen
Wenn bei Grey-Box-Tests künstliche Informationsbeschränkungen verwendet werden, bei denen das Unternehmen selbst entscheidet, welche Informationen den Testern zur Verfügung gestellt werden, sollten Sie sicherstellen, dass Sie strenge Grenzen setzen.
Geben Sie dem QA-Team nur die Berechtigungen, die es braucht, oder Sie riskieren, dass es “hinter den Vorhang schaut” und einige der Quellcodes oder Entwicklungsdokumente sieht, die Sie eigentlich geheim halten wollen.
7 Fehler und Fallstricke bei der Durchführung von Grey-Box-Tests
Bei Hunderttausenden von Anwendungen, die jedes Jahr den Testprozess durchlaufen, gibt es einige Fehler und Fallen, in die QA-Teams tappen.
Wenn Sie über diese Probleme Bescheid wissen, können Sie sie wirksam vermeiden, Ihre Arbeit verbessern und die Gefahr der Verschwendung von Ressourcen für schlechte Teststrategien verringern.
Zu den häufigsten Fehlern und Fallstricken bei Grey-Box-Tests gehören:
1. Prüfung verteilter Systeme
Für Grey-Box-Tests ist der Zugang zum Quellcode erforderlich, und verteilte Server verwenden Code von anderen Standorten. Dies führt zu Problemen bei Grey-Box-Tests, da es Probleme gibt, die die Tester möglicherweise nicht erkennen können.
2. Abschluss der inkonsistenten Tests
Inkonsistentes Testen bezieht sich auf eine Situation, in der ein Testfall von Lauf zu Lauf variiert. Dies kann zu ungenauen Ergebnissen führen, so dass sich die Entwickler dann auf die Verbesserung der Leistung auf der Grundlage falscher Messwerte konzentrieren.
Führen Sie nach Möglichkeit jeden Test identisch durch, um die Präzision und Genauigkeit der Tests zu erhöhen.
3. Hetzen durch Tests
Wenn ein Termin für die Produktfreigabe näher rückt, können QA-Teams versucht sein, die Grey-Box-Tests zu überstürzen.
Dies ist jedoch ein Zeichen für schlechte Planung und sollte nicht mit weiteren Fehlentscheidungen beantwortet werden. Überstürzte Tests führen zu ungenauen Ergebnissen und Zeitverschwendung in der späteren Entwicklungsphase.
4. Keine gleichzeitige Umsetzung von manuellen und automatisierten Verfahren
Weder manuelle Tests noch automatisierte Tests sind perfekte Methoden für Grey-Box-Tests.
Wenn Sie beide nebeneinander verwenden, können Sie die Probleme beider Seiten berücksichtigen und letztlich effektiver arbeiten.
Zumindest sollte man in Erwägung ziehen, die beiden Methoden zu kombinieren, um bessere Tests durchzuführen.
5. Arbeiten ohne Werkzeug
Die Testwerkzeuge sind so konzipiert, dass sie die Arbeit als Grey-Box-Tester so einfach wie möglich machen. Wer ohne Hilfsmittel arbeitet, schränkt seine eigenen Möglichkeiten unnötig ein.
Recherchieren Sie gründlich und erwerben Sie alle Hilfsmittel, die Ihnen bei der Entwicklung helfen können, um die Effizienz zu steigern und das Fehlerpotenzial zu verringern.
6. Schlechte Kommunikation
Die interne Kommunikation zwischen den Abteilungen kann schwierig sein, aber eine möglichst klare Kommunikation zwischen den Test- und Entwicklungsabteilungen ist ein Muss.
Bessere Kommunikation bedeutet, dass die Entwickler wissen, welche Verbesserungen sie sofort vornehmen müssen, und dass sie Probleme beheben können, ohne durch unzureichende interne Mitteilungen in die Irre geführt zu werden.
7. Aktive Suche nach Fehlern
Grey-Box-Tests dienen dazu, eventuelle Fehler zu finden, aber auch die allgemeine Leistungsfähigkeit der Software zu prüfen.
Wenn man sich zu lange mit der Fehlersuche beschäftigt, kann das viel Zeit in Anspruch nehmen und vom Hauptziel, der Verbesserung der Funktionsweise einer App, ablenken.
Arten von Ergebnissen aus Gray-Box-Tests
Grey-Box-Tests erzeugen am Ende eines Prozesses verschiedene Arten von Informationen. Dies bezieht sich nicht auf die Ergebnisse der Software selbst, sondern auf die Daten, die die Entwickler zur Verbesserung der Software nutzen können.
Die wichtigsten Arten der Ausgabe sind:
1. PASS/FAIL-Meldungen
Eine einfache PASS/FAIL-Meldung, die den Entwickler darüber informiert, ob die Softwareoperation erfolgreich war.
Diese Art von Ausgabe gibt einem Entwickler nicht viel Aufschluss, aber der Einsatz von Grey-Box-Tests bedeutet, dass ein Tester sehen kann, an welchem bestimmten Punkt die Software versagt hat und warum, und hilft so, das Problem zu lösen.
2. Metriken
Metriken beziehen sich auf einfache Statistiken, die ein Ereignis abbilden, z. B. die Zeit, die für die Ausführung einer bestimmten Aufgabe benötigt wird, auf die Millisekunde genau. Diese sind bei automatisierten Grey-Box-Tests üblich, bei denen Computerplattformen diese Informationen automatisch und mit höherer Präzision erfassen, als es ein manueller Tester könnte.
Diese Informationen sind nützlich, um die Leistung einer App zu ermitteln.
3. Qualitative Daten
Beschreibende Informationen, die Sie von einem Gray-Box-Tester aufgrund seiner Erfahrungen mit der Software erhalten. Nicht quantifizierbar, was die Analyse erschwert, aber einen besseren Einblick in die Benutzererfahrung ermöglicht und die Kunden mit der Software zufriedener macht.
Beispiele für Grey-Box-Tests
In manchen Fällen reicht es nicht aus, die Theorie über eine bestimmte Form der Prüfung zu kennen, um sie richtig zu verstehen. Die Kenntnis einiger Beispiele für Grey-Box-Tests ist wichtig, um die Funktionsweise der Testmethodik besser zu verstehen.
Nachfolgend finden Sie einige Beispiele für Grey-Box-Tests, die mehr Details über Tests in der realen Welt und die Anwendung der Theorie auf praktische Arbeitsplätze liefern.
1. Beispiel für erfolgreiche Sicherheitstests
Ein Unternehmen erstellt eine Datenbank mit vielen personenbezogenen Daten und plant Sicherheitstests, um sicherzustellen, dass die Benutzerdaten geschützt sind.
Ein manueller Tester durchläuft den Prozess und sucht nach potenziellen Fehlern im Code und Möglichkeiten, auf Teile der Anwendung zuzugreifen.
Nachdem der Tester eine Schwachstelle gefunden hat, informiert er den Entwickler darüber, wo die Schwachstelle liegt und wie sie ausgenutzt wurde.
Wenn die Software gepatcht ist, führt der Prüfer den gleichen Test erneut durch, um sicherzustellen, dass das System sicher ist.
2. Beispiel eines fehlgeschlagenen Datenbanktests
Entwickler, die eine Datenbank erstellen, haben einen engen Termin für die Veröffentlichung und müssen schnell testen.
Die Tester stellen in aller Eile ein paar einfache Testfälle zusammen und führen sie schnell aus. Dabei machen sie Fehler bei der Ausführung, erstellen keine Vorhersagen für die Ausgabe und versäumen es, Teilfunktionen zu untersuchen.
Da sie keine Ausgabeprognosen erstellen, erkennen sie keine Ausgabeprobleme und liefern ein Produkt, das nicht richtig funktioniert.
Arten von Fehlern und Bugs, die durch Grey-Box-Tests entdeckt werden
Eines der Hauptziele von Grey-Box-Tests ist das Auffinden von Fehlern und Bugs in einem Programm, wobei die Unternehmen bestrebt sind, möglichst hochwertige Anwendungen zu liefern, auf die sich ihre Kunden verlassen können.
Es gibt einige spezifische Arten von Fehlern und Bugs, die Tester im Grey-Box-Testing-Prozess finden können, von denen jeder auf ein anderes Problem mit dem Code hinweisen kann.
Zu den Arten von Fehlern und Bugs, die bei Grey-Box-Tests entdeckt werden, gehören:
1. Prozessfehler
Die erste Form des Fehlers ist ein Prozessfehler.
Dies ist der Fall, wenn der Test kein Ergebnis liefert und einfach abstürzt.
Es gibt mehrere potenzielle Ursachen für diese Probleme, und im Idealfall kann ein Grey-Box-Tester feststellen, woher ein Problem kommt und wie ein Entwickler eine Antwort kodieren kann.
2. Falsche Ausgabe
Einige Fehler bei Grey-Box-Tests treten auf, wenn die Ausgabe eines Prozesses nicht derjenigen entspricht, die die Entwickler erwarten.
Dies ist ein ernsthaftes Problem in Fällen wie einer Datenbank, in der die sichere Speicherung korrekter Informationen eine Notwendigkeit ist.
3. Sicherheitsfehler
Sicherheitsfehler treten auf, wenn die Anwendung eines Unternehmens etwas unsicher ist und Dritten den Zugang zu den darin enthaltenen Informationen ermöglicht.
Sicherheitsmängel in einer Anwendung können ein GDPR-Problem darstellen und dazu führen, dass die Anwendung nicht mit einer Reihe von internationalen Vorschriften übereinstimmt.
Gemeinsame Metriken für Grey-Box-Tests
Metriken beziehen sich auf konstante Messungen, die ein bestimmtes Ereignis oder eine Reihe von Ereignissen untersuchen, üblicherweise in Form von quantitativen Daten.
Durch die Verwendung von Metriken können Tester und Qualitätssicherungs-Teams die Software, die einem Greybox-Test unterzogen wird, untersuchen und genau sehen, was schief läuft, sei es in Form von mehr Fehlern oder einer längeren Ladezeit für verschiedene Funktionen.
Zu den gängigsten Graubox-Testmetriken, die QA-Tester bei der Bewertung von Software verwenden, gehören:
– Zeit bis zur Ausgabe:
Die Zeit, die die Anwendung benötigt, um nach dem Start des Tests eine Ausgabe zu erzeugen.
– Zeit bis zur Antwort:
Die Zeit, die die Software benötigt, um auf Benutzereingaben zu reagieren, sei es in Form eines Ergebnisses oder einer einfachen Bestätigung der Eingabe.
– Anzahl der Fehler:
Die reine Anzahl der Fehler, die die Software in ihren Prozessen hat.
– Fehler pro Funktion:
Die Anzahl der vorhandenen Fehler geteilt durch die Anzahl der Funktionen in der Software, die zur Ermittlung der Fehlerdichte verwendet wird.
Beste Grey Box Testing Tools
Grey-Box-Tests können sich auf externe Tools stützen, um die Qualität Ihrer Arbeit zu verbessern, indem sie einen Teil der Prozesse automatisieren und Sie bei der Behebung von gefundenen Fehlern unterstützen.
Je besser das von Ihnen verwendete Testwerkzeug ist, desto mehr Probleme werden Sie aufdecken und desto besser wird der Standard Ihres Endprodukts sein, während Sie gleichzeitig Zeit und Ressourcen während des Tests sparen.
Im Folgenden finden Sie einige der besten Grey-Box-Tools sowie die Vor- und Nachteile der einzelnen Plattformen.
Die 5 besten kostenlosen Grey Box Testing Tools
Wenn ein kleineres Unternehmen mit Graubox-Tests beginnen möchte, ist es wichtig, die richtigen Tools zur Verfügung zu haben, aber genauso wichtig ist es, sie zu einem vernünftigen Preis anzubieten. In einem kleinen Unternehmen zählt jeder Cent, und bei einem App-Entwickler ist das nicht anders, denn knappe Budgets führen zu schwierigen Entscheidungen.
Die Verwendung kostenloser Grey-Box-Testing-Tools ist ideal für die Qualitätssicherung mit minimalen Ressourcen.
Einige der besten kostenlosen Grey-Box-Test-Tools sind:
1. ZAPTEST FREE EDITION
Die kostenlose Edition von ZAPTEST bietet seinen Nutzern eine qualitativ hochwertige Automatisierungserfahrung mit Full-Stack-Software-Automatisierung, die das Testen vom Beginn der Entwicklung an unterstützt.
Mit der parallelen Ausführung können Sie mehrere Tests gleichzeitig durchführen, um Ihre Prozesse zu beschleunigen, und wenn Sie bereit sind, den Sprung auf die nächste Stufe zu wagen, macht die Enterprise Edition den Übergang so einfach wie möglich. Als zusätzlichen Vorteil bietet ZAPTEST auch modernste RPA-Technologie an, ohne zusätzliche Kosten.
Die perfekte Wahl für jemanden, der sich noch in der Anfangsphase seiner Prüfung befindet.
2. Appium
Appium ist ein gründliches Testtool, mit dem sichergestellt werden kann, dass mobile Anwendungen den Standards entsprechen. Appium hat eine aktive Support-Community, führt die Tests aber relativ langsam aus. Gepaart mit einer schwierigen Einrichtung ist dies für viele Unternehmen nicht das beste kostenlose Tool.
3. Chrome Entwicklungswerkzeuge
Google Chrome bietet eine Reihe von Entwicklungstools für Webanwendungen, und mit der Integration in den beliebtesten Browser scheint dies ein Muss zu sein.
Es ist jedoch auf das Testen von Box-Elementen beschränkt, was es zu einem restriktiven Testwerkzeug macht.
4. JUnit
JUnit ist ein Open-Source-Framework, mit dem Benutzer wiederholbare Tests immer und immer wieder in Java durchführen können, wobei es auf eine einzige Sprache beschränkt ist.
An sich ist diese Beschränkung kein Problem, aber das Fehlen einer einfachen API und Schnittstelle kann für neue Tester abschreckend wirken.
5. DBUnit
DBUnit konzentriert sich auf die Unterstützung datenbankorientierter Projekte, wobei bekannte Zustände verwendet werden, um die Ergebnisse genau zu überprüfen und die Ergebnisse umfassend zu untersuchen.
Dies ist perfekt für Datenbanken und ähnliche Anwendungen, aber die fehlende Integrationsunterstützung bedeutet, dass es bei plattformübergreifenden Aufgaben Schwierigkeiten hat.
Die 5 besten Enterprise Grey Box Testing Tools
Mit dem Wachstum eines Entwicklers steigen auch seine Testanforderungen. Größere Unternehmen haben größere Anwendungen und benötigen daher umfangreichere Testsuiten.
Um Unternehmen in dieser Situation zu unterstützen, gibt es Grey-Box-Tools für Unternehmen, die mehr Zugang zu fortgeschrittenen Funktionen bieten, die Hobby- und Kleinentwickler möglicherweise nicht benötigen.
Einige der besten Testwerkzeuge für Unternehmen zur Durchführung eines Grey-Box-Tests sind:
1. ZAPTEST ENTERPRISE EDITION
Die Enterprise Edition von ZAPTEST bietet mehr Testmöglichkeiten als die kostenlose Version, wobei einer der Hauptvorteile der ständige Zugang zu einem ZAP-Experten ist. Ein ZAP-Experte fungiert quasi als Berater und Mitglied Ihres Teams auf einer Remote-Basis und unterstützt alle Testanforderungen Ihres Unternehmens.
Entwickler, die in die ZAPTEST Enterprise Edition investieren, können dank fortschrittlicher Computer-Vision-Technologien, 1SCRIPT, plattform-, geräte- und browserübergreifender Ausführung und vor allem unbegrenzter Lizenzen eine bis zu zehnfache Rendite ihrer Investition erzielen.
Die unbegrenzten Lizenzen sowie die fortschrittlichste Test- und RPA-Technologie bedeuten, dass Unternehmen von festen Kosten profitieren, unabhängig davon, wie schnell und wie stark sie wachsen.
2. TestRail
Eine Lösung zur Verwaltung von Testfällen, die es Ihnen ermöglicht, alle durchgeführten Tests nach Testfällen aufzuteilen und die Daten genauer zu erfassen.
TestRail ist jedoch nicht unbedingt ideal für Grey-Box-Tests, da es Schwierigkeiten hat, manuelle Tests mit der automatischen Aufzeichnung von Tests in Einklang zu bringen.
3. Testim
Eine Testplattform, die sich darauf konzentriert, stabile kundenspezifische Tests anzubieten, die sowohl kodierte Testfälle als auch nicht kodierte Alternativen implementieren.
Da dies nur für eine bestimmte Anzahl von Tests pro Monat kostenlos ist, ist es für größere Unternehmen schwierig, diese Plattform optimal zu nutzen.
4. TestRigor
TestRigor ist eine weithin anerkannte Plattform, die eine KI-Engine zur Durchführung von Tests verwendet, wobei die KI-Testwartung eine der attraktivsten Funktionen ist.
Dies hat jedoch einen erheblichen Preis, denn andere Plattformen bieten eine bessere Investitionsrendite.
5. Kobiton
Kobiton ist eine relativ flexible Testplattform, die nach Abschluss einer kostenlosen Testphase Tests pro Benutzer automatisiert.
Eine Sorge, die einige Nutzer im Zusammenhang mit Kobiton haben, ist ein relativer Mangel an Unterstützung durch Kobiton, wenn es um die Lösung von Testerfragen geht.
Wann sollten Sie Enterprise- vs. Freemium-Grey-Box-Tools verwenden?
Sowohl Enterprise- als auch Freemium-Grey-Box-Tools bieten ihren Nutzern eine Fülle von Vorteilen. Unternehmen beginnen idealerweise mit einem Freemium-Produkt, um sich mit dem Testprozess vertraut zu machen, und steigen dann bei steigendem Bedarf auf eine Enterprise-Edition um.
Dadurch wird ein gewisses Maß an Kontinuität in das Projekt eingebracht und die Anzahl der Umschulungen für das Personal begrenzt.
Der Umstellungszeitpunkt ist von Unternehmen zu Unternehmen unterschiedlich, aber ab einem bestimmten Zeitpunkt wird die Rentabilität eines Unternehmensprodukts unumgänglich.
Checkliste für Grey-Box-Tests, Tipps und Tricks
Die Durchführung von Grey-Box-Tests ist ein ziemlich komplexer Prozess. Eine Checkliste, an der Sie sich orientieren können, gibt Ihnen die Gewissheit, dass Sie alles getan haben, was Sie für die Tests brauchen.
Zu den wichtigsten Merkmalen einer Grey-Box-Checkliste gehören neben einigen Tipps zur Verbesserung der Qualität Ihrer Tests folgende Punkte:
1. Gründliche Planung
Umfassende Planung ist eines der ersten Dinge, die man bei einer Prüfung abhaken sollte, da man sicherstellen muss, dass man absolut jeden Aspekt einer Prüfung plant.
Je mehr Sie planen, desto strukturierter sind Ihre Tests, da die Mitarbeiter wissen, welche Tests sie wann durchführen.
Dies führt auch zu konsistenten Daten, was ideal für bessere Entwicklerlösungen ist.
2. Sofortige Datenmeldung
Versuchen Sie bei der Arbeit an einem Grey-Box-Testverfahren, die Daten sofort zu melden. Indem Sie Berichte so schnell wie möglich erstellen, erhöhen Sie die Genauigkeit Ihrer Berichtsprozesse, da Sie alle Informationen noch frisch im Kopf haben.
Dies gilt insbesondere für qualitative Informationen, da diese vom Prüfer geschrieben und nicht einfach auf einer Testplattform gespeichert werden müssen.
3. Verantwortlichkeiten festlegen
Sorgen Sie dafür, dass sich während des gesamten Testprozesses jeder am Arbeitsplatz auf seine spezifischen Aufgaben konzentriert. Durch eine derartige Festlegung der Verantwortlichkeiten weiß jeder, welche Rolle er am Arbeitsplatz spielt, und weiß, wie er seine Aufgaben produktiv und mit minimalen Unterbrechungen erledigen kann.
Obwohl es sich hierbei eher um ein Managementkonzept als um einen Punkt auf der Checkliste für die Prüfung handelt, hat es einen großen Einfluss auf die Ergebnisse.
4. Ständiger Vergleich
Vergleichen Sie Ihre Ergebnisse fast ständig mit anderen Dingen. Zu den Vergleichspunkten gehören die anfängliche Entwurfsdokumentation, frühere Testergebnisse und der Zeitplan der Organisation für die Fertigstellung des Projekts.
Anhand dieser Referenzrahmen können Sie sich ein Bild davon machen, wie der Softwareentwicklungsprozess abläuft, welche Bereiche verbesserungswürdig sind und welche Anpassungen vorgenommen werden müssen.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass Grey-Box-Tests eine der vielseitigsten Formen von Tests sind, die die Funktionalität von White-Box-Tests mit den Einschränkungen von Black-Box-Tests kombinieren.
Durch die Kombination von manuellen und automatisierten Testmethoden bei Ihren Grey-Box-Bemühungen können Unternehmen die Auswirkungen von Fehlern auf ihre Software erheblich reduzieren, indem sie Korrekturen vornehmen, die zu einem besseren Produkt führen.
Grey-Box-Tests sind das perfekte Werkzeug für jeden Entwickler, und die oben genannten Tipps können sicherstellen, dass Sie es richtig einsetzen.
FAQs & Ressourcen
Wenn Sie Fragen zu Grey-Box-Tests haben, werfen Sie einen Blick auf einige unserer häufig gestellten Fragen, um mehr zu erfahren und Ihr Verständnis für diese Art von Test zu verbessern:
1. Die besten Kurse zur Grey-Box-Testautomatisierung
Es gibt relativ wenige Kurse, die speziell auf die Automatisierung von Grey-Box-Tests abzielen, wobei diese allgemeinen Softwaretest-Kurse ein idealer Einstieg sind:
– “Software Testing Foundation mit Prüfung”- Schulungsangebote
– 6-wöchige Schulung zu den Grundlagen des Softwaretestens”- Futuretrend Technologies Ltd
– “Software-Testing-Kurs”- Königlicher Kurs
– Black-Box- und White-Box-Tests” – Coursera
– “Softwaretests – Black-Box-Strategien und White-Box-Tests”- NPTEL
2. Was sind die 5 wichtigsten Interviewfragen zu Grey Box Testing?
– Welche Erfahrungen haben Sie bei der Arbeit mit Grey-Box-Tests gemacht, und wie haben Sie sie erlebt?
– Warum setzen Unternehmen Grey-Box-Tests ein, und an welchem Punkt des Prozesses?
– Vergleich von White-Box-, Grey-Box- und Black-Box-Tests
– Was sind die größten Herausforderungen beim Grey-Box-Testing und wie kann man sie überwinden?
– Wie funktioniert die Testautomatisierung?
3. Die besten YouTube-Tutorials zu Grey-Box-Tests
– Was ist Gray Box Testing? Welche Techniken werden bei Gray-Box-Tests verwendet? Mit Beispiel erklärt”- Software Testing Hacks
– “Gray-Box-Tests | Software-Engineering |”- Bildung 4u
– Black Box, White Box und Grey Box Tests”- Miracle Education
– “Ratschläge für neue manuelle QA-Tester | Zusammenarbeit mit Entwicklern + Dinge, die ich als Software-Tester gelernt habe”- Madeline Elaine
– Was ist Grey Box Testing? (Software Testing Interview Question #54)”- QA Fox
4. Wie führt man Grey-Box-Tests durch?
Die Pflege Ihrer Grey-Box-Tests ist ein recht einfacher Prozess. Stellen Sie bei manuellen Tests sicher, dass die Mitarbeiter gut geschult sind und jedes Mal die gleichen Aufgaben erledigen. Bei automatisierten Tests lesen Sie den gesamten Code für die Testfälle Korrektur und überprüfen die Ergebnisse, wobei Sie die Prozesse nach Möglichkeit ständig überwachen.
5. Die besten Bücher über Grey Box Testing
In diesem Abschnitt finden Sie neben Büchern auch Zeitschriftenartikel, um QA-Testern ein möglichst hohes Maß an schriftlicher Unterstützung zu bieten:
– “Grey-Box-Technik für Software-Integrationstests auf der Grundlage von Nachrichten”- TanLi M. et al
– Eine vergleichende Studie über White-Box-, Black-Box- und Grey-Box-Testtechniken” – Ehmer, M., Khan, F.
– “Grey-box FSM-basierte Teststrategien”- Petrenko, A.
– Softwaretechnik” – Saleh, K.A.
– “Internationale Konferenz über Computeranwendungen 2012”- Kokula Krishna Hari K.