Documentation



Notes de cours (Prof. G. Antoniol) et articles scientifiques (voir site WEB).

Ouvrages recommandés

Pour une introduction détaillée aux méthodes de vérification:

  • D.A. Peled, Software reliability methods, Texts in Computer Science, Springer (2001).

  • M.R.A. Huth, M.D. Ryan, Logic in computer science: modelling and reasoning about systems, Cambridge University Press (2000).

Pour les méthodes de test:

  • Beizer, Software testing techniques, second edition, Van Nostrand Reinhold (1990) – T1

  • Beizer, Black-box testing, Wiley (1995) – T2

  • Ilene Burnstein Practical Software Testing, Springer 2003 – T3

  • M. Roper, Software Testing, McGraw-Hill, 1995 – T4

  • B. Marick, The Craft of Software Testing, Prentice Hall, 1995 –T5

  • Jorgensen, “Software Testing, A Craftman’s Approach”, CRC Press, 1995 - T6

  • Bashir and Goel. Testing Object-oriented Software, Springer, 2000 –T7

  • R. V. Binder, Testing Object-Oriented Systems - Models, Patterns, and Tools, Addison-Wesley, 1999 –T8

Pour le génie logiciel:

  • Ian Sommerville Software Engineering, Addison Wesley – GL1

  • Panjakay Jalote Software Engineering, - GL2


Programme du cours



Semaine

Contenu

Lectures


Chapitre

Article

1

Génie logiciel et activités du test. Analyse statique et dynamique du logiciel (dépendances des données, slicing et instrumentation de code).

T1 Ch1 ou T3 Ch1 ou T6 Ch1 ; T3 Ch6 ou GL1 Ch 22

M. J Harrold A testing Roadmap, ICSE 2000

2

Techniques structurelles de test.  Couverture des arêtes, des expressions, de flux de données. Critères de Rapps et Weyuker, méthodes de Naftos, Ural et Laski

T1 Ch3 et Ch4 ou T3 Ch5 ou T6 Ch9 et Ch10

Gupta and Gupta

3

Génération automatique de données de test. Test d’évolution, injection d’anomalies, perturbation de programme, méthodes méta heuristiques.


Automatically Detecting Equivalent Mutants and Infeasible Path JSTVR , Vol 7, No. 3, p.p. 165—192

Practical Mutation Testing, Jeff Offutt. Twelfth International Conference on Testing Computer Software, p.p. 99--109, Washington, DC, June 1995.

4&5

Méthodes de test fonctionnel. Classes d’équivalences de données (boundary partitions) et méthode de Ostrand.


T6 Ch5, Ch6, Ch7, Ch9 ou T3 Ch4

Coverage Criteria for Logical Expressions, Paul Ammann, Jeff Offutt and Hong Huang. ISSRE '03. pages 99-107.

Thomas J. Ostrand, Marc J. Balcer: The Category-Partition Method for Specifying and Generating Functional Tests. Commun. ACM 31(6): 676-686 (1988)

6

Tests de logiciel orienté objets. Tests de classes, tests basés sur les états.

T8 Ch4, Ch10

Harrold, McGreggor, Incremental testing of object-oriented class structures, IEEE ICSE proceedings, 1992

7

Tests de logiciel orienté objets. MaDUM (Draw Minimal Data Members Usage Matrix), approche de Bashir et Goel, méthode de Chow et arbre de transition.

T8 Ch10 ou T7 Ch6, Ch7

T. Chow, Testing software design modeled by finite-state machines, IEEE TSE, May 1978

8

Période de relâche



9&10

Tests d’intégration de logiciel orienté objets. Ordre d’intégration, méthode de Kung, approche de Tai et Daniels.


T8 Ch12, Ch13

A. Haley and S. Zweben, Development and Application of a White Box Approach to Integration Testing, JSS, Vol.4, pp. 309-315, 1984.

Tai and Daniels, Interclass test Order for Object-Oriented Software, Journal of Object-Oriented Programming, July/August 1999

Le Traon et al, Efficient Strategies for Integration and Regression Testing of OO Systems, IEEE Transactions on Reliability, March 2000, Vol 49, no


11&12

Défaillances et Sécurité logicielle. Arbre de défaillance, techniques de récupération (n-block recovery, backward recovery) et méthodes méta heuristiques, techniques pour détecter les failles de sécurité.

GL1 Ch19


13

Évaluation de fiabilité. Analyse des anomalies, norme MIL-STD-882B, modélisation de la fiabilité, diagramme de fiabilité (reliability chart) et modélisation de Musa.

GL1 Ch18


14

Présentation des projets


15

Période d'examens