Cours Tests Des Logiciels Part 2 Et 3
Cours Tests Des Logiciels Part 2 Et 3
Cours Tests Des Logiciels Part 2 Et 3
1
1
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Tests?
« Le test est un processus manuel ou automatique, qui vise à
établir qu’un système vérifie les propriétés exigées par sa
spécification , ou à détecter des différences entre les résultats
engendrés par le système et ceux qui sont attendus par la
spécification » [IEEE 729, 1993]
1
2
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Pourquoi les tests sont ils nécessaires?
1
3
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Origine des défauts logiciels
Erreurs humaines
o TimeToMarket de plus en plus serré
o Des systèmes logiciels de plus en plus complexe
o Des technologies de plus en plus innovantes
o Multiples interactions entre les systèmes
o Manque de communication
Les conditions de l’environnement
o Radiations , Magnétismes , Pollution
1
4
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Question : Les objectifs du test
Choisir les bonnes réponses parmi ces propositions
L’objectif du test est de :
o Diagnostiquer les fautes
o Corriger les défauts
o Prouver la correction d’un programme
o Mettre en évidence les défauts d’un logiciel
o Prouver la conformité fonctionnelle
o Donner une indication de la qualité du logicielle (un niveau de
confiance )
o Prévenir des défauts
1
5
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Tester Vs Déboguer
Déboguer : le processus de trouver, analyser et éliminer les causes
de défaillance dans les logiciels.
1
6
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test
1
7
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test
Les tests montrent la présence de défauts
o Les tests peuvent prouver la présence de défauts, mais ne peuvent en
prouver l’absence
o Les tests réduisent la probabilité que les défauts restent cachés dans le
logiciel
Les tests exhaustifs sont impossibles
o Test exhaustif : Quand toutes les combinaisons de pré conditions et inputs
sont terminées
Tester tôt
o Plus une erreur est découverte tard dans le cycle de vie plus la correction
est coûteuse.
1
8
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test
Regroupement des défauts
o Décomposition en modules afin d’adapter les efforts de tests en fonction de
la réalité
Paradoxe du pesticide
o Si les mêmes tests sont répétés de nombreuses fois, un système de tests
évolue
Les tests dépendent du contexte
o Les tests sont effectués différemment dans des contextes différents. Ex. Les
logiciels de sécurité critique seront testés différemment d’un site de
commerce électronique
L’illusion de l’absence d’erreurs
o L'exigence de qualité nécessite de comprendre en profondeur le besoin des
utilisateurs finaux: Sans cela, on aboutira à un produit bien fait, qui ne sera
pourtant pas le bon produit.
1
9
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Psychologie du Test
Testeur Vs Développeur
o La logique du développeur : C’est toujours les autres qui n’ont rien compris
=> Le développement est processus créatif : on cherche à établir des résultats
corrects
o Testeur : chercher des problèmes potentiels
=> Le test est un processus destructif : un bon test est un test qui trouve une
erreur
L’identification de défaillances pendant les tests peut être perçue comme
une critique contre le produit et contre son auteur
Pénaliser la qualité du produit
Il est important de comprendre qu’on a un objectif commun => système de
meilleur qualité
1
R. MZID KEBEILI Test des logiciels 10
Fondamentaux des tests
Psychologie du Test
1
11
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les niveaux de Test
Tests d’acceptation
-> implication des
clients/utilisateur du système
-> valider que le produit atteint le
niveau de confiance requis
Tests d’intégration
-> Intégration incrémentale ou
Intégration en une fois « Big Bang » Tests Système
-> les développeurs testent la -> Le comportement d’un système /
communication des modules par leurs
produit complet
fonctionnalités
-> réalisés par une équipe de test
-> les testeurs peuvent intervenir
indépendante
-> L'environnement de test devrait
correspondre à la cible finale
Tests fonctionnels
• Le test d’une fonction devant être effectuée par le logiciel
• Basé sur une analyse des spécifications d’une fonctionnalité d’un
composant ou d’un système (ce que le système fait)
• Concerne le comportement externe du système
Tests non-fonctionnels
• Test des attributs d’un composant ou système qui ne sont pas liés
aux fonctionnalités.
• Sert à mesurer les caractéristiques d’un système qui peuvent être
quantifiées sur une échelle variable (Comment le système
fonctionne t il? )
• Test performance (temps de réponse), Tests de fiabilité
1
13
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Types de Test
Classification selon les objectifs
Tests structurels
• Centré sur la structure et l’architecture (comment le système est
conçu?)
• Aide à mesurer l’ampleur des tests via l’évaluation de la couverture
d’un type de structure
1
14
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Types de Test
Classification selon niveau d’accessibilité
1
15
R. MZID KEBEILI Test des logiciels
Plan
1
16
R. MZID KEBEILI Test des logiciels
Tester pendant le cycle de vie
Modèle en V
1
17
R. MZID KEBEILI Test des logiciels
Tester pendant le cycle de vie
Modèle de développement itératif
1
18
R. MZID KEBEILI Test des logiciels
Plan
1
19
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
Implémentation et exécution
des tests
Evaluer les critères de sortie et
informer
1
21
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
Analyse et conception des tests
o Les objectifs de test généraux sont transformés en des conditions de
test : Déterminer ce qui est á tester => les conditions de tests
Condition de test: Une seule exigence peut être traduite en plusieurs conditions de
test et plusieurs exigences peuvent être traduite en une seule condition de test, elle
est indépendante des données, mais des types ou catégories de donnée font souvent
partie de la condition de test (par exemple : Catégories d'âge: adulte, adolescent ,
Données valides, données invalides )
Exemple: Identifier les conditions de tests correspondantes aux exigences suivantes :
Exigence 1 de haut niveau : L’utilisateur est capable de se logguer au système
Une sous-exigence 1.1 : Le login n’est pas sensible à la casse
1
22
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
Analyse et conception des tests
o Spécifier les cas de test
o Créer une traçabilité entre les bases de test et les cas de test
o Créer une table de liaison entre les références des exigences (To do) et les
cas de tests
1
24
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
Evaluer les critères de sortie et informer
o L'exécution des tests est évaluée en fonction des objectifs définis :
Vérifier les registres de tests en fonction des critères de sortie spécifiés
dans la planification des tests
o Ecrire un rapport de synthèse des tests pour les parties prenantes
Activités de clôtures des tests
o Rassembler les données des activités de tests terminées de façon à
consolider l'expérience, les testwares, les faits et les valeurs
o Vérifier les livrables prévus, clôturer les rapports d’incidents et la
documentation d’acceptation
o Finaliser et archiver les testwares, l’environnement et les
infrastructures de test
1
25
R. MZID KEBEILI Test des logiciels