Qu'est-ce que le test WHITE Box? Techniques, exemple & Les types

Table des matières:

Anonim

Test de la boîte blanche

White Box Testing est une technique de test de logiciel dans laquelle la structure interne, la conception et le codage du logiciel sont testés pour vérifier le flux d'entrées-sorties et pour améliorer la conception, l'utilisabilité et la sécurité. Dans les tests de boîte blanche, le code est visible pour les testeurs, il est donc également appelé test de boîte transparente, test de boîte ouverte, test de boîte transparente, test basé sur le code et test de boîte de verre.

Il s'agit de l'une des deux parties de l'approche Box Testing pour les tests logiciels. Son homologue, les tests Blackbox, implique des tests d'un point de vue externe ou de type utilisateur final. D'autre part, les tests en boîte blanche en génie logiciel sont basés sur le fonctionnement interne d'une application et s'articulent autour de tests internes.

Le terme «WhiteBox» a été utilisé en raison du concept de boîte transparente. Le nom de la boîte transparente ou WhiteBox symbolise la capacité de voir à travers la coque externe (ou «boîte») du logiciel dans son fonctionnement interne. De même, la "boîte noire" dans "Black Box Testing" symbolise le fait de ne pas pouvoir voir le fonctionnement interne du logiciel de sorte que seule l'expérience de l'utilisateur final puisse être testée.

Dans ce didacticiel de test de boîte blanche, vous apprendrez-

  • Qu'est-ce que le test de la boîte blanche?
  • Que vérifiez-vous dans White Box Testing?
  • Comment effectuez-vous les tests White Box?
  • Exemple de test WhiteBox
  • Techniques de test en boîte blanche
  • Types de tests en boîte blanche
  • Outils de test de boîte blanche
  • Avantages des tests en boîte blanche
  • Inconvénients des tests WhiteBox

Que vérifiez-vous dans White Box Testing?

Le test en boîte blanche implique le test du code logiciel pour les éléments suivants:

  • Failles de sécurité internes
  • Chemins cassés ou mal structurés dans les processus de codage
  • Le flux d'entrées spécifiques à travers le code
  • Production attendue
  • La fonctionnalité des boucles conditionnelles
  • Test de chaque déclaration, objet et fonction sur une base individuelle

Les tests peuvent être effectués aux niveaux système, intégration et unité de développement logiciel. L'un des objectifs de base des tests en boîte blanche est de vérifier un flux de travail pour une application. Cela implique de tester une série d'entrées prédéfinies par rapport aux sorties attendues ou souhaitées de sorte que lorsqu'une entrée spécifique n'entraîne pas la sortie attendue, vous ayez rencontré un bogue.

Cliquez ici si la vidéo n'est pas accessible

Comment effectuez-vous les tests White Box?

Pour vous donner une explication simplifiée des tests en boîte blanche, nous l'avons divisé en deux étapes de base . Voici ce que font les testeurs lorsqu'ils testent une application à l'aide de la technique de test de la boîte blanche:

ÉTAPE 1) COMPRENDRE LE CODE SOURCE

La première chose qu'un testeur fera souvent est d'apprendre et de comprendre le code source de l'application. Étant donné que le test en boîte blanche implique le test du fonctionnement interne d'une application, le testeur doit être très bien informé des langages de programmation utilisés dans les applications qu'il teste. En outre, la personne chargée du test doit être très consciente des pratiques de codage sécurisées. La sécurité est souvent l'un des principaux objectifs des tests de logiciels. Le testeur doit être en mesure de détecter les problèmes de sécurité et d'empêcher les attaques de pirates et d'utilisateurs naïfs qui pourraient injecter du code malveillant dans l'application, sciemment ou non.

Étape 2) CRÉER DES CAS DE TEST ET EXÉCUTER

La deuxième étape de base du test en boîte blanche consiste à tester le code source de l'application pour un flux et une structure appropriés. Une façon consiste à écrire plus de code pour tester le code source de l'application. Le testeur développera de petits tests pour chaque processus ou série de processus dans l'application. Cette méthode nécessite que le testeur ait une connaissance approfondie du code et est souvent effectuée par le développeur. Les autres méthodes incluent les tests manuels, les essais et les tests d'erreur et l'utilisation d'outils de test, comme nous l'expliquerons plus loin dans cet article.

Exemple de test WhiteBox

Considérez le morceau de code suivant

Printme (int a, int b) {------------ Printme est une fonctionrésultat int = a + b;Si (résultat> 0)Imprimer ("Positive", résultat)AutreImprimer ("Négatif", résultat)} ----------- Fin du code source 

Le but des tests WhiteBox en génie logiciel est de vérifier toutes les branches de décision, boucles, instructions dans le code.

Pour appliquer les instructions de l'exemple de test de la boîte blanche ci-dessus, les cas de test WhiteBox seraient

  • A = 1, B = 1
  • A = -1, B = -3

Techniques de test en boîte blanche

