next up previous
Next: Vérification de cas de Up: Sujets de stages de Previous: Génération de tests par

Génération de tests et jeux

Lieu :
Irisa, Rennes
Equipe de recherche :
Pampa
Encadrant :
T. Jéron (tél. direct : 02 99 84 74 64, email : Thierry.Jeron@irisa.fr)
Mots clés :
test, jeu, stratégie, boîte noire, spécification formelle, objectif de test, système réactif.


Contexte : Le test de conformité de protocoles est un test de type boîte noire. C'est à dire que l'implémentation à tester n'est connue que par son interface et la conformité est définie par rapport à une spécification. Un test consiste alors en une suite de stimuli de l'implémentation et d'observations de ses réactions, découlant sur un verdict. En pratique, le test de conformité ne peut pas être exhaustif, les tests permettent donc de montrer la présence d'erreurs (non-conformité), mais ne permettent jamais de montrer leur absence (conformité).

Nous avons conçu et implémenté dans le prototype TGV des algorithmes permettant de générer automatiquement des tests de conformité à partir d'une spécification et d'un objectif de tests ciblant une propriété donnée. Ces algorithmes fonctionnent à la volée, c'est à dire par une construction paresseuse de la partie du graphe d'état nécéssaire à la synthèse du test. Les algorithmes sont fondés sur des parcours en profondeur.

D'autre part on peut modéliser le test par un jeu entre l'implémentation et le testeur. Cette modélisation permet à partir du calcul de stratégies du testeur, d'en déduire des tests qui maximisent le contrôle sur l'implémentation. Les algorithmes sont fondés actuellement sur un parcours en arrière qui nécéssitent de calculer tout le graphe d'état


Sujet : Dans un premier temps, il est possible d'utiliser le calcul de stratégie gagnante, donc le test, sur un graphe partiel produit par TGV. Ce graphe représente tous les comportements vérifiant l'objectif de test. Ensuite, il est envisageable de calculer les stratégies gagnantes pendant le backtracking du calcul en profondeur de TGV, ce qui qui devrait permettre une meilleure efficacité. Les algorithmes pourront être implémenté dans le prototype TGV.

D'autre part, la vision du test par le jeu pemet d'aborder différemment d'autres problèmes du test comme le non-déterminisme et la distribution. Le non-déterminisme peut s'aborder par un type de jeu où le testeur a une information imparfaite de l'état de l'implémentation. Le test distribué peut se modéliser par un autre type de jeu à information imparfaite mais à plusieurs joueurs (plusieurs testeurs) contre l'implémentation. Le but de ces travaux de nature plus fondamentale sera d'imaginer de nouveaux algorithmes de génération produisant des tests maximisant le contrôle du(des) testeur(s) sur l'implémentation.


next up previous
Next: Vérification de cas de Up: Sujets de stages de Previous: Génération de tests par