black box testing an depth tutorial with examples
Dans ce didacticiel, en utilisant mon expérience industrielle en test de logiciels, familiarisons-nous avec les types et les techniques de test en boîte noire ainsi que son processus, ses avantages, ses inconvénients et certains outils d'automatisation pour le tester autres que les tests manuels.
Nous découvrirons également les différences entre les tests White Box et Black Box.
Liste des didacticiels «Black Box Test Techniques»:
Tutoriel n ° 1: Qu'est-ce que le test Black Box
Tutoriel n ° 2: Qu'est-ce que le test de la boîte blanche
Tutoriel n ° 3: Tests fonctionnels simplifiés
Tutoriel n ° 4: Qu'est-ce que le test de cas d'utilisation
Tutoriel # 5 : Technique de test de matrice orthogonale
Techniques
Tutoriel n ° 6: Analyse de la valeur aux limites et partitionnement d'équivalence
Tutoriel n ° 7: Test de la table de décision
Tutoriel n ° 8: Test de transition d'état
Tutoriel # 9 : Erreur de devinette
Tutoriel n ° 10: Méthodes de test basées sur des graphiques
Nous réalisons presque tous des tests Black Box tous les jours!
Que nous ayons appris ou non, nous avons tous effectué et effectué des tests Black Box plusieurs fois dans notre vie de tous les jours !!
À partir du nom lui-même, vous pouvez probablement comprendre qu'il implique une interaction avec le système, que vous testez comme une boîte mystère. Cela signifie que vous ne connaissez pas suffisamment le fonctionnement interne du système, mais que vous savez comment il doit se comporter.
Si nous prenons un Exemple pour tester notre voiture ou notre vélo, nous le conduisons toujours pour nous assurer qu'il ne se comporte pas de manière inhabituelle. Voir? Nous avons déjà effectué des tests Black Box.
Ce que vous apprendrez:
- Qu'est-ce que le test Black Box?
- Types de tests de boîte noire
- Outils de test Black Box
- Techniques de test de la boîte noire
- Comment faire par étapes?
- Avantages et inconvénients
- Différence entre les tests de boîte blanche et les tests de boîte noire
- Conclusion
- lecture recommandée
Qu'est-ce que le test Black Box?
Les tests en boîte noire sont également connus sous le nom de tests comportementaux, en boîte opaque, en boîte fermée, basés sur les spécifications ou les tests oculaires.
Il s'agit d'une méthode de test de logiciel qui analyse la fonctionnalité d'un logiciel / application sans en savoir beaucoup sur la structure / conception interne de l'élément testé et compare la valeur d'entrée avec la valeur de sortie.
questions d'entretien de codage java pour expérimenté
L'objectif principal de Black Box Testing est la fonctionnalité du système dans son ensemble. Le terme «Test comportemental» est également utilisé pour les tests Black Box. La conception des tests comportementaux est légèrement différente de la conception des tests boîte noire car l'utilisation de connaissances internes n'est pas strictement interdite, mais elle est toujours déconseillée.
Chaque méthode de test a ses propres avantages et inconvénients. Certains bogues ne peuvent pas être trouvés en utilisant la seule technique de la boîte noire ou de la seule boîte blanche.
La majorité des applications sont testées par la méthode Black Box. Nous devons couvrir la majorité des cas de test afin que la plupart des bogues soient découverts par un Boîte noire méthode.
Ces tests ont lieu tout au long du développement du logiciel et du cycle de vie des tests, c'est-à-dire aux étapes des tests unitaires, d'intégration, de système, d'acceptation et de régression.
Cela peut être à la fois fonctionnel ou non fonctionnel.
Types de tests de boîte noire
En pratique, il existe plusieurs types de tests Black Box qui sont possibles, mais si nous en considérons la variante principale, les deux principales sont mentionnées ci-dessous.
# 1) Test fonctionnel
Ce type traite des exigences fonctionnelles ou des spécifications d'une application. Ici, différentes actions ou fonctions du système sont testées en fournissant l'entrée et en comparant la sortie réelle avec la sortie attendue.
Par exemple ,lorsque nous testons une liste déroulante, nous cliquons dessus et vérifions qu'elle se développe et que toutes les valeurs attendues s'affichent dans la liste.
Peu de types principaux de tests fonctionnels sont:
- Test de fumée
- Test de santé mentale
- Test d'intégration
- Test du système
- Les tests de régression
- Test d'acceptation des utilisateurs
=> En savoir plus sur Test fonctionel .
# 2) Tests non fonctionnels
Outre les fonctionnalités des exigences, il existe également plusieurs aspects non fonctionnels qui doivent être testés pour améliorer la qualité et les performances de l'application.
Peu de types majeurs de tests non fonctionnels comprennent:
- Tests d'utilisation
- Test de charge
- Test de performance
- Test de compatibilité
- Test de stress
- Test d'évolutivité
=> En savoir plus sur Tests non fonctionnels .
comment ouvrir les fichiers json
Outils de test Black Box
Les outils de test Black Box sont principalement des outils d'enregistrement et de lecture. Ces outils sont utilisés pour les tests de régression pour vérifier si une nouvelle version a créé un bogue dans les fonctionnalités de l'application précédente.
Ces outils d'enregistrement et de lecture enregistrent des cas de test sous la forme de certains scripts comme TSL, script VB, Javascript, Perl, etc.
Techniques de test de la boîte noire
Afin de tester systématiquement un ensemble de fonctions, il est nécessaire de concevoir des cas de test. Les testeurs peuvent créer des cas de test à partir du document de spécification des exigences à l'aide des techniques de test Black Box suivantes.
- Partitionnement d'équivalence
- Analyse de la valeur limite
- Test de la table de décision
- Test de transition d'état
- Erreur de devinette
- Méthodes de test basées sur des graphiques
- Test de comparaison
Comprenons chaque technique en détail.
# 1) Partitionnement d'équivalence
Cette technique est également connue sous le nom de partitionnement de classe d'équivalence (ECP). Dans cette technique, les valeurs d'entrée du système ou de l'application sont divisées en différentes classes ou groupes en fonction de leur similitude dans le résultat.
Par conséquent, au lieu d'utiliser chaque valeur d'entrée, nous pouvons maintenant utiliser n'importe quelle valeur du groupe / classe pour tester le résultat. De cette façon, nous pouvons maintenir la couverture de test tout en réduisant beaucoup de retouches et surtout le temps passé.
Par exemple:
Comme présent dans l'image ci-dessus, un champ de texte «AGE» n'accepte que les nombres de 18 à 60. Il y aura trois ensembles de classes ou de groupes.
Deux classes invalides seront:
a) Inférieur ou égal à 17.
b) Supérieur ou égal à 61.
Une classe valide comprendra entre 18 et 60 ans.
Nous avons ainsi réduit les cas de test à seulement 3 cas de test basés sur les classes formées couvrant ainsi toutes les possibilités. Ainsi, tester avec n'importe quelle valeur de chaque ensemble de la classe est suffisant pour tester le scénario ci-dessus.
=> Lecture recommandée - Qu'est-ce que le partitionnement d'équivalence?
# 2) Analyse de la valeur limite
D'après le nom lui-même, nous pouvons comprendre que dans cette technique, nous nous concentrons sur les valeurs aux limites car il est constaté que de nombreuses applications ont un grand nombre de problèmes sur les limites.
Limite signifie les valeurs proches de la limite où le comportement du système change. Dans l'analyse des valeurs limites, les entrées valides et les entrées non valides sont testées pour vérifier les problèmes.
Par exemple:
Si nous voulons tester un champ où les valeurs de 1 à 100 doivent être acceptées, nous choisissons les valeurs limites: 1-1, 1, 1 + 1, 100-1, 100 et 100 + 1. Au lieu d'utiliser toutes les valeurs de 1 à 100, nous utilisons simplement 0, 1, 2, 99, 100 et 101.
# 3) Test de la table de décision
Comme son nom l'indique, partout où il y a des relations logiques comme:
Si
{
(Condition = Vrai)
puis action1;
}
else action2; / * (condition = Faux) * /
Ensuite, un testeur identifiera deux sorties (action1 et action2) pour deux conditions (Vrai et Faux). Ainsi, sur la base des scénarios probables, une table de décision est sculptée pour préparer un ensemble de cas de test.
Par exemple:
Prenons un exemple de la banque XYZ qui fournit un taux d'intérêt de 10% pour les personnes âgées de sexe masculin et de 9% pour le reste de la population.
Dans cet exemple de condition, C1 a deux valeurs comme vrai et faux, la condition C2 a également deux valeurs comme vrai et faux. Le nombre total de combinaisons possibles serait alors de quatre. De cette façon, nous pouvons dériver des cas de test en utilisant une table de décision.
test de base de données questions et réponses d'entrevue
# 4) Test de transition d'état
Le test de transition d'état est une technique utilisée pour tester les différents états du système testé. L'état du système change en fonction des conditions ou des événements. Les événements déclenchent des états qui deviennent des scénarios et un testeur doit les tester.
Un diagramme de transition d'état systématique donne une vue claire des changements d'état, mais il est efficace pour les applications plus simples. Des projets plus complexes peuvent conduire à des schémas de transition plus complexes, ce qui les rend moins efficaces.
Par exemple:
# 5) Deviner une erreur
Ceci est un exemple classique de tests basés sur l'expérience.
Dans cette technique, le testeur peut utiliser son expérience sur le comportement et les fonctionnalités de l'application pour deviner les zones sujettes aux erreurs. De nombreux défauts peuvent être trouvés en devinant les erreurs où la plupart des développeurs font généralement des erreurs.
Quelques erreurs courantes que les développeurs oublient généralement de gérer:
- Diviser par zéro.
- Gestion des valeurs nulles dans les champs de texte.
- Accepter le bouton Soumettre sans aucune valeur.
- Téléchargement de fichiers sans pièce jointe.
- Téléchargement de fichier avec une taille inférieure ou supérieure à la taille limite.
# 6) Méthodes de test basées sur des graphiques
Chaque application est une accumulation de certains objets. Tous ces objets sont identifiés et le graphique est préparé. À partir de ce graphe d'objets, chaque relation d'objet est identifiée et les cas de test sont écrits en conséquence pour découvrir les erreurs.
# 7) Test de comparaison
Différentes versions indépendantes du même logiciel sont utilisées pour se comparer les unes aux autres pour les tests dans cette méthode.
Comment faire par étapes?
En général, lorsqu'un processus systématique est suivi pour tester un projet / une application, la qualité est maintenue et est utile à long terme pour d'autres séries de tests.
- La première étape consiste à comprendre la spécification d'exigence d'une application. Un SRS (Software Requirement Specification) correctement documenté doit être en place.
- En utilisant les techniques de test Black Box mentionnées ci-dessus, telles que l'analyse de la valeur limite, le partitionnement d'équivalence, etc., des ensembles d'entrées valides et non valides sont identifiés avec leurs sorties souhaitées et les cas de test sont conçus sur cette base.
- Les cas de test conçus sont exécutés pour vérifier s'ils réussissent ou échouent en vérifiant les résultats réels avec les résultats attendus.
- Les cas de test ayant échoué sont signalés en tant que défauts / bogues et adressés à l'équipe de développement pour qu'ils soient corrigés.
- En outre, en fonction des défauts corrigés, le testeur teste à nouveau les défauts pour vérifier s'ils sont récurrents ou non.
Avantages et inconvénients
Avantages
- Le testeur n'a pas besoin d'avoir une formation technique. Il est important de tester en étant à la place de l’utilisateur et de penser du point de vue de l’utilisateur.
- Les tests peuvent être lancés une fois le développement du projet / de l'application terminé. Les testeurs et les développeurs travaillent indépendamment sans interférer dans l’espace de l’autre.
- Il est plus efficace pour les applications volumineuses et complexes.
- Les défauts et les incohérences peuvent être identifiés au tout début du test.
Désavantages
- Sans aucune connaissance technique ou en programmation, il y a des chances d'ignorer les conditions possibles du scénario à tester.
- Dans un temps imparti, il est possible de tester moins et de sauter toutes les entrées possibles et leur test de sortie.
- Une couverture de test complète n'est pas possible pour les projets volumineux et complexes.
Différence entre les tests de boîte blanche et les tests de boîte noire
Voici quelques différences entre les deux:
Test de la boîte noire | Test de la boîte blanche |
---|---|
C'est une méthode de test sans connaître le code réel ou la structure interne de l'application | C'est une méthode de test ayant des connaissances sur le code réel et la structure interne de l'application |
Il s'agit d'un test de niveau supérieur tel que le test fonctionnel. | Ce type de test est effectué à un niveau de test inférieur tel que les tests unitaires, les tests d'intégration |
Il se concentre sur la fonctionnalité du système testé | Il se concentre sur le code réel - programme et sa syntaxe |
Le test de la boîte noire nécessite une spécification d'exigence pour tester | Les tests White Box nécessitent des documents de conception avec des diagrammes de flux de données, des organigrammes, etc. |
Les tests de la boîte noire sont effectués par les testeurs | Les tests en boîte blanche sont effectués par des développeurs ou des testeurs ayant des connaissances en programmation. |
Conclusion
Voici quelques-uns des points de base concernant les tests en boîte noire et la vue d'ensemble de ses techniques et méthodes.
Comme il n'est pas possible de tout tester avec une implication humaine avec une précision de 100%, si les techniques et méthodes susmentionnées sont utilisées efficacement, cela améliorera certainement la qualité du système.
Pour conclure, il s'agit d'une méthode très utile pour vérifier la fonctionnalité du système et identifier la plupart des défauts.
J'espère que vous auriez acquis une connaissance approfondie de la technique de test Black Box.
lecture recommandée
- Différences clés entre les tests de boîte noire et les tests de boîte blanche
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test fonctionnel vs test non fonctionnel
- Tutoriel de test par paires ou de test toutes paires avec outils et exemples
- Test de la boîte blanche: un guide complet avec des techniques, des exemples et des outils
- Tutoriel de test de volume: exemples et outils de test de volume
- Tutoriel de test de configuration avec des exemples
- Téléchargement du livre électronique sur les tests