thesis

Validation de métriques de testabilité logicielle pour les programmes objets

Defense date:

Jan. 1, 2009

Edit

Disciplines:

Abstract EN:

The most used validation method for software is testing. Testing process consists of executing the program by selecting a set of data and observing the outputs of the program. The testing process is a costly in terms of time and money. Estimating the effort of testing is important in order to be able to plan the testing phase. Therefore, sorne reliable indicators are required to predict the cost oftesting, according to the selected testing strategy. Software testability is a concept that characterizes the effort of testing. A variety of software metrics were proposed in the literature as indicators of software testability. AIl of them focus on measuring sorne software attributes that intend to make test difficult. A few studies have been carried out in order to validate these metrics. Sorne of these studies have controversial results about same metrics. Our work in this thesis focuses on validating sorne testability metrics, and examining whether they could be really used as indicators of testability. Our approach in metrics validation considers both testability metrics and testing strategies, i. E. Our methodology checks a specifie metric against a specifie testing criterion with respect to predefined hypotheses, and evaluates how much they are correlated. Additionally, we have defined new metrics which are a result of an adapting of sorne c1assical object-oriented metrics. The second part of our work concentrates on the testability antipattems. The purpose ofthis part is checking sorne testability antipatterns and detecting at which point they are introduced during the software development phases.

Abstract FR:

Pour les systèmes logiciels, la méthode de validation la plus utilisée est le test. Tester consiste en l'exécution du logiciel en sélectionnant des données. En observant/jugeant les sorties, C'est un processus souvent coûteux. L'effort de test est difficile à caractériser précisément. Il dépend de la complexité du logiciel, des objectifs en termes de validation, des outils et du processus développement. La testabilité logicielle s'intéresse à caractériser et prédire l'effort de test. Cela est nécessaire pour estimer le travail de test, prévoir les coûts, planifier et organiser le travail. De nombreuses mesures ont été proposées dans la littérature comme indicateurs du coût du test. Ces mesures sont focalisées sur l'évaluation de certains attributs qui peuvent rendre le test difficile. D'autre approches proposent de repèrer des constructions difficiles à tester à l'aide de patrons (testability antipatterns) par exemple, D'une, fa, çon générale, peu d'études ont été réalisées pour valider ces métriques ou patrons. Certaines de ces études donnent des résultats contradictoires. Or i est essentiel de fournir des informations non biaisées. Notre travail de thèse porte en premier lieu sur la validation de certaines métriques de testabilité proposées pour la prédiction du coût du test de programmes objet. Notre approche s'appuie sur une mise en relation des métriques et des stratégies de test et vise à l'établissement de corrélation entre coût prédictive et coût effective. Ceci nous a conduit à raffiner certaines des métriques étudiées. Dans un second temps, nous nous sommes intéressés à des patrons (testability antipattems) visant à détecter des faiblesses dans le code vis à vis du test. Le but de cette étude est de comprendre à quels moments ces constructions sont introduites dans le code, afin de les repérer le plus efficacement possible.