- IRISA Thesis: Assemblage testable et validation de composants

PDA

View Full Version : IRISA Thesis: Assemblage testable et validation de composants


Anne Jaigu
07-25-2004, 02:48 AM
Benoit Baudry - 24 juin 2003
Assemblage testable et validation de composants
http://www.irisa.fr/bibli/publi/theses/2003/baudry/baudry.html
Thesis submitted to IFSIC

Résumé
Le test de logiciel apparaît aujourd'hui comme le moyen principal pour
la validation du fonctionnement d'un programme. Les travaux présentés au
cours de cette thèse s'articulent autour de trois contributions qui se
concentrent sur certaines spécificités de la programmation et de la
conception orientée objet pour l'étude de solutions particulières pour
le test d'un composant. La qualité des cas de test étant un facteur
important pour une validation efficace, le premier point concerne
l'étude d'algorithmes évolutionnistes pour la génération automatique de
cas de test pour un composant. Nous nous intéressons ensuite à l'impact
de la conception par contrat sur deux aspects du test d'un assemblage de
composants : la détection et la localisation d'erreur. Enfin, certaines
configurations sont identifiées sur un diagramme de classes, comme
difficiles à tester, et des solutions sont proposées pour résoudre ces
problèmes dés la conception et éviter ainsi d'implanter un programme peu
testable.

Mots clefs: Test de logiciel, UML, conception par contrat, génération
automatique de test, algorithmes évolutionnistes, testabilité, analyse
de mutation, mesure du logiciel, design patterns, conception et analyse
orientée objet

Abstract
Software testing is a very important technique to validate a program.
In this thesis, we deal with three different aspects of the validation
of software components through the analysis of specific object-oriented
features and design methods. The first point we are interested in is the
automatic improvement and generation of test cases. We study
evolutionist algorithms, and propose an original algorithm called
bacteriologic algorithm, efficient and adaptable for test generation.
Secondly, we study the impact of design by contract for improving two
testing activities: fault detection (robustness) and fault localization
(diagnosability). The last point we investigate concerns patterns in a
UML class diagram which can lead to hard-to-test programs. We propose a
test criterion to cover these patterns and several possibilities to
clarify the class diagram, and avoid testing problems when implementing
it. We also study the specific impact of design patterns applications on
testing.

Keywords: Software testing, UML, design by contract, automated test
generation, evolutionist algorithms, testability, mutation analysis,
software measurement, design patterns, object-oriented design and
analysis