Escolar Documentos
Profissional Documentos
Cultura Documentos
Philippe Ayrault
1 Présentation du cours
– 1 Cours sur l’organisation des tests.
– Qu’est-ce que le test d’un logiciel ?
– Les différentes étapes du test des logiciels
– Les différents documents pour le test des logiciels et leurs contenus
– 1 Cours / 2 ED sur les tests structurels
– Déterminer les jeux de tests pour les principaux types de couverture de tests structurels
– 1 Cours / 1 ED sur les tests fonctionnels
– Déterminer les jeux de tests pour les principaux types de couverture de tests fonctionnels
– 0,5 ED sur les autres types de tests
– Monté-Carlo, injection de fautes, ...
– Panorama des autres techniques de test des logiciels.
– 0,5 Cours sur les dossiers de tests
Cours et TD donnés conjointement par Valérie Menissier Morain (LIP6) / Philippe Ayrault (ex-
Surlog, Alcatel, Etersafe).
1
Module Test page 2/4
Question 3 : Y a-t-il une alternative aux tests ? Malheureusement non, c’est la seule activité de vérification
dynamique du logiciel.
– méthodes formelles : il reste le problème de l’adéquation entre le modèle formel et la réalité.
– relecture de code : elle permet de détecter les principales erreurs statiques dans le code mais pas les
erreurs dynamiques
– analyses de sécurité : elles permettent de valider une architecture mais pas de la vérifier.
Question 4 : Quel est le coût du test d’un logiciel ? Le test représente de 30 à 40% des coûts de
développement d’un logiciel suivant son niveau de criticité. Il représente généralement 1/3 dans le planning.
Conclusions : Le test des logiciels est un métier à part entière. Dans l’industrie, c’est la seule acti-
vité dans le cycle de développement où l’on peut voir toutes les fonctionnalités d’un produit logiciel.
Contrairement au développement, où les développeurs sont très compartimentés (spécialiste IHM, réseaux,
algorithmie,. . .).
2005/2006
c (by UPMC/LMD/UE Test) 1er février 2007
Module Test page 3/4
– ...
La nécessité de tester un logiciel de façon systématique n’est pas encore admise partout. Elle est admise
pour les logiciels sûrs de fonctionnement car les activités de vérification et de validation (V&V) sont décrites
de façon très détaillée dans les référentiels normatifs. De plus, un logiciel sûr ne pourra pas être mis en
service si la démonstration de sa sécurité n’a pas été effectuée généralement par une personne ou une
société indépendante du développeur.
Principe 2 : Ne pas effectuer des tests avec l’hypothèse de base qu’aucune erreur ne va être trouvée.
Principe 3 : La définition des sortie ou résultats attendus doit être effectuée avant l’exécution d’un test.
Ceci est une erreur fréquente du test. Ce n’est pas lorsque l’on effectue le test d’une procédure qu’il faut se
poser la question de la validité des résultats, car il y a des chances non négligeable de prendre un résultat
erroné mais semblant cohérent pour un résultat correct.
Principe 5 : Les jeux de tests doivent être écrits pour des entrées invalides ou incohérentes aussi bien
que pour des entrées valides.
Simplement afin de découvrir les anomalies.
Principe 6 : Vérifier un logiciel pour détecter qu’il ne réalise pas ce qu’il est supposé faire n’est que la
moitié du travail. Il faut aussi vérifier ce que fait le programme lorsqu’il n’est pas supposé le faire.
Afin d’évaluer la robustesse du logiciel.
2005/2006
c (by UPMC/LMD/UE Test) 1er février 2007
Module Test page 4/4
– Pour chaque phase de définition du logiciel (spécification, architecture, conception détaillée) : à par-
tir du document de définition ; Dossier de Spécification du Logiciel(DSL), Dossier de Conception
Préliminaire (DCP), Dossier de Conception Détaillée (DCD), le testeur doit écrire dans les plans de
tests correspondant (resp. Plan de Tests de Validation (PTV), Plan de Tests D’Intégration (PTI), Plan
de Tests Unitaires (PTU)). Ces plans doivent : zzz
– Définir les moyens à mettre en place pour tester le logiciel
– Décrire la stratégie de tests à mettre en place pour tester la première version, tester les versions
suivantes, critères d’arrêt des tests
– Décrire les fiches de tests (détecter des incohérences et des incomplétudes des documents). Une
fiche de tests est constituée :
– des valeurs à positionner à l’entrée du test ou les actions à effectuer
– des valeurs de sortie attendues ou la description du comportement du logiciel
– démontrer la couverture atteintes (traçabilité)
– Pour chaque phase de test(TU, TI, TV), le testeur doit élaborer le rapport de tests :
– exécuter les fiches de tests spécifiées (consiste à positionner les valeur d’entrées ou à effectuer les
actions décrites dans la fiche de tests)
– analyser les résultats obtenus (comparer les résultats attendus avec les résultats obtenus et décider
du status du tests OK / KO)
– émettre des fiches de non conformité si nécessaire
– Qualification
– émettre un avis sur le logiciel
2005/2006
c (by UPMC/LMD/UE Test) 1er février 2007