next up previous contents
suivant: PLOG : Prolog monter: Présentation des modules précédent: SAP : Sémantique et analyse   Table des matières

Sous-sections

COT : Composants et test

Présentation

Le test est aujourd'hui la technique de validation la plus utilisée pour s'assurer de la correction du logiciel. Cependant, sa pratique reste encore bien souvent artisanale. L'objectif du cours est de montrer que le test de logiciel peut être une activité rigoureuse, fondée sur des modèles, des théories et des algorithmes permettant d'automatiser les différentes phases du test pour des types de logiciel variés.

Après une introduction à la problématique du test et son automatisation, le cours est divisé en 3 parties complémentaires. La première partie s'intéresse au test de programmes impératifs, pour lesquels les seuls modèles disponibles sont ceux issus de l'analyse de leur code source. On abordera les techniques de test structurel qui ont pour but de couvrir le modèle suivant des critères liés au contrôle ou aux données. La deuxième partie du cours est consacrée au test de conformité des systèmes réactifs, fondé sur des spécifications. Après une introduction à la problématique de la génération automatique de tests de conformité, on présentera deux techniques principales, l'une fondée sur le modèle des automates, l'autre sur le modèle des systèmes de transitions. La troisième partie s'intéresse au test de systèmes à base de composants objets. On abordera le problème de la qualification des composants par le test, puis les techniques de test d'intégration lors de la phase d'assemblage et enfin les aspects méthodologiques et le test système.

Plan du module

Cours 0 :
Introduction : Historique, définitions, problématique du test (A. Gotlieb)
1ère Partie :
Test structurel pour les programmes impératifs (A. Gotlieb)
Cours 1 :
Test et test structurel: principes
Cours 2 :
Approches probabilistes pour le test structurel
Cours 3 :
Approches déterministes pour le test structurel
2ème Partie :
Génération de tests de conformité pour les systèmes réactifs (T. Jéron)
Cours 4 :
Introduction au test de conformité et
Modèles et techniques fondées sur les automates
Cours 5 :
Modèles et techniques fondées sur les systèmes de transition
Cours 6 :
Techniques avancées: test réparti, techniques symboliques
3ème Partie :
Test de composants orientés objet (Y. Le Traon)
Cours 7 :
Test et qualification de composants (mutation et contrats)
Cours 8 :
Test d'intégration à partir d'un diagramme de classes
Cours 9 :
Test système et patrons de test, testabilité d'un système OO

Bibliographie

  1. C. Karapoulios, P. Regnier, S. Xanthakis - Le test des logiciels, Hermès.

  2. R. A. Demillo and A. J. Offut, Constraint-Based Automatic Test Data Generation, IEEE Transactions on Software Engineering, SE-17 (9), pp 900-910, September,1991.

  3. H. Zhu, P. A. V. Hall and J. H. R. May, Software unit test coverage and adequacy, ACM Computing Surveys (CSUR), 29 (4), pp 366-427, 1997, ACM Press, http://doi.acm.org/10.1145/267580.267590.

  4. D. Lee, M. Yannakakis, Principles and methods of testing finite state machines. A survey. Proceedings of the IEEE, Vol 84, NU 8, August 1996.

  5. T. Jéron, TGV: théorie, principes et algorithmes, Techniques et Sciences Informatiques, numéro spécial Test de Logiciels, (21), 2002.

  6. H. Vu Le, K. Akif, Y. Le Traon, J.-M. Jézéquel, Selecting an Efficient OO Integration Testing Strategy: An Experimental Comparison of Actual Strategies, published in ECOOP (European Conference for Object-Oriented Programming) proceedings, Lecture Notes in Computer Science, Springer Verlag, June 2001, pp. 381-401.


next up previous contents
suivant: PLOG : Prolog monter: Présentation des modules précédent: SAP : Sémantique et analyse   Table des matières