Académique Documents
Professionnel Documents
Culture Documents
Cours Tests P1
Cours Tests P1
Tests Logiciels
Tarek Ben Mena
Préparation à la Certification
International Software Testing Qualifications Board
Profitez de cette offre
2K21 TBM 2
Quel pirate atteindra la carte au trésor ?
2K21 TBM 3
Aidez ce programme à fonctionner
2K21 TBM 4
1ER EXEMPLE
2K21 TBM 5
Test vs Débogage
§ L'exécution de tests peut mettre en évidence des défaillances causées par des
défauts dans le logiciel.
§ Par la suite, le test de confirmation vérifie si les corrections apportées ont résolu
les défauts.
§ Dans certains cas, les testeurs sont responsables du test initial et du test de
confirmation final,
2K21 TBM 6
Test Initial - Ça ne marche pas
2K21 TBM 7
Débogage
2K21
Fixer des Breakpoint TBM Lancer le débogage 8
Débogage
2K21 TBM 9
Débogage
2K21 TBM 10
Test de confirmation - Ça marche
2K21 TBM 11
CONCEPTS FONDAMENTAUX
2K21 TBM 12
Le Bug le plus cher de l’histoire
2K21
sérieux le cours
TBM
« Test Logiciel » 14
Logiciel : Définitions
§ «est défini comme une création intellectuelle rassemblant des
programmes, des procédures, des règles et de la documentation utilisé
pour faire fonctionner un système informatique »
ISO (International Organization for Standardization).
19/2K20 TBM 15
Un Bon Logiciel
Caractéristiques qualité
Interne et Externe
Adéquation des Capacité et facilité Maturité Temps de réponse Capacité et facilité Capacité et facilité
fonctions de : et comportement de : de :
Tolérance aux dynamique • Analyser des • Adaptation et
Précision et fidélité • Compréhension pannes défaillances évolution
des résultats Utilisation des
• Apprentissage Remise en état de ressources : • Modification • Installation des
Interopérabilité marche après • Mémoire modifications
• Exploitation échec • CPU • Tests
Sécurité • Débit en (automaticité, • Remplacement
• Ergonomie IHM transactionnel non régression)
Conformité aux du point de vue • Cohabitation
exigences métier
fonctionnelles
2K21 TBM 16
Test : Définitions
§ «Le test est l’exécution ou l’évaluation d’un système ou d’un composant
par des moyens automatiques ou manuels, pour vérifier qu’il répond à ses
spécifications ou identifier les différences entre les résultats attendus et
les résultats obtenus »
IEEE (Standard Glossary of Software Engineering Terminology).
19/2K20 TBM 17
Qu’est-ce qu’un test et quel est son coût ?
§ Expérience d’exécution pour mettre en évidence un défaut / erreur
− diagnostic: quel est le problème, l’erreur
− localisation: où est la cause du problème?
− Vérifier que le résultat de l’expérience est conforme aux intentions
§ Les tests à faire et résultats dépendent des spécifications
2K21 TBM 18
Coût des Tests
2K21 TBM 19
MODÈLE DE CYCLES DE VIE LOGICIEL
2K21 TBM 20
Une vraie situation
ISET Charguia
Cycle de vie Logiciel - Définition
§ Comme pour tout produit manufacturé complexe :
− La production est décomposé en « Activités de développement » ou « Phases »
− L’ensemble d’Activités constitue un « cycle de vie »
− Les Activités font apparaître des tâches clés
2018/19 TBM 22
Cycle de vie
§ 2 Catégories:
• Modèles de développement séquentiel
• Modèles de développement itératif et incrémental
1. Modèle de développement séquentiel
− Décrit le processus comme un flux linéaire (Phases successives).
− Il est bénéfique d'avoir un retour rapide de la phase suivante.
− Fournit des logiciels qui nécessitent généralement des mois ou des années pour être
livrés aux parties prenantes et aux utilisateurs.
2. Modèle de développement itératif et incrémental
− Décrit le processus comme une série de cycle d’activités (Phases par morceaux)
− Fournit un incrément plus grand à chaque itération (Itération = succession de phase)
− Fournit des parties de logiciels en quelques semaines mais ne peuvent livrer
l'ensemble des exigences que sur une période de mois ou d’années.
2K21 TBM 23
Cycle de vie
§ Modèle de développement séquentiel
Logiciel
2K21 TBM 24
Cycle de vie
§ Modèle de développement itératif et incrémental
Conception
Conception Conception
Itéra,on Codage
Itération Itération Codage Analyse
Analyse Codage Analyse
#3
#1 #2
Tests
Tests Tests
2K21 TBM 25
Cycle de vie séquentiel – Modèle en Cascade
Analyse Besoins
& Faisabilité
Spécification &
Planification
Conception
Globale
Conception
Détaillée
Codage &
Tests Unitaires
Intégration &
Tests intégration
Déploiement &
Maintenance
2K21 TBM 26
Cycle de vie séquentiel – Modèle en V
Analyse Besoins Tests
& Faisabilité d’acceptation
Conception
Tests Unitaires
Détaillée
Codage
2K21 TBM 27
Cycle de vie Spiral : itératif et incrémental
Analyse Besoins
Conception
& Faisabilité
V5 V4 V3 V2 V1
Tests Codage
2K21 TBM 28
Cycle de vie itératif et incrémental
Expression des Besoins
Spécification Fonctionnelle
Conception du Système
§ Exemple
− Unified Process (2 à 4 mois) Conception Conception Conception
− Scrum (1 à 4 sem) Incrément #1 Incrément #2 Incrément #3
− Prototypage (Expérimentale)
Codage Codage Codage
Incrément #1 Incrément #2 Incrément #3
2K21 TBM 30
7 Principes de Tests
1. Les tests montrent la présence de défauts, pas leur absence
− Si aucun défaut n’est découvert, ce n’est pas une preuve que tout est correct
2. Les tests exhaustifs sont impossibles
− Tester toutes les combinaisons d’entrées et de préconditions n’est pas faisable
3. Tester tôt économise du temps et de l’argent « shift left »
− les activités de tests statiques e dynamiques doivent être lancées ASAP dans le CVL
4. Regroupement des défauts
− Loi Pareto (dans les tests logiciels) : 80% des défauts proviennent des 20% des modules
5. Paradoxe du pesticide
− Pour détecter de nouveaux défauts, il peut être nécessaire de modifier les tests existants et
les données de test existantes
6. Les tests dépendent du contexte
− Par exemple, un logiciel de contrôle industriel, critique au niveau de la sureté, sera testé
différemment d’une application de commerce électronique sur téléphone mobile
7. L’absence d’erreurs est une illusion
− Corriger un grand nombre de défauts ne garanti pas la réussite d’un système (Ariane 5 !).
2K21 TBM 31
Anomalies Logicielles
§ Chaîne de causalité
Erreurs humaines :
Différence entre
• Spécification Présence ou absence
comportement attendu
• Conception d’éléments dans le
et comportement
• Développement logiciel
observé
• Etc.
2K21 TBM 32
Problématique
§ But : détecter les défauts le plus tôt possible dans le cycle
− Tester une nouvelle méthode dès qu’on l’écrit
− Répéter les tests à chaque modification du code
2K21 TBM 33
Test : une peu de Vocabulaire
2K21 TBM 34
Test : Vocabulaire - exemple
§ Spécification
− Gérer une liste de noms de restaurants par ordre de proximité́
2K21 TBM 35
EST VOUS UN BON TESTEUR ?
2K21 TBM 36
Jeu : est vous un bon testeur ? – 5 min
§ Exemple
− Un programme prend 3 entiers en entrée, qui sont interprétés comme représentant
les longueurs des côtés d’un triangle. Le programme doit retourner un résultat
précisant s’il s’agit d’un triangle scalène, isocèle ou équilatéral.
2K21 TBM 37
Calculer votre score
§ Est ce que vous avez le(s) cas test où vous vérifiez :
1. Cas scalène valide(1, 2, 3 et 2, 5, 10 ne sont pas valides par ex.)
2. Cas équilatéral valide
3. Cas isocèle valide (remarque le cas 2, 2 , 4 n’est pas valide traité après)
4. Cas isocèle valide avec les 3 permutations sur l’ordre des entrées (par ex. 3,3,4 – 3,4,3
– 4,3,3)
5. Cas avec un coté avec une valeur nulle
6. Cas avec une valeur négative
7. Cas où les 3 cotés sont > 0 et la somme de deux entrées est égale à la troisième entrée
8. 3 cas pour le test 7 avec les trois permutations
9. Cas où la somme de deux entrées est inférieure à la troisième
10. 3 cas pour le test 9 avec les 3 permutations
11. Cas avec les 3 entrées nulles
12. Cas avec une entrée non entière
13. Cas avec un nombre erroné d’entrée (2 ou 4)
14. Pour chaque cas test, avez-vous défini le résultat attendu?
2K21 TBM 38
Positionner vous
2K21 TBM 39
Etat d’esprit des testeurs et des développeurs
2K21 TBM 41
Processus de Test
§ Pas de processus unique mais ensemble d’activités de test à faire pour atteindre
l’objectif.
§ Ce processus peut être influencé par des facteurs contextuels
CVL Risques du projets EXEMPLE Outsider
Modèle V
Domaine
Types de Tests d’activité Gestion
Processus Test e2e de Stock
Processus
Activité Test #1
Planifica8on Test
Activité Test #2
Analyse Test
Activité Test #3
Conception Test
Analyse de Test
2K21 TBM 44
Processus de test- Activités
2K21 TBM 45
Processus de test- Activités
2K21 TBM 46
Processus de test- Activités
2K21 TBM 47
Processus de test- Activités
2K21 TBM 48
Processus de test- Activités
2K21 TBM 49
Processus de test- Activités
2K21 TBM 50
Processus de test- Activités
2K21 TBM 51
Produits d’Activité
2K21 TBM 52
Produits d’Activité
Bases de test Scénarios de Test Conditions de test du Scénario ST1
ST1: Vérifiez si l’admin peut TCd1.1: Entrez le nom du pays valide et vérifiez
ajouter un nouveau l'ajout du pays
ST2: Validez si un pays existant TCd1.2: Entrez un espace et vérifiez si le pays est
peut être supprimé par l'admin ajouté.
ST3: Validez si un pays existant TCd1.x: Dans chaque cas, les données spécifiques
peut être mis à jour sont décrites et le but du test est plus précis.
2K21 TBM 53
Exemple d’un Template de Test Case
Project Name: <Name>
Test Case
Test Case ID: TC_Fun_10 Test Designed by: <Name>
Module Name: Manage Countries Test Designed date: <Date>
Requirements : REQ_Fun_10 Test Executed by: <Name>
Test Title: Verify add country with valid data Test Execution date: <Date>
Description: Test Admin add country Test Priority (Low/Medium/High): Med
2K21
Post-conditions : a Country is added to the DB TBM 54
Autre Exemple d’une fiche de cas de test
19/2K20 TBM 55
Glossaire
Base de test : L'ensemble des connaissances utilisées comme base pour
l'analyse et la conception des tests.
Analyse
Condition de test : Un aspect des bases de test qui est pertinent pour
atteindre des objectifs de test spécifiques. (Situation de test)
Implémentation Conception