L'analyse de la couverture de code est une technique majeure de test de la boîte blanche. L'analyse de la couverture du code élimine les lacunes dans une suite de cas de test. Il identifie les zones d'un programme qui ne sont pas exercées par un ensemble de cas de test. Une fois les lacunes identifiées, vous créez des cas de test pour vérifier les parties non testées du code, augmentant ainsi la qualité du produit logiciel

Des outils automatisés sont disponibles pour effectuer une analyse de la couverture du code. Voici quelques techniques d'analyse de couverture qu'un testeur de boîte peut utiliser:

Couverture de la déclaration : - Cette technique nécessite que chaque déclaration possible dans le code soit testée au moins une fois pendant le processus de test du génie logiciel.

Couverture de branche - Cette technique vérifie tous les chemins possibles (if-else et autres boucles conditionnelles) d'une application logicielle.

En dehors de ce qui précède, il existe de nombreux types de couverture tels que la couverture de condition, la couverture de conditions multiples, la couverture de chemin, la couverture de fonction, etc. Chaque technique a ses propres avantages et tente de tester (couvrir) toutes les parties du code logiciel. En utilisant la couverture des relevés et des succursales, vous atteignez généralement une couverture de code de 80 à 90%, ce qui est suffisant. Voici les techniques de test importantes de la WhiteBox:

  • Couverture de l'état
  • Couverture décisionnelle
  • Couverture de la succursale
  • Couverture de l'état
  • Couverture de conditions multiples
  • Couverture de la machine à états finis
  • Couverture de chemin
  • Test de flux de contrôle
  • Test de flux de données

Référez-vous à cet article pour en savoir plus sur https://www.guru99.com/code-coverage.html

Types de tests en boîte blanche

Les tests en boîte blanche englobent plusieurs types de tests utilisés pour évaluer l'utilisabilité d'une application, d'un bloc de code ou d'un progiciel spécifique. Il sont énumérés ci-dessous -

  • Test unitaire: il s'agit souvent du premier type de test effectué sur une application. Les tests unitaires sont effectués sur chaque unité ou bloc de code au fur et à mesure de son développement. Les tests unitaires sont essentiellement effectués par le programmeur. En tant que développeur de logiciel, vous développez quelques lignes de code, une seule fonction ou un objet et le testez pour vous assurer qu'il fonctionne avant de continuer les tests unitaires qui aident à identifier la majorité des bogues, au début du cycle de vie du développement logiciel. Les bogues identifiés à cette étape sont moins chers et faciles à corriger.

  • Test des fuites de mémoire : les fuites de mémoire sont les principales causes du ralentissement des applications. Un spécialiste QA expérimenté dans la détection des fuites de mémoire est essentiel dans les cas où vous avez une application logicielle à exécution lente.

En dehors de ce qui précède, quelques types de tests font partie à la fois des tests de la boîte noire et de la boîte blanche. Ils sont listés ci-dessous

  • Test de pénétration de la boîte blanche: dans ce test, le testeur / développeur dispose d'informations complètes sur le code source de l'application, des informations détaillées sur le réseau, les adresses IP impliquées et toutes les informations sur le serveur sur lequel l'application s'exécute. Le but est d'attaquer le code sous plusieurs angles pour exposer les menaces de sécurité
  • Test de mutation en boîte blanche : les tests de mutation sont souvent utilisés pour découvrir les meilleures techniques de codage à utiliser pour développer une solution logicielle.

Outils de test de boîte blanche

Vous trouverez ci-dessous une liste des meilleurs outils de test de boîte blanche.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Avantages des tests en boîte blanche

  • Optimisation du code en trouvant des erreurs cachées.
  • Les cas de tests en boîte blanche peuvent être facilement automatisés.
  • Les tests sont plus approfondis car tous les chemins de code sont généralement couverts.
  • Les tests peuvent démarrer tôt dans SDLC même si l'interface graphique n'est pas disponible.

Inconvénients des tests WhiteBox

  • Les tests en boîte blanche peuvent être assez complexes et coûteux.
  • Les développeurs qui exécutent généralement des cas de test en boîte blanche le détestent. Le test de la boîte blanche par les développeurs n'est pas détaillé peut entraîner des erreurs de production.
  • Les tests en boîte blanche nécessitent des ressources professionnelles, avec une compréhension détaillée de la programmation et de la mise en œuvre.
  • Les tests en boîte blanche prennent du temps, les applications de programmation plus volumineuses prennent le temps de tester complètement.

Notes de fin:

  • Les tests en boîte blanche peuvent être assez complexes. La complexité impliquée a beaucoup à voir avec l'application testée. Une petite application qui effectue une seule opération simple peut être testée en boîte blanche en quelques minutes, tandis que les applications de programmation plus grandes prennent des jours, des semaines et même plus à tester complètement.
  • Les tests en boîte blanche dans les tests logiciels doivent être effectués sur une application logicielle au fur et à mesure de son développement après son écriture et à nouveau après chaque modification