Tests de transition d'état avec exemple

⚡ Résumé intelligent

Les tests de transition d'état sont une technique de test boîte noire qui permet de vérifier comment une application passe d'un état à un autre en fonction des modifications des conditions d'entrée. Ce tutoriel explique les quatre parties du diagramme, la différence entre les diagrammes d'état et les tableaux, et propose des exemples concrets de distributeurs automatiques de billets et de connexion pour les testeurs.

  • (I.e. Idée de base : Cette technique vérifie le comportement du système lorsque la même entrée produit des sorties différentes en fonction d'événements antérieurs (un système à états finis).
  • 🧩 Quatre éléments constitutifs : Chaque modèle est construit à partir d'états, de transitions, d'événements et d'actions.
  • Diagramme vs Tableau : Les diagrammes révèlent les transitions valides ; les tableaux exposent les transitions invalides.
  • (I.e. Exemples pratiques : Le blocage du code PIN du distributeur automatique et la connexion aux réservations de vols démontrent une couverture réelle.
  • 🤖 Activation de l'IA : Les outils d'IA génèrent automatiquement des modèles d'état à partir des exigences et signalent les transitions manquantes ou invalides.

Tests de transition d'État — États

Qu'est-ce que le test de transition d'état?

Tests de transition d'état Il s'agit d'une technique de test boîte noire dans laquelle les modifications des conditions d'entrée entraînent des changements d'état ou de sortie de l'application testée (AUT). Elle permet d'analyser le comportement d'une application pour différentes conditions d'entrée, et les testeurs peuvent fournir des valeurs d'entrée positives et négatives tout en enregistrant le comportement du système.

Elle repose sur le modèle sur lequel le système et les tests sont construits. Tout système produisant une sortie différente pour une même entrée, selon son état précédent, est un système à états finis. La technique de test de transition d'état est utile lorsqu'il est nécessaire de tester différentes transitions du système.

Quand utiliser les tests de transition d'état

  • Lorsqu'un testeur teste l'application pour un ensemble fini de valeurs d'entrée.
  • Lorsque le testeur teste une séquence d'événements qui se produisent dans l'application sous test (AUT), cela permet de vérifier le comportement de l'application pour une séquence de valeurs d'entrée.
  • Lorsque le système testé dépend d'événements ou de valeurs du passé.

Quand ne pas se fier aux tests de transition d'état

  • Lorsque le test n’est pas effectué pour les combinaisons d’entrées séquentielles.
  • Lorsque les tests ciblent différentes fonctionnalités, comme dans le cas des tests exploratoires.

Les quatre parties d'un diagramme de transition d'état

Le modèle de transition d'état comporte quatre composantes principales, décrites ci-dessous.

1) États que le logiciel pourrait atteindre.

Tests de transition d'État — États

2) Transitions d'un État à l'autre.

Tests de transition d'état — Transition

3) Événements qui déclenchent une transition, comme la fermeture d'un dossier ou le retrait d'argent.

Tests de transition d'état — Événements

4) Action qui résultent d'une transition, comme un message d'erreur ou le versement d'espèces.

Tests de transition d'état — Actions

Diagramme de transition d'état vs Tableau de transition d'état

Il existe deux principales manières de représenter ou de concevoir une transition d'état : le diagramme de transition d'état et le tableau de transition d'état.

Aspect Diagramme de transition d'état Tableau de transition d'état
Aussi appelé Tableau/Graphique d'état Tableau des états
Représentation Boxe pour les états, flèches pour les transitions Grille des états (lignes) et des événements (colonnes)
Meilleur pour l'identification transitions valides Transitions invalides
Chaque cellule affiche - L'état atteint après qu'un événement se soit produit

Comment effectuer une transition d'état (exemples)

Exemple 1 : Verrouillage du code PIN d’un distributeur automatique de billets

Prenons l'exemple d'un système de guichet automatique bancaire dont le compte est bloqué si l'utilisateur saisit un mot de passe incorrect trois fois.

Dans ce système, si l'utilisateur saisit un mot de passe valide lors de l'une des trois premières tentatives, il est connecté. S'il saisit un mot de passe incorrect lors de la première ou de la deuxième tentative, il est invité à le ressaisir. Enfin, s'il saisit un mot de passe incorrect une troisième fois, son compte est bloqué.

Diagramme de transition d'état (Exemple 1)

Diagramme de transition d'état du code PIN du distributeur automatique de billets

Dans le schéma, lorsque l'utilisateur saisit le code PIN correct, son accès est autorisé. S'il saisit un code PIN incorrect, il doit réessayer. Après une troisième tentative infructueuse, son compte est bloqué.

Tableau de transition d'état (Exemple 1)

État Corriger le code PIN NIP incorrect
S1) Démarrer S5 S2
S2) 1ère tentative S5 S3
S3) 2e tentative S5 S4
S4) 3e tentative S5 S6
S5) Accès accordé - -
S6) Compte bloqué - -

Dans le tableau, lorsque l'utilisateur saisit le code PIN correct, l'état passe à S5 (Accès autorisé). S'il saisit un mot de passe incorrect, il passe à l'état suivant, et après trois tentatives infructueuses, son compte est bloqué.

Exemple 2 : Connexion à la réservation de vol

Sur l'écran de connexion à la réservation de vols, vous devez saisir le nom de l'agent et le mot de passe corrects pour accéder au demande de réservation de vol.

Graphique de transition d'état de réservation de vol

Graphique de transition d'état

L'application autorise trois tentatives ; si l'utilisateur saisit un mot de passe incorrect à la quatrième tentative, le système ferme automatiquement l'application.

Le graphe d'état vous aide à déterminer les transitions valides à tester. Il est obligatoire de tester avec un mot de passe correct et un mot de passe incorrect. scénarios de testIl serait possible de tester la connexion à la 2e, 3e ou 4e tentative. Vous pouvez utiliser une table d'état pour identifier les transitions système invalides.

Tableau de transition d'état de réservation de vol

Dans une table d'états, tous les états valides sont listés à gauche et les événements qui les provoquent en haut. Chaque cellule indique l'état vers lequel le système passe lorsque l'événement se produit. Par exemple, à l'état S1, un mot de passe correct vous amène à l'état S6 (Accès autorisé) ; un mot de passe incorrect lors de la première tentative vous amène à l'état S3 (Deuxième tentative). De même, vous pouvez déterminer tous les autres états.

Cette méthode met en évidence deux états invalides. Supposons que vous soyez en état S6 (déjà connecté) et que vous ouvriez une autre instance de réservation de vol en saisissant les mots de passe du même agent. La réponse du système dans ce cas de figure doit être testée.

Avantages et inconvénients de la technique de transition d'État

Avantages Désavantages
Fournit une représentation picturale ou tabulaire du comportement du système, aideping Le testeur couvre et comprend efficacement le système. On ne peut pas s'y fier en toutes circonstances — par exemple, cela ne convient pas aux systèmes qui ne sont ni finis ni séquentiels.
Permet au testeur de vérifier que toutes les conditions sont couvertes et que les résultats sont enregistrés. Cela nécessite de définir tous les états possibles. Cette approche fonctionne pour les petits systèmes, mais devient inadaptée aux grands systèmes en raison de la croissance exponentielle du nombre d'états.

FAQ

Le test de transition d'état est une technique de type boîte noire qui vérifie comment un système passe d'un état à un autre en fonction des variations des conditions d'entrée. Il convient aux systèmes à états finis où une même entrée peut produire différentes sorties selon les événements antérieurs.

Les quatre parties sont les états (conditions dans lesquelles le logiciel peut se trouver), les transitions (mouvement entre les états), les événements (déclencheurs qui provoquent une transition) et les actions (résultats d'une transition, tels qu'un message ou une sortie).

Un diagramme de transition d'états utilise des cases et des flèches et est idéal pour identifier les transitions valides. Un tableau d'états répertorie les états en fonction des événements dans une grille et est idéal pour repérer les transitions invalides.

Évitez cette méthode lorsque les entrées ne sont pas séquentielles ou lors de tests exploratoires de fonctionnalités variées. Elle devient également inadaptée aux très grands systèmes, car le nombre d'états y croît de façon exponentielle.

Un test de couverture à 0 commutation vérifie chaque transition valide une seule fois. Un test de couverture à 1 commutation vérifie chaque paire de transitions consécutives. Une couverture de commutation plus élevée détecte davantage de défauts liés à la séquence, mais nécessite plus de cas de test.

Il s'agit d'une technique de boîte noire. Les cas de test sont dérivés du comportement externe attendu des états et des transitions, sans nécessiter la connaissance du code source interne de l'application.

Les outils d'IA lisent les exigences et construisent automatiquement des modèles d'état, puis génèrent des cas de test couvrant les chemins valides et les transitions d'arêtes. Cela réduit l'effort de modélisation manuelle et améliore la couverture des séquences complexes.

Oui. L'IA peut analyser un modèle d'état et signaler les transitions manquantes, inaccessibles ou invalides en le comparant aux modèles de comportement attendus.ping Les testeurs repèrent les lacunes que les analyses manuelles des tableaux laissent souvent passer.

Résumez cet article avec :