Le contrôle de boîte claire, également appelé examen structurel ou inspection de boîte vitrée, est un procédé d'audit logiciel qui se focalise sur l'inspection des éléments internes d'un programme plus qu'à ses aspects externes. Cette technique exhaustive requiert une connaissance minutieuse du code source du logiciel pour pouvoir évaluer les trajectoires de code, les conditions de bifurcation, les boucles et autres composantes internes du logiciel.
Basicament, le contrôle de boîte claire se base sur la revue interne du code et exige une connaissance spécifique du fonctionnement interne du code. Ce contrôle est généralement effectué par les concepteurs du programme ou par des examinateurs spécialisés. L'avantage principal de cette méthode est sa capacité à repérer des erreurs, des bugs et des failles dès les premières étapes du cycle de développement du logiciel.
Ce contrôle est souvent mis en parallèle avec le contrôle de boîte noire, une autre technique d'audit logiciel. Alors que le contrôle de boîte claire se focalise sur le "comment", le contrôle de boîte noire se penche sur le "quoi". En d'autres termes, le contrôle de boîte noire contrôle si une fonction opère comme prévu sans se préoccuper de la façon dont elle est accomplie.
Repérage précoce des erreurs : Le contrôle de boîte claire, grâce à sa nécessité d'une connaissance approfondie du code source, permet de déceler des erreurs, bugs et failles dès les premières phases du cycle de développement du logiciel.
Mise à l'épreuve totale du code : Le contrôle de boîte claire permet de mettre à l'essai chaque ligne de code, assurant ainsi une mise à l'épreuve totale du code.
Amélioration du niveau de qualité du code : En passant en revue minutieusement le code, les examinateurs peuvent proposer des améliorations, conduisant ainsi à un code de plus grande qualité.
Sécurité : Le contrôle de boîte claire peut aider à dénicher les vulnérabilités de sécurité dans le code.
Malgré ses bénéfices, le contrôle de boîte claire a aussi ses défis. D'abord, il requiert une connaissance poussée du code, ce qui peut s'avérer difficile pour des systèmes importants. De plus, il peut être gourmand en temps et en ressources. Enfin, comme il se focalise sur le code, il pourrait laisser passer certains problèmes d'interface utilisateur ou d'expérience utilisateur.
En résumé, le contrôle de boîte claire est une méthode d'audit logiciel essentielle pour assurer la qualité et la sécurité du code. Par contre, comme toute méthode, elle a ses avantages et ses défis, et doit être employée conjointement avec d'autres méthodes d'audit pour assurer une couverture d'audit complète.
L'approche de boîte blanche, souvent appelée inspecteur de verre ou évaluation structurée, est une procédé d'analyse de logiciel qui se focalise sur l'évaluation de l'architecture interne du script source. Son principal objectif est l'inspection de l'opérationnalité interne du système plutôt que de se concentrer sur les conséquences fonctionnelles du système. Les principaux aspects de cette approche englobent le script source, les itinéraires de commandement, les situations de transfert de données, les itinéraires d'opération et les situations de tests.
Le script source est le constituant majeur. Pour conduire pareille évaluation, les inspecteurs doivent obtenir une connaissance détaillée du script source. Ils doivent comprendre la structure du script, ses fonctionnalités et comment les divers segments interagissent.
Les itinéraires de commandement sont les diverses trajectoires que le script peut parcourir lors de son opération. Prenant part à l'approche de boîte blanche, les inspecteurs doivent cerner tous les itinéraires de commandement possibles dans le script. Ils doivent ainsi assurer le test des itinéraires moins fréquemment utilisés ou ceux utilisés seulement sous certaines conditions.
Les situations de transfert de données illustrent comment l'information est maniée et déplacée à travers le script. Les inspecteurs s'assurent du traitement approprié de l'information à chaque étape. Ils se concentrent sur la manière dont l'information est sauvegardée, retirée, modifié et effacée.
Les itinéraires d'opération indiquent les séquences d'ordres effectuées lors du fonctionnement du script. La tâche des inspecteurs est de confirmer que chaque itinéraire d'opération possible est analysé. Ceci peut inclure l'inspection de la logique du script, la gestion des erreurs ainsi que la performance du script.
Les situations de test représentent les contextes spécifiques utilisés par les inspecteurs pour analyser le script. Ils doivent concevoir ces situations pour examiner tous les itinéraires de commandement, situations de transfert de données et itinéraires d'opération possibles. Les situations de test peuvent se baser sur des scénarios d'utilisation réels, hypothétiques ou sur des situations spécifiquement destinées au test.
En résumé, l'approche de boîte blanche est une procédure d'analyse logiciel nécessitant une connaissance détaillée du script source. Elle vise l'inspection de l'architecture interne du script, plutôt que les conséquences fonctionnelles du système. Le script source, les itinéraires de commandement, les situations de transfert de données, les itinéraires d'opération et les situations de test sont les cinq piliers de l'approche de boîte blanche.
La procédure nécessaire pour un audit blanc s'appuie sur une analyse détaillée du code informatique utilisé dans le logiciel. C'est une tâche qui requiert un haut niveau de compétences techniques et une perception approfondie du fonctionnement interne de ladite application. Voici comment effectuer un audit de sécurité blanc :
La première action à réaliser est d'éplucher le code sous-jacent du logiciel. Cela consiste à examiner minutieusement le code, comprendre sa cadre logique et identifier son mode de fonctionnement. Pour cela, il est nécessaire d'avoir une compétence en code informatique et une maîtrise du langage de codage utilisé.
Quand vous maîtrisez maintenant parfaitement le code, l'étape suivante implique de conceptualiser des cas tests. Ceux-ci doivent être conçus de manière à comprendre l'ensemble des trajets que pourrait prendre le code. Ainsi, il vous faudra concevoir des cas tests pour chaque situation, boucle et énoncé dans le code.
Une fois les cas tests conçus, la fastidieuse étape de lancement de ceux-ci se présente. Cela revient à faire tourner l'application dans chaque cas test et de constater les résultats obtenus. Si l'application produit le résultat escompté pour chaque cas test, elle est alors validée.
L'étape finale est l'exploitation des résultats des tests. Si l'application a donné un résultat non attendu lors d'un test, il faut alors identifier la source du problème. Cela peut nécessiter une révision du code, un débogage du problème et des correctifs.
Pour expliciter la réalisation d'un audit blanc, prenons le code suivant :
def add(a, b):
return a + b
Dans ce cas précis, un cas test pourrait être de s'assurer que la fonction add donne la correcte addition pour un couple de nombres donnés. Par exemple, si a est 2 et b est 3, alors la fonction devrait donner le résultat 5.
L'audit blanc est une partie clé du processus de test d'application. Il permet d'affirmer que le code informatique offre les résultats attendus et de détecter les erreurs potentielles avant qu'elles ne deviennent problématiques. Toutefois, il requiert un haut niveau de compétences techniques et une bonne perception du fonctionnement interne de l'application.
Dans l'univers du contrôle logiciel, il existe trois stratégies couramment adoptées : l'investigation de caisson translucide, l'investigation de caisson ombragé et l'investigation de caisson opaque. Le facteur clé qui les distingue est la connaissance de l'architecture source du logiciel contrôlé.
Investigation de caisson translucide : Ici, l'examinateur est informé de la totalité de l'architecture source, lui permettant ainsi d'orchestrer des contrôles qui englobent toutes les directions d'opérations que le code peut suivre.
Investigation de caisson ombragé : Dans ce contexte, l'examinateur dispose d'une compréhension mitigée de l'architecture source, permettant d'orchestrer des contrôles qui englobent une sélection des directions opérationnelles.
Investigation de caisson opaque : Ici, l'examinateur n'a aucune visibilité sur le code source. L'enquête se focalise sur la performance des fonctionnalités du logiciel, sans égard à leur réalisation technique.
L'objectif direct des contrôles varie en fonction de l'approche :
Investigation de caisson translucide : L'objectif premier de cette enquête est l'évaluation de la robustesse de l'architecture source, en précisant des erreurs de programmation, des mauvaises conceptions et d'autres imperfections affectant la robustesse du code source.
Investigation de caisson ombragé : Le but de cette approche est double : évaluer la robustesse de l'architecture source tout en vérifiant le fonctionnement optimal des fonctionnalités du logiciel.
Investigation de caisson opaque : Le but de cette approche est spécifiquement de vérifier le fonctionnement optimal des fonctionnalités du logiciel.
Concernant la profondeur des contrôles, elle varie aussi en fonction de l'approche :
Investigation de caisson translucide : Cette méthode se révèle souvent la plus pointue du fait de la nécessité de maîtriser totalement l'architecture source et la logique de programmation sous-jacente.
Investigation de caisson ombragé : Cette démarche est généralement moins pointue que l'investigation de caisson translucide, du fait qu'elle ne requiert pas une maîtrise totale de l'architecture source.
Investigation de caisson opaque : Cette approche est souvent la moins précise, car elle n'exige aucune connaissance de l'architecture source.
En conclusion, la sélection entre investigation de caisson translucide, investigation de caisson ombragé et investigation de caisson opaque dépendra de divers éléments, notamment les buts précis des contrôles, les compétences techniques de l'examinateur, le temps disponible pour les contrôles et leur coût. Chaque stratégie possède des points forts et des points faibles, qu'il est souvent préférable de combiner pour optimiser le résultat.
Le contrôle en boîte noire, parfois appelé vérification comportementale, représente un moyen de tester les logiciels sans avoir à déchiffrer leur architecture interne ou leur code source. L'intention principale de ce type de contrôle est d'examiner la précision de la réponse du logiciel en lien avec des valeurs spécifiques entrées, indépendamment du procédé par lequel le logiciel génère cette réponse.
L'essentiel de l'examen en boîte noire consiste à se concentrer sur la fonctionnalité attendue du logiciel. Il ne s'agit donc pas de comment le logiciel fonctionne mais de ce qu'il doit accomplir. Les contrôles sont effectués du point de vue du destinataire final, et non du créateur.
Voici les piliers de l'examen en boîte noire :
Comme tout autre moyen de contrôle, l'examen en boîte noire a ses points forts et ses points faibles.
Il existe diverses méthodes d'examen en boîte noire, incluant :
En somme, l'examen en boîte noire est une méthode cruciale d'audit de logiciel qui s'intéresse aux besoins fonctionnels du logiciel. Bien qu'il ait ses limites, il est particulièrement utile pour contrôler d'importants codes de systèmes et pour débusquer les problèmes qui affecteront l'expérience utilisateur.
`
`
Le test de boîte blanche, également connu sous le nom de test de boîte de verre ou de test structurel, est une méthode de test de logiciel qui vérifie le fonctionnement interne d'une application, contrairement au test de boîte noire qui se concentre uniquement sur les résultats d'entrée et de sortie. Le test de boîte blanche nécessite une connaissance approfondie du code source pour concevoir des cas de test et trouver des erreurs.
Le test de boîte blanche est basé sur l'architecture interne d'une application. Les testeurs doivent avoir une connaissance approfondie du code source pour concevoir des cas de test et trouver des erreurs. Les tests de boîte blanche sont généralement effectués par les développeurs eux-mêmes ou par des testeurs spécialisés.
Le test de boîte blanche est généralement utilisé dans les phases de développement et d'intégration du cycle de vie du développement de logiciels (SDLC). Il peut également être utilisé lors de la phase de maintenance pour identifier les problèmes dans le code existant.
Le test de boîte blanche offre plusieurs avantages. Tout d'abord, il permet de détecter les erreurs à un stade précoce du SDLC, ce qui peut réduire les coûts de correction des erreurs. Deuxièmement, il permet de tester les chemins de code individuels, ce qui peut aider à identifier les problèmes spécifiques dans le code. Enfin, il peut aider à améliorer la conception du code en identifiant les zones de code qui sont difficiles à tester.
Malgré ses avantages, le test de boîte blanche présente également quelques inconvénients. Tout d'abord, il nécessite une connaissance approfondie du code source, ce qui peut être difficile à obtenir pour les grandes applications. Deuxièmement, il peut être coûteux et prendre beaucoup de temps à effectuer. Enfin, il peut ne pas être en mesure de détecter les erreurs qui se produisent lors de l'interaction entre différents composants du logiciel.
Il existe plusieurs techniques de test de boîte blanche, notamment le test de chemin de base, le test de flux de contrôle, le test de flux de données et le test de mutation. Le choix de la technique dépend de la complexité du logiciel et des ressources disponibles.
Le test de chemin de base vérifie tous les chemins possibles à travers le code. Le test de flux de contrôle vérifie la séquence d'exécution des instructions dans le code. Le test de flux de données vérifie la validité des données utilisées dans le code. Enfin, le test de mutation modifie le code pour vérifier la robustesse du logiciel.
Il existe de nombreux outils de test de boîte blanche disponibles, tels que JUnit, NUnit, Emma et Cobertura. Ces outils fournissent un cadre pour concevoir et exécuter des tests de boîte blanche. Ils peuvent également fournir des rapports détaillés sur la couverture du code et les erreurs détectées.
En conclusion, le test de boîte blanche est une partie essentielle du processus de test de logiciel. Il permet de détecter les erreurs à un stade précoce et d'améliorer la qualité du code. Cependant, il nécessite une connaissance approfondie du code source et peut être coûteux et prendre beaucoup de temps à effectuer.
L'Évaluation par Boîte Argentée, couramment dénommée vérification grise, englobe les méthodes éprouvées de l'Analyse en Boîte Blanche et de l'Analyse en Boîte Noire dans un singular processus d'évaluation de logiciel. Cette approche binaire offre une saisie dualiste du programme en test - une prise interne ainsi qu'externe, facilitant ainsi une évaluation plus exhaustive et l'identification plus fine des anomalies potentielles.
La singularité de l'Évaluation par Boîte Argentée se manifeste par une série de traits distinctifs. Primo, elle fournit une visibilité sélective sur le socle du programme. Ce qui signifie que les évaluateurs ont l'opportunité d'explorer des segments spécifiques du socle, mais pas son intégralité. Cette stratégie facilite la détection de problèmes qui pourraient échapper à une analyse noire.
Secundo, l'Évaluation par Boîte Argentée allie des techniques d'évaluation fonctionnelles ainsi que non fonctionnelles. Ce double filtre permet une appréciation complète du logiciel, évaluant tant ses fonctionnalités que ses performances, sa sûreté et autres paramètres non fonctionnels.
Tertio, l'Évaluation par Boîte Argentée est effectuée par des évaluateurs ayant une compréhension riche du domaine du logiciel ainsi que son développement. Cette base de connaissances doubles leur offre une perspective équilibrée entre le comportement prévu du programme et son application réelle.
L'Évaluation par Boîte Argentée présente plusieurs avantages par rapport à d'autres protocoles d'évaluation. Primo, elle offre une meilleure détection des anomalies. En ayant une visibilité partielle sur le socle du programme, les évaluateurs ont la capacité de dénicher des anomalies qui pourraient échapper à une analyse noire.
Secundo, l'Évaluation par Boîte Argentée fournit une évaluation du logiciel plus pointue. Par la fusion des approches d'analyse blanche et noire, elle offre une saisie en profondeur, tant interne qu'externe du logiciel.
Tertio, en comparaison de l'Analyse en Boîte Blanche, l'Évaluation par Boîte Argentée demande moins de temps tout en offrant une détection des anomalies plus fines que l'Analyse en Boîte Noire, rendant l'effort plus rentable en termes de temps et de ressources.
Toutefois, l'Évaluation par Boîte Argentée à ses limites. Primo, il impose un besoin d'une connaissance exhaustive tant en développement de logiciels qu'en domaines d'application du logiciel - une nécessité qui peut s'avérer fastidieuse pour les équipes d'évaluation importantes.
Secundo, l'Évaluation par Boîte Argentée ne garantit pas une détection exhaustive des anomalies. Son accès limité au socle du programme peut laisser certaines anomalies potentielles dans les zones non explorées.
Tertio, l'Évaluation par Boîte Argentée peut être plus onéreuse que les autres protocoles d'évaluation. En exigeant une connaissance exhaustive du logiciel et de son domaine d'application, le processus pourrait nécessiter plus de temps et de ressources pour être diligenté de manière efficace.
En définitive, l'Évaluation par Boîte Argentée est un protocole d'évaluation de logiciel robuste et efficace qui combine les avantages de l'Analyse en Boîte Blanche et de l'Analyse en Boîte Noire. Elle facilite une identification plus fine des anomalies et une appréciation plus complète du programme, tout en étant rentable en termes de temps et de ressources. Toutefois, elle implique une connaissance exhaustive du développement du logiciel et de son domaine d'application, et ne garantit pas une détection exhaustive de toutes les anomalies possibles.
Il est essentiel de comprendre différents types de méthodologies d'examen pour une analyse de sécurité optimale. Les stratégies clés pour la facilitation des tests méritent une mention spéciale : les examens de reconnaissance de code, d'itinéraire, d'alternative et de prescription.
Cette méthodologie, appelée examen de reconnaissance de code, concerne l'étude scrupuleuse des fragments de codage dans un programme donné. L'objectif premier est de garantir que chaque portion de codage a été mise en application minimum une fois durant la phase d'examen. Ceci est une tentative de déceler des imprévus ou des failles latentes.
L'examen d'itinéraire, une autre stratégie d'inspection du code source, implique l'étude de toutes les trajectoires virtuelles sur la plateforme de codage. C'est-à-dire que tous les trajets envisageables à travers la plateforme sont soumis à un test pour vérifier leur bon fonctionnement. Il est spécialement recommandé pour les plateformes complexes qui offrent une multitude de directions pratiquables.
Souvent appelé examen d'alternative, ce procédé se focalise sur l'étude des diverses options du programme. Cela implique que chaque requête de commande (par exemple les requêtes de commande conditionnelles telles que "si", "sinon" et "switch") est passée en revue pour garantir qu'elle est sans faille. C'est très efficace pour les plateformes sollicitant des ordres de commandes variés.
L'examen de prescription, une autre approche de méthode d'examen du code source, vise à vérifier chaque consigne du programme. Ceci sous-entend que tous les ordres de commande sont soumis à des tests rigoureux pour garantir leur fonctionnalité. Ce type d'examen convient spécialement pour les plateformes avec un grand nombre d'instructions.
Chacune de ces approches d'examen possède ses propres forces et faiblesses. Selon la complexité du programme à tester, un type spécifique de test sera privilégié. Très souvent, un éventail de ces stratégies d'analyse est employé à des fins d'examen exhaustif du programme et d'assurance de son intégrité.
Dans l'univers des contrôles logiciels, les dispositifs d'examen de boîte blanche se révèlent indispensables pour garantir une performance optimale des logiciels. Ils offrent la possibilité aux concepteurs de scruter la composition interne du code originel et de repérer les anomalies éventuelles susceptibles de nuire à la fonctionnalité du logiciel.
JUnit : Il s'agit d'un environnement de contrôle unitaire spécifique au langage de codage Java. Son utilisation permet de concevoir et d'exécuter des contrôles récurrents pour confirmer le bon fonctionnement du code.
NUnit : C'est le pendant de JUnit pour le langage .NET. Il donne la possibilité aux concepteurs d'élaborer des contrôles unitaires pour leurs codes .NET.
GTest : Dispositif de contrôle unitaire pour le langage C++. Il offre un ensemble de macros pour aider les concepteurs à réaliser des contrôles de leurs codes C++.
PyTest : Équipement de contrôle spécifique au langage Python. Il permet de réaliser des contrôles unitaires pour les codes Python.
Jasmine : Identifié comme un environnement de contrôle pour le langage JavaScript. Il est employé pour effectuer des contrôles sur des applications web et mobiles.
| Dispositif | Langage de codage | Atouts | Désavantages |
|---|---|---|---|
| JUnit | Java | Usage simple, documentation exhaustive | Exclusif à Java |
| NUnit | .NET | Gère de multiples langages .NET, documentation exhaustive | Spécifique à .NET |
| GTest | C++ | Usage simplifié, prend en charge les contrôles parallèles | Documentation restreinte |
| PyTest | Python | Gère les contrôles parallèles, documentation exhaustive | Exclusif à Python |
| Jasmine | JavaScript | Gère les contrôles d'interface utilisateur, documentation détaillée | Spécifique à JavaScript |
Le choix s'effectue en tenant compte de divers éléments parmi lesquels le langage de codage utilisé, les spécificités du projet et les compétences du groupe de développement. Il est crucial d'opter pour un dispositif qui répond à ces attentes afin de maximiser l'efficacité des contrôles.
Pour conclure, les dispositifs d'examen de boîte blanche sont déterminants pour garantir la qualité des logiciels. Ils donnent la possibilité aux concepteurs de scruter la composition interne du code et de repérer les anomalies susceptibles. La sélection du bon outil est fonction du langage de codage, des exigences du projet et des savoir-faire de l'équipe de développement.
L'analyse minutieuse d'un logiciel à travers sa composition interne est appelée test de type boîte blanche. L'illustration de ce terme provient de la visibilité du logiciel sous test, semblable à une boîte de verre. Le rôle du testeur qui choisit les entrées pour naviguer à travers le code et sélectionne les sorties adéquates, est primordial. Dans cette contribution, nous abordons plusieurs stratégies liées au test de boîte blanche.
L'étape initiale des méthodes de test de boîte blanche se nomme la stratégie de vision globale de l'instruction. L'idée principale est de s'assurer que pendant le processus de test, chaque instruction du code a été appliquée et inspectée au moins une fois.
Connue aussi sous le nom de couverture du parcours, la stratégie d’exploration des branches va plus loin que la simple couverture des déclarations. En effet, elle assure que chaque bifurcation du code est parcourue au minimum une fois, évaluant non seulement chaque instruction mais aussi chaque trajectoire plausible à travers le code.
Une autre stratégie de test de boîte blanche, la stratégie de balayage du parcours, vise à parcourir tous les itinéraires possibles à travers le code au moins une fois. De façon plus détaillée que la stratégie d’exploration des branches, celle-ci est destinée à analyser chaque branche ainsi que chaque route imaginable à travers le code.
La stratégie d'évaluation des conditions assure que chaque situation dans une décision est analysée, tant en termes vrais que faux. Elle surpasse la stratégie de balayage du parcours avec une analyse non seulement de chaque parcours, mais aussi de chaque scénario possible dans le code.
Enfin, la stratégie d'analyse des décisions consiste à s'assurer que chaque décision dans le code a été analysée dans les deux cas de figure : vrai et faux. Elle dépasse la stratégie d'évaluation des conditions en vérifiant non seulement chaque situation, mais aussi chaque option potentiellement réalisable dans le code.
Pour résumer, l'assurance qualité du logiciel repose en grande partie sur les stratégies de test de boîte blanche. Dans le but d'éprouver le code complètement, chaque ligne, bifurcation, trajectoire, contexte, et option doit être examinée. Malgré leur grande efficacité, ces stratégies exigent une connaissance approfondie du code qui peut poser un défi pour les testeurs.
En matière de création logicielle, l'analyse de fond en comble, communément appelée test en transparence ou évaluation structurelle, s'avère primordiale pour garantir une excellente performance et une fiabilité irréprochable. Cette technique méticuleuse explore en profondeur tous les aspects intrinsèques d'un logiciel, allant de sa structure et de son design jusqu'à son code-source.
Il est crucial de réaliser une analyse de fond en comble pour diverses raisons. Premièrement, elle permet de débusquer les anomalies et les dysfonctionnements rapidement, aux premières étapes du processus de création, ce qui peut diminuer drastiquement les ressources nécessaires pour régler ces problèmes en aval. Par ailleurs, elle offre une chance de passer au crible l'esprit du code, contrecarrant ainsi les problèmes potentiels liés aux performances et à la sécurité.
L'analyse de fond en comble présente divers avantages par rapport aux autres techniques d'évaluation. Elle offre une inspection minutieuse du code, ce qui peut permettre de révéler les problèmes qui auraient pu être négligés lors d'un test opaque ou semi-opaque. En outre, elle permet de contrôler les itinéraires d'exécution uniques dans le code, ce qui peut mettre en évidence les problèmes de logique ou de gestion du flux.
Malgré ces points forts, l'analyse de fond en comble présente également des défis. Par exemple, elle nécessite une connaissance approfondie du code-source, ce qui peut se révéler difficile pour les évaluateurs qui ne sont pas nécessairement des concepteurs de logiciels. De plus, ce processus peut s'avérer coûteux et consommer beaucoup de temps, en particulier pour les projets logiciels de grande envergure.
Pour conclure, l'analyse de fond en comble est un élément crucial du processus d'évaluation logiciel. Elle donne l'opportunité de contrôler rigoureusement la qualité du code et de dénicher les dysfonctionnements potentiels en amont. Malgré ses défis, c'est une technique d'évaluation de grande valeur, capable d'améliorer sensiblement la qualité et la fiabilité d'un logiciel.
`
`
Dans la discussion suivante, nous allons aborder certaines questions fréquemment posées concernant l'essai structurel, plus communément appelé "test de boîte blanche".
Le contrôle de boîte blanche, connu aussi sous le nom de vérification de boîte transparente ou épreuve structurelle, est un processus d'analyse logicielle qui évalue les détails internes du code source et les procédures de fonctionnement du logiciel que nous explorons. Il est généralement entrepris par des ingénieurs logiciels qui ont une connaissance approfondie du code interne du logiciel.
L'exécution du contrôle de boîte blanche présente plusieurs avantages. Cela permet notamment d'identifier les incohérences et problèmes au cours de la phase de développement, diminuant de fait les coûts de correction. Grâce à son caractère, il favorise l'examen des passages individuels dans le code, permettant ainsi de repérer des problèmes spécifiques qui resteraient cachés avec d'autres méthodes de contrôle.
L'un des inconvénients notables de l'essai de boîte blanche est son coût considérable et le temps requis pour sa mise en œuvre, particulièrement dans le cas de logiciels sophistiqués. En sus, comme il nécessite une compréhension détaillée du code source, il pourrait être inapproprié pour des contrôleurs n'ayant aucune connaissance préalable du code.
L'épreuve de boîte blanche se différencie des examens de boîte noire et de boîte grise. L'essai de boîte noire se concentre sur les fonctionnalités d'un logiciel sans aborder sa structure interne, tandis que celui de boîte grise implique une combinaison des deux méthodes. En revanche, l'épreuve de boîte blanche s'attarde sur l'architecture interne du logiciel.
Il existe plusieurs types d'évaluations de boîte blanche, comprenant le contrôle du parcours de base, l'appréciation du contrôle du flux, l'analyse du flux de données, l'inspection de boucle, et l'examen graphique.
Une variété d'outils est disponible pour l'épreuve de boîte blanche, incluant JUnit, NUnit, EMMA, Clover, et GCC.
Les techniques propres à l'inspection de boîte blanche comprennent la vérification de la couverture du code, l'analyse du parcours de couverture, l'évaluation de la couverture de branche, et l'inspection de la couverture de condition.
Sans conteste, l'épreuve de boîte blanche est un élément essentiel de l'évaluation de logiciel. Il facilite la découverte des incohérences en phase amont de développement, réduisant ainsi le coût de correction. De plus, il rend possible l'examen des chemins individuels dans le code, permettant alors de dévoiler des problèmes spécifiques probablement inconnus avec d'autres approches de contrôle.
Pour approfondir vos connaissances sur le sujet du White Box Testing, voici une liste de références utiles que vous pouvez consulter :
Beizer, B. (1995). Black-Box Testing: Techniques for Functional Testing of Software and Systems. New York: Wiley.
Jorgensen, P.C. (2002). Software Testing: A Craftsman’s Approach. Boca Raton: CRC Press.
Myers, G.J., Sandler, C., & Badgett, T. (2011). The Art of Software Testing. Hoboken: Wiley.
Patton, R. (2006). Software Testing. Indianapolis: Sams Publishing.
Perry, W.E. (2006). Effective Methods for Software Testing. Hoboken: Wiley.
ISTQB (International Software Testing Qualifications Board). (n.d.). Glossaire des termes de test de logiciels. Disponible sur : https://www.istqb.org/glossary.html
Software Testing Help. (n.d.). White Box Testing: Un guide complet pour les débutants. Disponible sur : https://www.softwaretestinghelp.com/white-box-testing-techniques-with-example/
Guru99. (n.d.). White Box Testing: Qu'est-ce que c'est, types, techniques et outils. Disponible sur : https://www.guru99.com/white-box-testing.html
Udemy. (n.d.). Cours de test de logiciels : du débutant à l'expert. Disponible sur : https://www.udemy.com/course/software-testing-tutorial/
Coursera. (n.d.). Spécialisation en test de logiciels. Disponible sur : https://www.coursera.org/specializations/software-testing
Beizer, B. (1990). Software Testing Techniques. Van Nostrand Reinhold.
Jorgensen, P.C. (1995). Software Testing: A Craftsman’s Approach. CRC Press.
Myers, G.J. (1979). The Art of Software Testing. Wiley.
Perry, W.E. (2000). Effective Methods for Software Testing. Wiley.
IEEE (Institute of Electrical and Electronics Engineers). (2012). IEEE Standard for Software and System Test Documentation. IEEE Std 829-2008 (Revision of IEEE Std 829-1998).
ISO (International Organization for Standardization). (2013). Systèmes et logiciels d'ingénierie - Plans de test de logiciels (ISO/IEC/IEEE 29119-3:2013).
Ces références vous aideront à mieux comprendre le concept de White Box Testing et à approfondir vos connaissances sur le sujet.
XMPP - Tout sur le protocole XMPP, ou Extensible Messaging and Presence Protocol, est un…
Qu'est-ce que l'Institut FAIR ? L'organisation FAIR, non lucrative, a été créée en 2016 avec…
Quelles sont les vulnérabilités et expositions courantes (CVE) ? Les points de vulnérabilités et risques…
Qu'est-ce que Log4j et comment fonctionne-t-il ? Log4j, dans le cadre Java, est un atout…
Présentation de WebSocket WebSocket est une technologie impactante visant à simplifier les interactions entre machines,…
Aperçu des attaques par écoute électronique Une infiltration numérique surnommée espionnage informatique se manifeste quand…