|
Lignes de produits en UML :
conception testable, validation, maintenance
Localisation : Irisa, Rennes
Equipe(s) : Triskell
Responsable(s) : Y. Le Traon - +33 299 842 568 - yletraon@irisa.fr
J.-M. Jézéquel - +33 299 847 192 - jezequel@irisa.fr
Mots-clés : ligne de produits, composant, UML, test,
conception testable
Une ligne de produits regroupe un ensemble de produits appartenant
à un même domaine et caractérisés
par des éléments logiciels très proches (sémantiquement
et techniquement). Ces éléments logiciels sont
construits à différents niveaux du cycle de vie logiciel
et comprennent des exigences logicielles, des schémas
de conception (des algorithmes à larchitecture), du
code, des programmes de tests, etc. Une ligne de produits
a pour but la mise en commun des travaux de développement,
de tests et de maintenance de ces éléments
logiciels communs de façon à (1) réduire les
coûts de production et de maintenance, (2) réduire
les temps de
production (ou time-to-market), améliorer la qualité
par la réutilisation déléments logiciels
déjà validés. Le
test de logiciels orienté-objets pose des problèmes
non-résolus dinteractions potentielles indésirables
entre
composants interconnectés (surtout dus au polymorphisme et
à la surcharge) impossibles à résoudre dans
un cadre général du fait de lirrégularité
des architectures possibles. Les lignes de produits conçues
selon
une approche objet ont de bonnes propriétés de régularité,
et des points dextensibilité/variabilité doivent
pouvoir être automatiquement identifiés. Ces points
constituent les points de jonction autour desquels les
tests peuvent sassembler, à condition que des règles
permettant le confinement/contrôle des interactions
indésirables puissent être établies. Le but
de cette thèse est dexplorer des modèles de
testabilité et de test
permettant: - didentifier les points dextensibilité/variabilité
dune ligne de produits, - détablir pour ces
points des règles de conception testables sous forme de propriétés
topologiques/fonctionnelles (attachées
au métamodèle UML). Des zones de confinement seront
ainsi déterminées. - de déterminer des critères
de
satisfaction des tests dans les zones de confinement, - de déterminer
des opérations dassemblage des tests
"confinés" pour la maintenance et la non-régression
(sassurer lors dune évolution que les fonctionalités
initiales ne sont pas affectées).
|