2009-12-24 4 views
0

Je suis vraiment coincé avec certains concepts de test à base de l'état ...tests basés sur État (diagrammes d'états) et la transition des séquences

Je suis en train de calculer des séquences de contrôle qui couvriront toutes les transitions de chaque état et j'ai la réponses, mais je ne les comprendre:

alt text http://www.gam3r.co.uk/1m.jpg

maintenant les réponses que je l'ai sont:

alt text http://www.gam3r.co.uk/2m.jpg

Je ne comprends pas du tout. Par exemple, disons que nous voulons vérifier la transition a/x de s1, ne ferions-nous pas ab seulement? Comme nous sommes déjà dans s1, nous faisons a/x pour tester la transition vers s2, puis b pour vérifier que nous sommes dans le bon état précédent (s1)? Je ne comprends pas pourquoi c'est aba ou même bb pour s1 ...

Quelqu'un peut-il m'en parler?

Merci

Répondre

1

Il y a 2 événements disponibles dans chacun des 4 états, ce qui donne 8 transitions, que l'auteur a décidé de tester en 8 séquences de test séparées. Chaque séquence (à l'exception des séquences S1 - apparemment l'état initial de la machine est S1) doit conduire la machine à l'état cible et ensuite effectuer l'événement a ou l'événement b.

Les séquences qu'il a choisies sont suffisantes, en ce que chaque transition est couverte. Cependant, ils ne sont pas uniques, et - comme vous l'avez observé - pas minimes.

Un choix plus évident serait la suivante:

a b ab aa aaa AAB ba bb

Je ne comprends pas le but de l'auteur en ajoutant des transitions superflues à la fin de chaque séquence. Le système est une machine Mealy - le comportement de la machine est uniquement déterminé par l'état actuel et l'événement. Il n'y a pas de mémoire du chemin menant à l'état actuel; par conséquent, les transitions supplémentaires de l'auteur ne fournissent aucune couverture supplémentaire et ne font que créer de la confusion.

Vous avez également raison de dire que vous pouvez couvrir toutes les transitions avec un ensemble de chemins plus courts dans le graphique. Cependant, je serais peu enclin à le faire. La clarté est plus importante que l'optimisation pour le code de test.

Questions connexes