Aller au contenu
SDETRole
SDETRole

Glossaire · Conception des tests

Test par table de décision

En anglais : Decision table testing

Également appelé : table de décision, tables de décision, technique de la table de décision, table cause-effet

Définition

Une technique de conception de tests qui liste les combinaisons de conditions et l’action que chacune doit déclencher, afin que chaque règle métier ait son test.

Le test par table de décision modélise une logique métier qui dépend d’une combinaison de conditions. Vous listez les conditions en lignes, chaque combinaison pertinente de leurs valeurs en colonnes (les règles), et l’action attendue pour chaque règle. Chaque colonne devient au moins un cas de test. C’est la manière la plus fiable de s’assurer qu’aucune combinaison d’une règle complexe n’est oubliée.

Exemple : approbation d’un prêt

Règles : un demandeur est approuvé s’il a un score de crédit d’au moins 700 et un revenu d’au moins 40 000 $. Un score d’au moins 700 avec un revenu inférieur est transmis pour examen manuel. Les clients existants dont le score est inférieur à 700 sont également transmis. Tous les autres sont refusés.

Trois conditions oui/non donnent 2 x 2 x 2 = 8 règles :

Condition / Action R1 R2 R3 R4 R5 R6 R7 R8
Score de crédit >= 700 O O O O N N N N
Revenu >= 40 000 $ O O N N O O N N
Client existant O N O N O N O N
Approuver X X
Transmettre X X X X
Refuser X X

La rédiger fait surgir des questions auxquelles l’exigence ne répondait pas clairement. Par exemple, R5 et R7 sont toutes deux transmises : pour un client existant avec un score faible, le revenu ne change donc rien. Était-ce voulu, ou un score faible avec un revenu faible devrait-il être refusé même pour un client existant ? La table rend la question visible, ce qui permet de la faire confirmer par le product owner avant de tester.

Réduire la table

Quand une condition n’influe pas sur le résultat, on peut fusionner des règles en utilisant « - » pour « indifférent ». R1 et R2 approuvent toutes deux quel que soit le statut du client : elles se réduisent donc à une seule règle : score O, revenu O, client -. Réduire la table diminue le nombre de tests, mais gardez au moins un test par chemin d’action distinct.

Combiner avec d’autres techniques

Chaque condition a toujours ses valeurs limites. « Score >= 700 » doit être testé avec 699 et 700, et « revenu >= 40 000 $ » avec 39 999 $ et 40 000 $. Utilisez la table de décision pour couvrir les combinaisons et l’analyse des valeurs limites pour choisir les valeurs concrètes.

Quand l’utiliser

Les tables de décision conviennent aux règles comportant plusieurs conditions qui interagissent : tarifs et remises, éligibilité, permissions, devis d’assurance, fiscalité. Avec beaucoup de conditions, la table grossit en 2^n : regroupez les conditions, éliminez celles qui ne comptent pas, ou passez au test pairwise pour des options de configuration indépendantes.

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →