Qu'est-ce que le test de domaine dans les tests de logiciels ? (avec exemple)

⚡ Résumé intelligent

Les tests de domaine vérifient une application en lui fournissant le plus petit ensemble d'entrées utiles, couvrant les valeurs valides, invalides et limites, et en confirmant que seules les valeurs comprises dans la plage acceptée produisent la sortie requise.

  • (I.e. Idée centrale : Divisez chaque domaine d'entrée en classes d'équivalence et testez une valeur représentative par classe, et non toutes les entrées possibles.
  • ☑️ Concentration sur les limites : Les valeurs situées aux limites de la classe, et juste en dehors, révèlent beaucoup plus souvent des défauts d'écart d'une unité que les valeurs moyennes.
  • ✅ Techniques jumelées : L'analyse des classes d'équivalence détermine le groupeping; l'analyse des valeurs limites détermine quel membre de chaque groupe exécuter.
  • 🧪 Exemple concret : Un module de billetterie attribuant les compétitions en fonction de l'âge et du sexe réduit quatre classes d'âge à un ensemble de test court et de grande valeur.
  • 📈 Dépendance des connaissances : Déterminer si une sortie est correcte nécessite des règles métier ; cette technique convient donc à des blocs de logique petits et bien compris.

Tests de domaine dans les tests logiciels avec classes d'équivalence et valeurs limites

Qu'est-ce que le test de domaine ?

Test de domaine est une test logiciel Le test de domaine est un processus qui consiste à tester une application en lui fournissant un nombre minimal d'entrées et en évaluant ses sorties. Son objectif principal est de vérifier si l'application accepte des entrées dans la plage acceptable et produit les sorties attendues.

Il s'agit d'un test fonctionel Cette technique consiste à tester la sortie d'un système avec un nombre minimal d'entrées afin de s'assurer que le système n'accepte pas de valeurs d'entrée invalides ou hors plage. Elle est également considérée comme l'une des plus importantes. test boîte blanche Il vérifie en outre que le système ne doit pas accepter d'entrées, de conditions et d'indices en dehors de la plage spécifiée ou valide.

Les tests de domaine diffèrent pour chaque domaine spécifique ; vous avez donc besoin de connaissances spécifiques au domaine pour tester un système logiciel.

Pratique plus simple des tests de domaine

Dans les tests de domaine, nous divisons un domaine en sous-domaines (classes d'équivalence), puis testons en utilisant les valeurs de chaque sous-domaine. Par exemple, si un site Web (domaine) a été soumis à des tests, nous diviserons le site Web en petites parties (sous-domaine) pour faciliter les tests.

Le domaine peut impliquer le test d'une seule variable d'entrée ou d'une combinaison de variables d'entrée.

Les praticiens étudient souvent les cas les plus simples de tests de domaine sous deux autres noms : « tests de limites » et « analyse des classes d’équivalence ».

Tests de limites - Analyse des valeurs limites (BVA) repose sur des tests effectués aux limites entre les partitions. Nous testerons les valeurs d'entrée valides et invalides dans les partitions/classes.

Tests de classes d'équivalence – L'idée derrière cette technique est de diviser (c'est-à-dire de partitionner) un ensemble de conditions de test en groupes ou ensembles qui peuvent être considérés comme identiques (c'est-à-dire que le système doit les traiter de manière équivalente), d'où le « partitionnement d'équivalence ».

Cette forme simplifiée s'applique aux tests de domaine –

  • Uniquement pour les tests des variables d'entrée
  • Uniquement lorsqu'il est testé à niveau du système
  • Uniquement lorsqu'il est testé un à la fois
  • Seulement lorsqu'il est testé de manière très superficielle

Cela peut être simplifié comme ci-dessous :

Variable Classe d'équivalence de classe valide Classe d'équivalence de classe invalide Limites et cas particuliers Remarques
X 0-100 0
100
<0 -1
> 100 101

Explication:

  • Si un champ accepte des valeurs comprises entre 0 et 100, il ne doit pas accepter -1 et 101, car ce sont des valeurs invalides et hors limites.
  • Ce champ doit accepter des valeurs telles que 0, 100 et tout nombre compris entre ces deux valeurs.

Construire des tables comme celles-ci (en pratique)

  • Pour établir une analyse d'équivalence au fil du temps, saisissez les données dans un tableur. Commencez par lister les variables. Ajoutez les informations les concernant au fur et à mesure que vous les obtenez.
  • Le tableau doit à terme contenir toutes les variables. Cela inclut toutes les variables d'entrée, toutes les variables de sortie et toutes les variables intermédiaires observables.
  • En pratique, la plupart de ces tableaux sont incomplets. Les meilleurs recensent toutes les variables et fournissent des détails supplémentaires pour les plus importantes.

Stratégie de test de domaine

Lors des tests de domaine, vous devez prendre en compte les éléments suivants :

  • Quel domaine testons-nous ?
  • Comment regrouper les valeurs en classes ?
  • Quelles valeurs des classes tester ?
  • Comment déterminer le résultat ?

Quel domaine testons-nous ?

Tout domaine testé possède des fonctionnalités d'entrée et de sortie. Des variables d'entrée doivent être saisies, et la sortie correspondante doit être vérifiée. Le diagramme ci-dessous illustre cette relation entre les entrées et les sorties.

Stratégie de test de domaine montrant comment les variables d'entrée alimentent un domaine et produisent une sortie

Exemple de test de domaine

Considérons un scénario de test d'entrée unique :

C = a+b, où a et b sont des variables d'entrée et C est la variable de sortie.

Dans l'exemple ci-dessus, il n'est pas nécessaire d'effectuer une classification, ni aucune combinaison de variables.

Considérez les multiples entrées ci-dessous et le scénario de sortie approprié :

Prenons l'exemple d'une exposition de jeux pour enfants. Six compétitions sont proposées, et les billets doivent être distribués en fonction de l'âge et du sexe. La billetterie est l'un des modules à tester pour évaluer le bon fonctionnement de l'ensemble de l'exposition.

Selon le scénario, nous avons obtenu six scénarios en fonction de l'âge et des compétitions :

  • Les garçons âgés de plus de 5 ans et de moins de 10 ans devraient participer à la narration d'histoires.
  • Les filles âgées de plus de 5 ans et de moins de 10 ans devraient participer au concours de dessin.
  • Les garçons âgés de plus de 10 ans et de moins de 15 ans devraient participer au quiz.
  • Les filles âgées de plus de 10 ans et de moins de 15 ans devraient participer à la rédaction d'un essai.
  • Les enfants de 5 ans et moins, garçons et filles, sont invités à participer au concours de comptines.
  • À partir de 15 ans, les garçons et les filles doivent participer au concours de poésie.

Ici, les données d'entrée seront l'âge et le sexe, et le billet pour le concours sera alors délivré. Dans ce cas, les données d'entrée sont réparties, ou simplement regroupées.ping des valeurs, entre en jeu.

Comment regrouper les valeurs en classes ?

Partitionner des valeurs signifie les diviser en ensembles non superposés.ping sous-ensembles.

Comme nous l'avons vu précédemment, il existe deux types de partitionnement :

  • Partitionnement d'équivalence – Le partitionnement par équivalence est une technique de test logiciel qui divise les données d'entrée d'une unité logicielle en partitions de données équivalentes à partir desquelles cas de test peuvent être déduits. En principe, les cas de test sont conçus pour couvrir chaque partition au moins une fois.
  • Analyse des valeurs limites L'analyse des valeurs limites est une technique de test logiciel qui consiste à concevoir des tests incluant des représentants des valeurs limites d'un intervalle. Le concept provient de la notion de limite.

Dans l'exemple ci-dessus, nous répartissons les valeurs en sous-ensembles. Nous répartissons l'âge selon les classes suivantes :

  • Classe 1 : Enfants âgés de 5 à 10 ans
  • Classe 2 : Enfants âgés de moins de 5 ans
  • Classe 3 : Enfants âgés de 10 à 15 ans
  • Classe 4 : Enfants âgés de plus de 15 ans.

Quelles valeurs des classes tester ?

Les valeurs retenues pour les tests doivent être des valeurs limites :

  • Les frontières sont représentatives des classes d'équivalence dont elles sont issues. Elles sont plus susceptibles de révéler une erreur que les autres membres de la classe, et sont donc de meilleures représentantes.
  • Le meilleur représentant d’une classe d’équivalence est une valeur intermédiaire.

Pour l'exemple ci-dessus, nous avons les classes suivantes à tester :

Par exemple, pour le scénario n° 1 :

Classe 1 : Enfants âgés de 5 à 10 ans (Âge >5 et <=10)

Valeurs limites :

  • Les valeurs doivent être inférieures ou égales à 10. Par conséquent, l'âge de 10 ans doit être inclus dans cette catégorie.
  • Les valeurs doivent être supérieures à 5. Par conséquent, l’âge de 5 ans ne doit pas être inclus dans cette classe.
  • Les valeurs doivent être inférieures ou égales à 10. Par conséquent, l'âge de 11 ans ne doit pas être inclus dans cette classe.
  • Les valeurs doivent être supérieures à 5. Par conséquent, l’âge de 6 ans doit être inclus dans cette classe.

Valeurs de la partition d'équivalence :

On parle de partition d'équivalence lorsqu'il faut tester une seule condition par partition. Dans ce cas, on suppose que si une condition d'une partition est vérifiée, alors toutes les autres conditions le sont également. De même, si une condition d'une partition n'est pas vérifiée, on suppose qu'aucune des autres conditions ne le sera. Par exemple,

(Âge >5 et <=10)

Les valeurs de 6 à 10 étant valides, il convient d'en sélectionner une parmi 6, 7, 8, 9 et 10. L'âge « 8 » est donc une valeur valide pour la tranche d'âge comprise entre 5 et 10 ans. Ce type de partitionnement est appelé partition d'équivalence.

Scénario Valeurs limites à prendre Valeurs de partitionnement d'équivalence
Garçon – Âge >5 et <=10 Âge d'entrée = 6
Âge d'entrée = 5
Âge d'entrée = 11
Âge d'entrée = 10
Âge d'entrée = 8
Fille – Âge >5 et <=10 Âge d'entrée = 6
Âge d'entrée = 5
Âge d'entrée = 11
Âge d'entrée = 10
Âge d'entrée = 8
Garçon – Âge >10 et <=15 Âge d'entrée = 11
Âge d'entrée = 10
Âge d'entrée = 15
Âge d'entrée = 16
Âge d'entrée = 13
Fille – Âge >10 et <=15 Âge d'entrée = 11
Âge d'entrée = 10
Âge d'entrée = 15
Âge d'entrée = 16
Âge d'entrée = 13
Âge <=5 Âge d'entrée = 4
Âge d'entrée = 5
Âge d'entrée = 3
Age> 15 Âge d'entrée = 15
Âge d'entrée = 16
Âge d'entrée = 25

Comment déterminons-nous si le programme a réussi ou échoué au test ?

La réussite de l'évaluation ne dépend pas uniquement des résultats des scénarios précédents. Les résultats dépendent de la compréhension des données d'entrée et des résultats attendus, ce qui requiert une connaissance approfondie du domaine.

Détermination des résultats de l'exemple : l'écran ci-dessous affiche la billetterie pour chaque combinaison d'âge et de sexe.

Production de billets pour chaque combinaison d'âge et de sexe utilisée pour déterminer les résultats des tests de domaine

Par conséquent, si tous les tests ci-dessus sont concluants, le domaine de l'émission de billets dans le cadre du concours est validé. Dans le cas contraire, il est considéré comme non validé.

Structure de test de domaine

En général, les testeurs suivent les étapes ci-dessous lors des tests de domaine. Celles-ci peuvent être personnalisées ou ignorées en fonction de nos besoins de test.

  • Identifiez les variables potentiellement intéressantes.
  • Identifiez la ou les variables que vous pouvez analyser maintenant et classez-les (de la plus petite à la plus grande et vice versa).
  • Créez et identifiez les valeurs limites et les valeurs de classe d’équivalence comme ci-dessus.
  • Identifiez les dimensions secondaires et analysez chacune d'elles de manière classique. (Dans l'exemple ci-dessus, le genre est la dimension secondaire.)
  • Identifiez et testez les variables qui contiennent des résultats (variables de sortie).
  • Évaluez comment le programme utilise la valeur de cette variable.
  • Identifier d'autres variables potentiellement liées pour des tests combinés, où test de table de décision aide.
  • Imaginez des risques qui ne correspondent pas nécessairement à une dimension évidente.
  • Identifiez et répertoriez les variables non analysées. Recueillir des informations pour une analyse ultérieure.
  • Résumez votre analyse avec un tableau risque/équivalence.

FAQ

Les deux étiquettes apparaissent en pratique. Les classes dérivées de la spécification en font un boîte noire La technique ; les classes dérivées du code en font une boîte blanche. L’analyse elle-même est identique.

Elle couvre les zones sujettes aux erreurs avec très peu de cas de test. Ses limites sont réelles : les frontières sont difficiles à définir précisément et les flux de travail complets ne sont jamais testés ; elle complète donc d’autres méthodes plutôt que de les remplacer.

Le partitionnement par équivalence est une étape du test de domaine, qui consiste également à ordonner les variables, à ajouter une analyse des limites, à gérer les dimensions secondaires et les variables de sortie, et à aboutir à une table des risques.

Les deux se recoupent sans être identiques. Cet article traite de l'analyse du domaine d'entrée, tandis que les usages industriels tels que… tests du domaine des soins de santé cela implique de réaliser des tests en s'appuyant sur la connaissance du secteur, ce qui reste nécessaire pour évaluer les résultats attendus.

Les assistants IA analysent une exigence et proposent des classes d'équivalence candidates, des valeurs limites et les cas invalides manquants. Un testeur doit néanmoins confirmer les limites réelles, car une plage mal déduite produit un ensemble de test fiable mais inutilisable.

Copilote GitHub Le programme génère des méthodes de test paramétrées dès que les classes et les arêtes apparaissent dans l'invite de commande ou le code. Les limites métier non spécifiées doivent être fournies par le testeur.

Chaque combinaison augmente de façon multiplicative, ce qui la rend rarement pratique. Analysez d'abord chaque variable individuellement, puis utilisez des comparaisons par paires ou tableau orthogonal sélection des combinaisons risquées.

Tester uniquement les classes valides et ignorerping test négatif, en utilisant une limite inclusive là où la règle est exclusive, et en ignorant complètement les variables de sortie.

Résumez cet article avec :