Historique de la question
La méthode de la "boîte grise" est née comme un compromis entre la "boîte noire" et la "boîte blanche", afin d'éliminer les limites de ces méthodes. Elle suppose une connaissance partielle de la structure interne du système lors de la vérification des données d'entrée et de sortie, tirant parti des avantages des deux techniques.
Problème
Souvent, les tâches nécessitent de connaître plus que ce que les interfaces utilisateur permettent, mais l'accès au code source complet est absent. Le risque est de ne pas tester des scénarios importants liés aux mécanismes internes, tout en évitant de se plonger dans les détails de l'architecture comme dans le cas de la "boîte blanche".
Solution
Elle est utilisée lorsque l'accès partiel à la documentation, à l'architecture, à l'API ou aux services est disponible. Cela permet de détecter les erreurs à l'interface entre le front et le back, et d'étudier le traitement des données à l'intérieur des modules.
Caractéristiques principales :
Peut-on effectuer des tests selon la méthode de la "boîte grise" si vous n'avez absolument aucun accès à la documentation ou au code ?
Non. La méthode de la "boîte grise" suppose que le testeur dispose d'au moins une information partielle sur la structure interne de l'application. Si vous travaillez complètement "à l'aveugle", la méthode de la "boîte noire" est plutôt utilisée.
Le fait de consulter les logs est-il considéré comme une forme de test selon la méthode de la "boîte grise" ?
Oui, si vous étudiez les logs pour comprendre comment le système traite les données d'entrée, cela peut être considéré comme un élément de l'approche "boîte grise", car vous ne vous limitez pas uniquement à l'interface utilisateur.
Peut-on utiliser la méthode de la "boîte grise" pour les tests unitaires ?
Non. Les tests unitaires se situent typiquement dans la zone de la "boîte blanche", où un accès complet au code est nécessaire, et les testeurs travaillent précisément au niveau des fonctions internes.
Le testeur a essayé d'appliquer la "boîte grise" en se basant uniquement sur des suppositions et des tests de l'interface utilisateur, sans étudier l'API ni demander le schéma architectural.
Avantages :
Inconvénients :
Avant de tester les scénarios d'intégration, le testeur a demandé à l'équipe des schémas architecturaux, a étudié les points d'accès de l'API, a effectué une analyse des logs et a pu détecter un problème au niveau de l'interaction entre le back et le front.
Avantages :
Inconvénients :