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 :