Partitionnement des classes d’équivalence

Partitionnement des classes d’équivalence
MIN
04 Sep 2023

Lors de l’essai d’une application, quelle qu’elle soit, il est pratiquement impossible, voire très long, de tester tous les ensembles de combinaisons d’entrées. Par conséquent, afin de tester efficacement l’application, nous utilisons des techniques de test de logiciels telles que la technique de découpage en classes d’équivalence.

Grâce à cette technique, nous pouvons tester efficacement des applications logicielles avec un ensemble limité de données de test. Voyons maintenant cette technique en détail.

Quelle est la répartition des classes d’équivalence ?

Le partitionnement en classes d’équivalence est une technique de test en boîte noire ou de test basé sur les spécifications dans laquelle nous regroupons les données d’entrée en partitions logiques appelées classes d’équivalence.

On suppose que toutes les données appartenant à la classe d’équivalence seront traitées de la même manière par l’application logicielle testée lorsqu’elles lui seront transmises en entrée.

Ainsi, au lieu de tester toutes les combinaisons de données de test en entrée, nous pouvons sélectionner et transmettre à l’application des données de test d’une certaine classe d’équivalence et supposer que l’application se comportera de la même manière pour d’autres données de test de cette classe.

Exemple

Prenons l’exemple d’une application qui accepte en entrée un nombre numérique d’une valeur comprise entre 10 et 100 et qui détecte son autre côté. Nous pouvons maintenant utiliser les tests de classes d’équivalence pour créer les classes d’équivalence suivantes :

Classe d’équivalenceExplication
Chiffres de 10 à 100Cette classe contiendra des données de test pour le scénario positif.
Chiffres de 0 à 9Cette classe contiendra des données de test qui sont limitées par l’application car elle est conçue pour fonctionner uniquement avec des nombres de 10 à 100.
Supérieure à 100Cette classe contiendra à nouveau des données de test contraintes par l’application, mais cette fois-ci pour les tests de la limite supérieure.
Nombres négatifsÉtant donné que les nombres négatifs peuvent être traités d’une manière différente, nous allons créer une classe différente pour les nombres négatifs afin de vérifier la robustesse de l’application.
LettresCette classe sera utilisée pour tester la robustesse d’une application avec des caractères non numériques.
Caractères spéciauxÀ l’instar de la classe d’équivalence pour les lettres, nous pouvons disposer d’une classe d’équivalence distincte pour les caractères spéciaux.

Identification des classes d’équivalence

Discutons de quelques points ou bonnes pratiques concernant l’identification des classes d’équivalence :

  • La couverture de tous les types de données d’essai pour les scénarios d’essai positifs et négatifs est requise. Les classes de données de test doivent être créées de manière à couvrir tous les ensembles de scénarios de test, tout en évitant les redondances.
  • S’il est possible que les données d’essai d’une classe particulière soient traitées différemment, il est préférable de diviser cette classe d’équivalence.

Par exemple, dans l’exemple ci-dessus, l’application ne fonctionne pas avec les nombres inférieurs à 10. Ainsi, au lieu de créer une classe pour les nombres inférieurs à 10, nous avons créé deux classes : les nombres de 0 à 9 et les nombres négatifs. En effet, il est possible que l’application fonctionne différemment avec des nombres négatifs.

Avantages de tester des classes équivalentes

  • L’utilisation des tests de classes d’équivalence permet de réduire considérablement le nombre de cas de test tout en conservant la même couverture de test.
  • Cette technique de test permet de fournir un produit de qualité en un minimum de temps.
  • Il est parfaitement adapté aux projets de logiciels soumis à des contraintes de temps et de ressources.

Inconvénients des tests de classes équivalentes

  • Le succès des tests de classes d’équivalence dépend de l’identification des classes d’équivalence. L’identification de ces classes dépend des compétences des testeurs qui créent les classes et les cas de test basés sur celles-ci.
  • Pour les applications complexes, il est très difficile d’identifier l’ensemble des classes d’équivalence et cela nécessite une grande expertise de la part du testeur.
  • Des classes d’équivalence mal identifiées peuvent entraîner une réduction de la couverture des tests et la possibilité d’une fuite d’erreurs.