Taha Triki - Réduction et filtrage de tests combinatoires

07:45
Friday
4
Oct
2013
Organized by: 
Taha Triki
Speaker: 
Taha Triki
Teams: 

- Thèse réalisée sous la direction de Yves Ledru et Lydie du Bousquet, (équipe VASCO du LIG)

- Lieu de soutenance : Amphi F018 de l’UFR IM2AG

- Composition du Jury :

  • Virgine Wiels, Maître de recherche, ONERA/DTIM, Rapporteur
  • Fabrice Bouquet, Professeur, Université de Franche-Comté, Rapporteur
  • Fatiha Zaïdi, Maître de conférence, Université Paris-Sud XI, Examinateur
  • Jean-Claude Fernandez, Professeur, Université Joseph Fourier, Examinateur et président de Jury
  • Yves Ledru, Professeur, Université Joseph Fourier, Directeur de thèse
  • Lydie du Bousquet, Professeur, Université Joseph Fourier, Codirecteur de thèse

L’objectif principal de cette thèse est d’apporter des solutions à certaines problématiques du test combinatoire. Le test combinatoire consiste à générer des tests qui couvrent toutes les combinaisons de valeurs d’entrée définies. La première problématique de cette thèse, c’est que le test combinatoire peut générer un grand nombre de tests qui sont invalides par rapport à la spécification du système à tester (SUT). Ces tests invalides sont typiquement ceux qui échouent la pré-condition d’une opération du système. Ces tests invalides doivent être éliminés de l’ensemble des tests utilisés pour évaluer le SUT, car ils conduisent à des verdicts non concluant. Comme solution, nous proposons de coupler la technique de test combinatoire à une technique d’animation qui repose sur une spécification pour filtrer les tests invalides. Dans notre travail, les tests combinatoires sont générés à partir d’un patron de test. Il est essentiellement défini comme une séquence d’appels d’opération, en utilisant un ensemble de valeurs pour les paramètres. Le dépliage d’un patron de test complexe, où plusieurs valeurs d’entrée sont utilisées, peut être soumis à une explosion combinatoire, et il est impossible d’avoir des tests valides à partir du patron de test. Il s’agit d’une deuxième problématique de cette thèse. Comme solution, nous proposons un processus de dépliage et d’animation incrémental qui permet de filtrer à un stade précoce (dans la séquence d’appels d’opération) les tests invalides, et donc de maîtriser l’explosion combinatoire. D’autres mécanismes de filtrage sont proposés, pour filtrer les tests qui ne couvrent pas certains comportements d’opération ou ne remplissent pas une propriété donnée. Le nombre de tests générés à partir d’un patron de test peut être trop grand pour être exécuté sur un SUT avec ressources mémoires et processeurs limitées. Ce problème est connu sous le nom de problème de réduction de suites de tests, et il représente la troisième problématique de cette thèse. Comme solution, nous proposons une nouvelle technique de réduction de suites de tests basée sur les annotations (appelés tags) insérées dans le code source ou la spécification du SUT. L’exécution / animation de tests génère une trace des annotations couvertes. Sur base de cette trace d’exécution, une famille de relations d’équivalence est proposée, pour réduire une suite de tests, en utilisant les critères d’ordre et de nombre de répétitions des tags couverts.