Skip to main content

Les tests en boîte noire sont un type de test logiciel où l’on examine la fonctionnalité d’un programme sans connaître ses mécanismes internes. Pensez-y comme à la résolution d’un puzzle sans savoir comment il a été assemblé. 

En tant que testeur avec près de 10 ans d'expérience, je suis ravi de partager mes connaissances avec vous sur les tests en boîte noire. Dans cet article, je vais détailler ce que sont les tests en boîte noire, comment ils fonctionnent et pourquoi ils sont essentiels dans le processus de développement logiciel. Alors, attachez votre ceinture et c'est parti !

Qu’est-ce que le test en boîte noire ?

une infographie expliquant ce qu'est le test en boîte noire pour les tests logiciels

Le test en boîte noire est une approche consistant à tester une application sans aucune connaissance de la structure interne de l’application sous test (AUT). À l’inverse, le test en boîte blanche repose sur une compréhension approfondie du code source de l’application et est réalisé par l’équipe de développement.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Le test en boîte noire est généralement effectué par l’équipe assurance qualité et se concentre sur les entrées et sorties de l’application. Les testeurs utilisent des entrées valides et invalides et observent les résultats obtenus. On l’appelle parfois test comportemental, car il est réalisé du point de vue de l’utilisateur final.

Le test en boîte noire peut être appliqué à tous les niveaux de tests : tests unitaires, tests d’intégration, tests système et tests d’acceptation utilisateur. Il existe également une multitude d’outils de test en boîte noire pour profiter facilement de cette approche de test logiciel.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

Types de tests en boîte noire 

Test fonctionnel : désigne un type de test où l’on vérifie CE QUE fait l’application. Les cas de test peuvent être rédigés à partir des exigences fonctionnelles. Par exemple, les tests fonctionnels pour un écran de connexion peuvent inclure :

  • Connexion avec des identifiants valides et vérification du lien “Mot de passe oublié ?”
  • Vérifier la fonctionnalité “Se souvenir de moi”.
  • Tests négatifs, par exemple se connecter avec des identifiants invalides ou essayer de se connecter sans données obligatoires.

Test non fonctionnel : concerne COMMENT l’application effectue ce qu’elle fait. Nous pouvons également avoir des exigences logicielles non fonctionnelles. Par exemple, la rapidité de chargement d’une page, le nombre d’utilisateurs simultanés qu’elle doit accepter ou les directives d’accessibilité qu’elle doit respecter. Il existe plusieurs sous-types de tests non fonctionnels à envisager pendant le processus de test (et selon les cahiers des charges) :

  • Test d’utilisabilité : vise en général à vérifier avec quelle facilité l’utilisateur final accède aux fonctionnalités de l’application.
  • Test d’accessibilité : il s’agit ici de vérifier si l’application est accessible à tous les utilisateurs, y compris ceux en situation de handicap. 
  • Test de performance : consiste à tester la performance de l’application. Ce type de test se prête davantage à l’automatisation et à l’utilisation d’outils de test. Par exemple, pour les tests de charge, on peut essayer de tester l’application avec un grand nombre d’utilisateurs simultanés, ce qui n’est pas réalisable manuellement.
  • Test de sécurité : consiste à tester la sécurité de l’application et la protection des données sensibles. Cela inclut des méthodes telles que le test d’intrusion (pentest).

Test de régression : il s’agit d’un type de test permettant de vérifier qu’une fonctionnalité existante n’a pas été cassée par l’ajout de nouveau code.

Re-test : il s’agit de vérifier qu’une fonctionnalité autrefois défaillante a bien été corrigée.

Test en boîte noire vs Test en boîte blanche

L’« opposé » du test en boîte noire est le test en boîte blanche — également appelé test boîte claire. Les tests en boîte blanche sont généralement réalisés par les développeurs de l’équipe et portent sur le code source de l’application à tester.

Voyons maintenant les principales différences entre les deux :

  • Les tests "boîte noire" sont effectués sans connaissance du fonctionnement interne de l’application, tandis que les tests "boîte blanche" impliquent une connaissance du code source.
  • Avec les tests boîte noire, il n'est pas nécessaire d'avoir des connaissances en programmation ; les tests boîte blanche nécessitent généralement d’écrire des tests automatisés pour atteindre un niveau de couverture des tests.
  • Les tests boîte noire sont sous la responsabilité de l’équipe QA, tandis que les tests boîte blanche sont réalisés par l’équipe de développement.
  • Les tests boîte noire utilisent des techniques telles que le partitionnement en classes d’équivalence, l’analyse des valeurs limites, les tables de décision et la transition d’état (voir ci-dessous). Les techniques de tests boîte blanche incluent la couverture des instructions, la couverture des branches et la couverture des conditions.
  • Contrairement aux tests boîte blanche, qui nécessitent souvent une connaissance approfondie de la base de code, les tests boîte noire permettent aux testeurs de se concentrer sur le comportement de l'application. Cependant, les deux approches nécessitent l'utilisation d'outils de gestion de base de données fiables pour obtenir des résultats optimaux
  • Les tests boîte blanche se pratiquent de préférence aux niveaux de tests les plus bas (tels que les tests unitaires ou d’intégration), et les tests boîte noire sont réalisés aux niveaux supérieurs (système, bout en bout et tests d’acceptation utilisateur).

Un hybride des deux est le test de type boîte grise, où les testeurs ont accès à certaines informations sur le fonctionnement interne du logiciel, telles que son architecture ou la structure de sa base de données, mais pas à l'ensemble du code source. Cela leur permet de tester le logiciel de manière plus approfondie qu’en boîte noire sans pour autant avoir la connaissance et le contrôle complets du système qu’offre le test en boîte blanche.

Techniques de tests Boîte Noire

Pour assurer une bonne couverture des tests, il existe plusieurs techniques de tests boîte noire qui peuvent être appliquées lors de la création de scénarios de test :

Analyse des valeurs limites : grâce à cette technique, les valeurs d’entrée extrêmes sont identifiées et les scénarios de test ne couvrent que ces valeurs. Statistiquement, ces valeurs « limites » sont les plus susceptibles de révéler des bugs.

Partitionnement en classes d’équivalence : dans cette technique, les valeurs d’entrée possibles sont divisées en classes d’équivalence. Chaque valeur d’une même classe d’équivalence devrait produire le même résultat, de sorte qu’un seul cas de test par classe suffit pour une couverture complète. On doit couvrir aussi bien les entrées valides qu’invalides.

Test par table de décision : une méthode de test où les cas d’utilisation sont dérivés de règles établies avec des combinaisons d’entrées et leurs résultats attendus.

Test de transition d’état : une technique de test logiciel qui consiste à vérifier le comportement d’une application lorsqu’elle passe d’un état à un autre.

Erreur de devinette : une technique basée sur l'expérience, où les testeurs utilisent leur intuition et leur expérience pour anticiper et découvrir des erreurs dans le système sur la base de leurs connaissances et de leur compréhension des points de défaillance potentiels.

Need expert help selecting the right Testing Software?

We’ve joined up with Crozdesk.com to give all our readers (yes, you!) access to Crozdesk’s software advisors. Just use the form below to share your needs, and they will contact you at no cost or commitment. You will then be matched and connected to a shortlist of vendors that best fit your company, and you can access exclusive software discounts!

Conclusion 

Le test en boîte noire est un élément essentiel des tests logiciels qui permet de garantir la qualité et la fonctionnalité d’un logiciel. En testant l’application du point de vue de l’utilisateur final, ce type de tests permet de détecter des problèmes qui pourraient autrement passer inaperçus.

Le test boîte noire est un outil pratique pour identifier les défauts fonctionnels d’un logiciel. En testant les entrées et les sorties du système et en vérifiant qu’il se comporte comme prévu, les testeurs peuvent mieux comprendre le fonctionnement du logiciel et identifier les domaines à améliorer. Globalement, le test boîte noire doit faire partie intégrante de toute stratégie de test logiciel complète afin de s’assurer que le logiciel est facile d’utilisation, fiable et exempt de défauts fonctionnels.


Si vous appréciez les articles sur le test logiciel, pensez à vous abonner à la newsletter QA Lead !