Stratégies de test pour des programmes synchrones : application au langage LUSTRE
Institution:
Toulouse, INPTDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
A travers l'exemple de lustre, les travaux realises dans le cadre de cette these ont pour but de definir des methodes de test appropriees a la nouvelle famille de langages a laquelle il appartient, c'est-a-dire les langages flot de donnees synchrones. La strategie de test que nous preconisons s'appuie sur la complementarite de donnees de test statistique et deterministe. Les entrees de test statistique sont generees aleatoirement, le profil de test et le nombre d'entrees etant determines a partir de criteres bases sur un modele du programme ; en complement, les entrees de test deterministe ciblent des points singuliers du domaine d'entree. Cette strategie mixte s'applique a chacune des etapes d'un processus progressif de test test unitaire et test d'integration. La definition des differents niveaux de test s'inscrit dans le cadre d'une demarche globale montante, qui est guidee par un souci d'optimisation de l'effort de test et de minimisation du cout global. Au niveau unitaire, la conception du test statistique et deterministe repose sur l'automate d'etats finis genere lors de la compilation lustre. La complexite de cet automate est alors un facteur decisif de l'algorithme definissant le niveau unitaire. Lors des phases d'integration, l'obtention d'un modele de complexite maitrisable consiste a faire abstraction des modules prealablement valides, afin de reduire la complexite de l'automate lustre. La definition des niveaux d'integration successifs procede iterativement en exploitant, a chaque stade de son deroulement, l'information acquise lors des tests precedents. L'ensemble de ces travaux theoriques est illustre par une etude de cas reel. Les resultats experimentaux confirment la faisabilite et l'efficacite de l'approche elaboree ; de plus, ils mettent en evidence des elements qui nous permettent d'affiner notre demarche et de proposer une methode de test globale combinant judicieusement test unitaire et test d'integration