Qu'est-ce que le test de transition d'état?
Le test de transition d'état est une technique de test de boîte noire dans laquelle les modifications apportées aux conditions d'entrée provoquent des changements d'état ou des modifications de sortie dans l'application sous test (AUT). Les tests de transition d'état aident à analyser le comportement d'une application pour différentes conditions d'entrée. Les testeurs peuvent fournir des valeurs de test d'entrée positives et négatives et enregistrer le comportement du système.
C'est le modèle sur lequel reposent le système et les tests. Tout système dans lequel vous obtenez une sortie différente pour la même entrée, en fonction de ce qui s'est passé auparavant, est un système à états finis.
La technique de test de transition d'état est utile lorsque vous devez tester différentes transitions du système.
Dans ce didacticiel, vous apprendrez-
- Qu'est-ce que la transition d'état dans les tests?
- Quand utiliser la transition d'état?
- Quand ne pas compter sur la transition d'état?
- Quatre parties du diagramme de transition d'état
- Diagramme de transition d'état et table de transition d'état
- Comment effectuer une transition d'état (exemples de transition d'état)
- Avantages et inconvénients de la technique de transition d'état
Quand utiliser la transition d'état?
- Cela peut être utilisé lorsqu'un testeur teste l'application pour un ensemble fini de valeurs d'entrée.
- Lorsque le testeur tente de tester la séquence d'événements qui se produisent dans l'application testée. C'est-à-dire que cela permettra au testeur de tester le comportement de l'application pour une séquence de valeurs d'entrée.
- Lorsque le système testé a une dépendance vis-à-vis des événements / valeurs du passé.
Quand ne pas compter sur la transition d'état?
- Lorsque le test n'est pas effectué pour les combinaisons d'entrées séquentielles.
- Si le test doit être effectué pour différentes fonctionnalités comme les tests exploratoires
Quatre parties du diagramme de transition d'état
Il y a 4 composants principaux du modèle de transition d'état comme ci-dessous
1) indique que le logiciel pourrait
2) Transition d'un état à un autre
3) Événements à l' origine d'une transition comme la fermeture d'un dossier ou le retrait d'argent
4) Actions qui résultent d'une transition (un message d'erreur ou la remise de l'argent).
Diagramme de transition d'état et table de transition d'état
Il existe deux façons principales de représenter ou de concevoir une transition d'état, un diagramme de transition d'état et une table de transition d'état.
Dans le diagramme de transition d'état, les états sont affichés dans des textes encadrés et la transition est représentée par des flèches. Il est également appelé State Chart ou Graph. Il est utile pour identifier les transitions valides.
Dans la table de transition d'état, tous les états sont répertoriés sur le côté gauche et les événements sont décrits en haut. Chaque cellule du tableau représente l'état du système après que l'événement s'est produit. Il est également appelé State Table. Il est utile pour identifier les transitions non valides.
Comment effectuer une transition d'état (exemples de transition d'état)
Exemple 1:
Considérons une fonction du système ATM où si l'utilisateur entre le mot de passe invalide trois fois, le compte sera verrouillé.
Dans ce système, si l'utilisateur entre un mot de passe valide dans l'une des trois premières tentatives, l'utilisateur sera connecté avec succès. Si l'utilisateur entre le mot de passe invalide lors du premier ou du deuxième essai, il lui sera demandé de ressaisir le mot de passe. Et enfin, si l'utilisateur saisit un mot de passe incorrect la troisième fois, le compte sera bloqué.
Diagramme de transition d'état
Dans le diagramme, chaque fois que l'utilisateur entre le code PIN correct, il passe à l'état Accès accordé, et s'il entre le mauvais mot de passe, il passe à la prochaine tentative et s'il fait de même pour la troisième fois, l'état de compte bloqué est atteint.
Table de transition d'état
Corriger le code PIN |
PIN incorrect |
|
---|---|---|
S1) Démarrer |
S5 |
S2 |
S2) 1ère tentative |
S5 |
S3 |
S3) 2 ème tentative |
S5 |
S4 |
S4) 3 ème tentative |
S5 |
S6 |
S5) Accès accordé |
- |
- |
S6) Compte bloqué |
- |
- |
Dans le tableau, lorsque l'utilisateur entre le code PIN correct, l'état passe à S5 qui est l'accès accordé. Et si l'utilisateur entre un mauvais mot de passe, il passe à l'état suivant. S'il fait la même 3 e temps, il atteindra le compte état bloqué.
Exemple 2:
Regardez cette vidéo avant de vous référer à l'exemple ci-dessous:
Cliquez ici si la vidéo n'est pas accessible
Dans l'écran de connexion de réservation de vol, considérez que vous devez entrer le nom et le mot de passe de l'agent corrects pour accéder à l'application de réservation de vol.
Il vous donne l'accès à l'application avec un mot de passe et un nom de connexion corrects, mais que faire si vous avez entré le mauvais mot de passe.
L'application autorise trois tentatives, et si les utilisateurs entrent le mauvais mot de passe à la quatrième tentative, le système ferme automatiquement l'application.
Les graphiques d'état vous aident à déterminer les transitions valides à tester. Dans ce cas, le test avec le mot de passe correct et avec un mot de passe incorrect est obligatoire. Pour les scénarios de test, ouvrez une session dans le 2 e , 3 e et 4 e tentative n'importe qui pourrait être testé.
Vous pouvez utiliser State Table pour déterminer les transitions système non valides.
Dans une table d'état, tous les états valides sont répertoriés sur le côté gauche de la table et les événements qui les provoquent en haut.
Chaque cellule représente l'état vers lequel se déplacera le système lorsque l'événement correspondant se produit.
Par exemple, lorsque vous êtes dans l'état S1, vous entrez un mot de passe correct, vous êtes redirigé vers l'état S6 (accès autorisé). Supposons que si vous avez entré le mauvais mot de passe lors de la première tentative, vous serez redirigé vers l'état S3 ou 2e essai.
De même, vous pouvez déterminer tous les autres états.
Deux états non valides sont mis en évidence à l'aide de cette méthode. Supposons que vous soyez dans l'état S6, c'est-à-dire que vous êtes déjà connecté à l'application, que vous ouvrez une autre instance de réservation de vol et que vous entrez des mots de passe valides ou non valides pour le même agent. La réponse du système pour un tel scénario doit être testée.
Avantages et inconvénients de la technique de transition d'état
Avantages |
Désavantages |
---|---|
Cette technique de test fournira une représentation graphique ou tabulaire du comportement du système qui permettra au testeur de couvrir et de comprendre efficacement le comportement du système. |
Le principal inconvénient de cette technique de test est que nous ne pouvons pas nous fier à cette technique à chaque fois. Par exemple, si le système n'est pas un système fini (pas dans un ordre séquentiel), cette technique ne peut pas être utilisée. |
En utilisant ce test, le testeur de technique peut vérifier que toutes les conditions sont couvertes et que les résultats sont capturés |
Un autre inconvénient est que vous devez définir tous les états possibles d'un système. Bien que cela convienne aux petits systèmes, cela se décompose rapidement en systèmes plus grands car il y a une progression exponentielle du nombre d'états. |
Résumé:
- Le test de transition d'état est défini comme la technique de test dans laquelle les changements des conditions d'entrée provoquent des changements d'état dans l'application sous test.
- En génie logiciel, la technique de test de transition d'état est utile lorsque vous devez tester différentes transitions système.
- Deux façons principales de représenter ou de concevoir une transition d'état, un diagramme de transition d'état et une table de transition d'état.
- Dans le diagramme de transition d'état, les états sont affichés dans des textes encadrés et la transition est représentée par des flèches.
- Dans la table de transition d'état, tous les états sont répertoriés sur le côté gauche et les événements sont décrits en haut.
- Ce principal avantage de cette technique de test est qu'elle fournira une représentation graphique ou tabulaire du comportement du système qui permettra au testeur de couvrir et de comprendre efficacement le comportement du système.
- Le principal inconvénient de cette technique de test est que nous ne pouvons pas nous fier à cette technique à chaque fois.