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.

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.
2) Transitions d'un État à l'autre.
3) Événements qui déclenchent une transition, comme la fermeture d'un dossier ou le retrait d'argent.
4) Action qui résultent d'une transition, comme un message d'erreur ou le versement d'espèces.
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)
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
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.
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. |





