Thèse soutenue

Contribution au test des logiciels orientés-objets : ordre de test, modèles et critères associés

FR
Auteur / Autrice : Yvan Labiche
Direction : Pascale Thévenod-Fosse
Type : Thèse de doctorat
Discipline(s) : Informatique et télécommunications
Date : Soutenance en 2000
Etablissement(s) : Toulouse, INPT

Mots clés

FR

Mots clés contrôlés

Résumé

FR

L'architecture particulière des logiciels orientés-objet, architecture éclatée d'objets communicants, ainsi que les caractéristiques propres à l'orienté-objet (classe, héritage, polymorphisme) conduisent à se reposer les deux questions fondamentales du test dans le cas des logiciels orientés-objet : quels sont les niveaux de test à envisager ? Quels modèles, et critères de test associés, peuvent être utilisés ? Les travaux présentés dans ce mémoire apportent des éléments de réponses à ces questions. En ce qui concerne le premier point, nous nous sommes attachés à définir un nombre de test des classes d'une application orientée-objet à partir des informations issues du dossier de conception (architecture statique). Le travail théorique a porté sur la formalisation d'un algorithme d'ordonnancement partiel des étapes de test. Cet algorithme est guidé par le souci de minimiser le nombre de "stubs" (bouchons) qu'il sera nécessaire de développer. Il est basé sur l'analyse des dépendances entre les classes (y compris le polymorphisme) et traite le cas particulier des classes abstraites. Il est concrétisé par l'outil logiciel TOONS (Testing levels generator for Object-OrieNted Software) qui fournit le graphe des étapes de test à partir de l'architecture statique des classes. Pour chaque étape de test, nous proposons ensuite des modèles permettant de définir des critères de test. Leur construction cible les relations d'héritage et de client-serveur. Elle est incrémentable de manière à pouvoir, dans une étape de test, réutiliser ce qui a été effectué dans les étapes précédentes. Ces différents travaux utilisent des informations issues des dossiers d'analyse et de conception, et peuvent donc être utilisés au plus tôt dans le processus de développement, pour permettre un retour sur la conception en vue de la testabilité. Ils sont illustrés par leur application au prototype d'un logiciel issu du domaine avionique.