Achtergrond van de vraag
De "grijze doos" methode is ontstaan als een compromis tussen de "zwarte" en "witte" doos, om de beperkingen van deze methoden te verhelpen. Het houdt gedeeltelijke kennis van de interne structuur van het systeem in bij het controleren van invoer- en uitvoergegevens, waardoor de voordelen van beide technieken worden benut.
Probleem
Vaak vereisen taken het hebben van meer kennis dan wat de gebruikersinterfaces toestaan, maar is er geen toegang tot de volledige broncode. Het risico is dat belangrijke scenario's die verband houden met interne mechanismen niet worden getest, zonder in detail te treden over de architectuur, zoals bij de "witte doos".
Oplossing
Het wordt toegepast wanneer er gedeeltelijke toegang is tot documentatie, architectuur, API's of services. Dit maakt het mogelijk om zowel fouten aan de interface van front-end en back-end te identificeren als de gegevensverwerking binnen modules te bestuderen.
Belangrijkste kenmerken:
Kan het testen volgens de "grijze doos" methode worden uitgevoerd als je helemaal geen toegang hebt tot documentatie of code?
Nee. De "grijze doos" methode veronderstelt dat de tester tenminste gedeeltelijke informatie heeft over de interne structuur van de applicatie. Als je volledig "blind" werkt, wordt eerder de "zwarte doos" methode gebruikt.
Wordt het bekijken van logs beschouwd als een vorm van testen volgens de "grijze doos" methode?
Ja, als je logs bestudeert om te begrijpen hoe het systeem de binnenkomende gegevens verwerkt, kan dit worden beschouwd als een element van de "grijze doos" aanpak, aangezien je je niet beperkt tot alleen de gebruikersinterface.
Kan de "grijze doos" methode worden gebruikt voor unit testing?
Nee. Unit testing valt typisch onder de "witte doos" waar volledige toegang tot de code nodig is, en testers werken juist op het niveau van interne functies.
De tester probeerde "grijze doos" toe te passen, uitsluitend gebaseerd op aannames en het testen van de gebruikersinterface, zonder het bestuderen van de API en zonder om architecturale schema's te vragen.
Voordelen:
Nadelen:
Voor de test van integratiescenario's vroeg de tester architecturale schema's aan het team, bestudeerde de API-eindpunten, voerde een loganalyse uit en kon een probleem op het vlak van interactie tussen back-end en front-end ontdekken.
Voordelen:
Nadelen: