Lors du développement d'un logiciel, plusieurs phases de test sont mises en oeuvre. Dans cette thèse, nous nous intéressons particulièrement à deux d'entre elles : les test unitaire et le test d'intégration. Dans le test unitaire, les entités du logiciel sont testées individuellement. Elles sont ensuite intégrée au sein d'un agrégat qui est soumis à un test d'intégration. Lors de cette phase, on cherche traditionnellement à tester les interactions entre ces entités. Nous nous intéressons plus particulièrement dans cette thèse au test structurel unitaire. Lors de cette phase de test, si l'entité contient des app rers d'autres entités, elles sont remplacées par des bouchons simples qui facilitent le test. Ces bouchons ne sont pas exempts de défauts. En particulier, ils sont généralement pas représentatifs des entités qu'ils remplacent. Les taux de couverture obtenus pendant le test ne représentent donc pas l'utilisatin éelle de la fonction testée. Dans cette thèse, nous proposons d'étendre la phase de test unitaire aux agrégats de fonctions. Tous les bouchons nécessaires sont produits automatiquement à partir du code des fonctions appelées. Pour cela, on se base sur une analyse et un découpage du flot de ontrôle de la fonction appelée en approximations, ainsi que sur la détermination de l'environnement particulier de chaque appel. Cet environnement ontient les informations sur les conditions d'appel à la fonction et sur l'impact de cet appel sur le flot de contrôle de la fonction appelante. On crée inalement le bouchon spécifique à un appel par filtrage des approximations par le contexte d'appel. On sélectionne ensuite une approximation pour chaque objectif de génération. L'ensemble de cette technique a été implanté au sein d'un prototype basé sur l'outil de test Inka.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00189959 |
Date | 11 July 2005 |
Creators | Griche, Karim-Cyril |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0018 seconds