Aller au contenu
Moamen Elmasry
FREN
Votre parcours · 0 compétences sur 29
Retour au cours

Module 01 · Les bases du test · 12 min

Des critères aux cas de test

Les techniques qui transforment un critère en cas qui le testent : chemin nominal, classes d'équivalence, valeurs limites, erreurs, états, droits et non-régression.


Révision

De la leçon précédente : quelles sont les trois parties d'un critère testable, et que faites-vous d'un chiffre que personne n'a décidé ?

Un critère, plusieurs cas

Un critère dit ce qui doit être vrai. Un cas de test le vérifie dans une situation précise. Un critère a presque toujours besoin de plusieurs cas, parce qu'un produit casse rarement sur le chemin évident : il casse sur la limite, sur le champ vide, sur le deuxième clic.

Sept techniques, dans l'ordre où les appliquer :

Technique Ce qu'elle donne Exemple dans ClaimTriage
Chemin nominal Un cas par résultat valide distinct Un conseiller qui a le droit ouvre un sinistre automobile et reçoit sa fiche
Classes d'équivalence Un cas par groupe d'entrées que la règle traite de la même façon Rôle avec le droit, rôle sans le droit
Valeurs limites Des cas sur chaque limite et sur la première valeur de chaque côté 19, 20, 2 000 et 2 001 caractères
Erreurs et dépendances en panne Un cas par refus, et par panne de ce dont le produit dépend Le service des droits ne répond pas
États et enchaînements Des cas pour les transitions qui comptent Ouvrir deux fois le même sinistre ; l'ouvrir après sa clôture
Droits Un cas par rôle qui doit être autorisé ou refusé Conseiller, superviseur, auditeur
Non-régression Un cas par défaut corrigé R-06, le sinistre voyage critique, gardé pour toujours

Les classes d'équivalence sont une affaire d'économie : si la règle traite tous les rôles autorisés de la même façon, un seul rôle autorisé suffit. Les valeurs limites, c'est là que vivent les bogues : un développeur qui écrit < au lieu de <= livre un produit juste partout, sauf exactement sur la limite. Une limite testée seulement au milieu est une limite non testée.

Exemple travaillé : la règle des droits

Critère : un conseiller dont le rôle n'a pas droit à la ligne de produit d'un sinistre reçoit ENTITLEMENT_DENIED et aucune fiche. La matrice des droits est tenue par la Conformité.

Cas Technique Résultat attendu Source
Conseiller avec le droit automobile, ouvre un sinistre automobile Nominal La fiche est renvoyée Matrice des droits
Conseiller sans le droit automobile, ouvre un sinistre automobile Classe d'équivalence : sans droit ENTITLEMENT_DENIED, aucune fiche Matrice des droits
Superviseur, qui a droit à toutes les lignes, ouvre un sinistre de responsabilité civile Droits La fiche est renvoyée Matrice des droits
Le service des droits ne répond pas Dépendance en panne ‹à confirmer avec le responsable technique› : refuser, ou laisser passer ? Écrit nulle part
Un conseiller perd le droit automobile, puis ouvre un sinistre automobile dans la même session État ENTITLEMENT_DENIED, aucune fiche Matrice des droits

Regardez la quatrième ligne. Personne n'a décidé ce que ClaimTriage doit faire quand le service des droits est arrêté : la matrice dit qui peut voir quoi, pas ce qui se passe quand on ne peut pas la lire. Le cas est écrit, et son résultat attendu reste à confirmer, avec son responsable. Écrire « refuser » parce que cela paraît plus prudent, ce serait inventer une spécification. C'est peut-être la bonne réponse ; ce n'est pas à vous de la donner.

Chaque cas nomme aussi la source de son résultat attendu. C'est cette colonne qui rend une relecture possible : n'importe qui peut vérifier le cas contre la matrice sans vous poser de question.

Pourquoi le cas « le service des droits ne répond pas » compte-t-il plus qu'un troisième cas nominal ?

La leçon suivante répond à la question que ce tableau a laissée de côté : à quel niveau chacun de ces cas tourne-t-il ?