Tests logiciels - Méthodes

Il existe différentes méthodes qui peuvent être utilisées pour les tests logiciels. Ce chapitre décrit brièvement les méthodes disponibles.

Test en boîte noire

La technique de test sans avoir aucune connaissance du fonctionnement intérieur de l'application s'appelle le test de la boîte noire. Le testeur est inconscient de l'architecture du système et n'a pas accès au code source. En règle générale, tout en effectuant un test boîte noire, un testeur interagit avec l'interface utilisateur du système en fournissant des entrées et en examinant les sorties sans savoir comment et où les entrées sont utilisées.

Le tableau suivant répertorie les avantages et les inconvénients des tests en boîte noire.

Avantages Désavantages
Bien adapté et efficace pour les grands segments de code. Couverture limitée, car seul un certain nombre de scénarios de test est réellement exécuté.
L'accès au code n'est pas requis. Tests inefficaces, en raison du fait que le testeur n'a qu'une connaissance limitée d'une application.
Sépare clairement le point de vue de l'utilisateur du point de vue du développeur grâce à des rôles visiblement définis. Couverture aveugle, car le testeur ne peut pas cibler des segments de code spécifiques ou des zones sujettes à des erreurs.
Un grand nombre de testeurs moyennement qualifiés peuvent tester l'application sans aucune connaissance de l'implémentation, du langage de programmation ou des systèmes d'exploitation. Les cas de test sont difficiles à concevoir.

Test en boîte blanche

Les tests en boîte blanche consistent en une étude détaillée de la logique interne et de la structure du code. Le test en boîte blanche est également appeléglass testing ou open-box testing. Pour effectuerwhite-box testant sur une application, un testeur doit connaître le fonctionnement interne du code.

Le testeur doit jeter un coup d'œil à l'intérieur du code source et découvrir quelle unité / morceau de code se comporte de manière inappropriée.

Le tableau suivant répertorie les avantages et les inconvénients des tests en boîte blanche.

Avantages Désavantages
Comme le testeur connaît le code source, il devient très facile de savoir quel type de données peut aider à tester efficacement l'application. En raison du fait qu'un testeur qualifié est nécessaire pour effectuer des tests en boîte blanche, les coûts sont augmentés.
Cela aide à optimiser le code. Parfois, il est impossible de rechercher dans tous les coins et recoins pour trouver des erreurs cachées qui peuvent créer des problèmes, car de nombreux chemins ne seront pas testés.
Des lignes de code supplémentaires peuvent être supprimées, ce qui peut entraîner des vices cachés. Il est difficile de maintenir les tests en boîte blanche, car cela nécessite des outils spécialisés tels que des analyseurs de code et des outils de débogage.
En raison des connaissances du testeur sur le code, la couverture maximale est atteinte lors de l'écriture du scénario de test.

Test de la boîte grise

Le test en boîte grise est une technique permettant de tester l'application en ayant une connaissance limitée du fonctionnement interne d'une application. Dans les tests de logiciels, l'expression plus vous en savez, mieux vaut avoir beaucoup de poids lors du test d'une application.

La maîtrise du domaine d'un système donne toujours au testeur un avantage sur une personne ayant une connaissance limitée du domaine. Contrairement aux tests boîte noire, où le testeur teste uniquement l'interface utilisateur de l'application; dans les tests en boîte grise, le testeur a accès aux documents de conception et à la base de données. Ayant ces connaissances, un testeur peut préparer de meilleures données de test et des scénarios de test tout en élaborant un plan de test.

Avantages Désavantages
Offre les avantages combinés des tests boîte noire et boîte blanche dans la mesure du possible. Étant donné que l'accès au code source n'est pas disponible, la possibilité de parcourir le code et de tester la couverture est limitée.
Les testeurs de la boîte grise ne s'appuient pas sur le code source; au lieu de cela, ils s'appuient sur la définition de l'interface et les spécifications fonctionnelles. Les tests peuvent être redondants si le concepteur du logiciel a déjà exécuté un cas de test.
Sur la base des informations limitées disponibles, un testeur à boîte grise peut concevoir d'excellents scénarios de test, en particulier autour des protocoles de communication et de la gestion des types de données. Tester tous les flux d'entrée possibles est irréaliste car cela prendrait un temps déraisonnable; par conséquent, de nombreux chemins d'accès aux programmes ne seront pas testés.
Le test se fait du point de vue de l'utilisateur et non du concepteur.

Une comparaison des méthodes de test

Le tableau suivant répertorie les points qui différencient les tests boîte noire, les tests boîte grise et les tests boîte blanche.

Test en boîte noire Test de la boîte grise Test en boîte blanche
Le fonctionnement interne d'une application n'a pas besoin d'être connu. Le testeur a une connaissance limitée du fonctionnement interne de l'application. Le testeur a une connaissance complète du fonctionnement interne de l'application.
Également connu sous le nom de test en boîte fermée, de test basé sur les données ou de test fonctionnel. Également connu sous le nom de test translucide, car le testeur a une connaissance limitée de l'intérieur de l'application. Également connu sous le nom de test clair, de test structurel ou de test basé sur un code.
Réalisé par les utilisateurs finaux ainsi que par les testeurs et les développeurs. Réalisé par les utilisateurs finaux ainsi que par les testeurs et les développeurs. Normalement fait par les testeurs et les développeurs.
Les tests sont basés sur des attentes externes - Le comportement interne de l'application est inconnu. Les tests sont effectués sur la base de diagrammes de base de données de haut niveau et de diagrammes de flux de données. Le fonctionnement interne est parfaitement connu et le testeur peut concevoir les données de test en conséquence.
C'est exhaustif et le moins chronophage. En partie chronophage et exhaustif. Le type de test le plus exhaustif et le plus chronophage.
Ne convient pas aux tests d'algorithmes. Ne convient pas aux tests d'algorithmes. Convient pour les tests d'algorithmes.
Cela ne peut être fait que par une méthode d'essai et d'erreur. Les domaines de données et les limites internes peuvent être testés, s'ils sont connus. Les domaines de données et les limites internes peuvent être mieux testés.