24/05/2025
UNIVERSITE MOHAMMED V – Rabat
ECOLE MOHAMMADIA D’INGENIEURS
Filière Génie Informatique
Tests Logiciels :
Démarche ,
référentiels
Asmaâ Retbi/[Link]@[Link]
2024-2025
PARTIE
PARTIEI :I I:NTRODUCTION
RAPPEL QUALITÉ LOGICIELLE
Gestion de la qualité logicielle
La gestion de la qualité logicielle est définie dans la norme ISO 12207 [ISO 08a]
qui décrit les processus suivants:
l’assurance qualité logicielle (AQL): fournir l'assurance que les produits du
travail et les activités (ou les composants de processus) d’un processus ou d’un
projet sont conformes à leurs exigences spécifiées et satisfont aux plans établis.
la vérification et validation (V&V): s'assurer que la qualité planifiée dans le
logiciel est mise en œuvre et que le logiciel répond aux exigences fonctionnelles
et non fonctionnelles des utilisateurs
la revue et l’audit: maintenir avec le client une perception commune de
l’avancement vis-à-vis des objectifs du contrat
la résolution des problèmes :
Cours V&V 2
1
24/05/2025
PARTIE
PARTIEI :I I:NTRODUCTION
RAPPEL QUALITÉ
AU G ÉNIE LOGICIEL
LOGICIELLE
Types de V&V
Cours V&V 3
PARTIE II : TESTS
Définition
Les tests sont le procédé de validation et de vérification d’un
logiciel
Les tests assurent que le produit est conforme à ses spécifications
Les tests assurent que le produit fait ce qu’on attend de lui
Les tests identifient les bugs, les erreurs ou les défaillances les plus
importantes dans le but de les réparer
Une défaillance importante est celle qui affecte l’utilisabilité du
produit
Cours V&V 4
2
24/05/2025
PARTIE II : TESTS
Test - Questions
Question 1 : Qu’est-ce que ça veux dire ”tester un logiciel” ?
Question 2 : Y a-t-il plusieurs types de tests ?
Question 3 : Y a-t-il une alternative aux tests ?
Question 4 : Quel est le coût du test d’un logiciel ?
Cours V&V 5
PARTIE II : TESTS
Test – Définition 1
Cours V&V 6
3
24/05/2025
PARTIE II : TESTS
Test – Définition 2
Cours V&V 7
PARTIE II : TESTS
Test – Définition 3
Le test d’un logiciel est une activité qui fait partie du processus de
développement. Il est mené selon les règles de l’assurance de la qualité et
débute une fois que l’activité de programmation est terminée. Il s’intéresse
aussi bien au code source qu’au comportement du logiciel. Son objectif
consiste à minimiser les chances d’apparitions d’une anomalie avec des
moyens automatiques ou manuels qui visent à détecter aussi bien les
diverses anomalies possibles que les éventuels défauts qui les
provoqueraient.
Cours V&V 8
4
24/05/2025
PARTIE II : TESTS
Test – Définition ISTQB
Testing is the process consisting of all lifecycle activities, both
static and dynamic, concerned with planning, preparation
and evaluation of software products and related work
products to determine that they satisfy specified
requirements, to demonstrate that they are fit for purpose
and to detect defects
Cours V&V 9
PARTIE II : TESTS
Pourquoi tester ?
Assurer la qualité du Réduire les coûts de
produit livré: corrections:
Réduire les défauts et Identifier et résoudre
« Les testeurs sont garantir une les défauts le plus tôt
l’Assurance expérience utilisateur possible
indispensable des optimale
projets : ils couvrent Accélérer les mises en Améliorer la confiance
les risques, production: des utilisateurs:
préviennent les Diminuer les délais Offrir une stabilité et
défaillances et grâce à une performance qui
garantissent la l’automatisation et une répond aux attentes
qualité » meilleure organisation des utilisateurs
des tests
Cours V&V 10
5
24/05/2025
PARTIE II : TESTS
Pourquoi tester ?
Quelques métriques:
Une stratégie de tests Intégrer un Test lead et
anticipée peut économiser planifier les tests en amont
20 à 30% des coûts de réduit les temps de recette
corrections post- de 15 à 25%
production
Défauts en production
réduits de 50 à 70% grâce
à tests rigoureux.
Cours V&V 11
PARTIE II : TESTS
Principes ISTQB de base
Principe 1 Les tests montrent la présence de défauts, et non leur
absence.
Principe 2 Les tests exhaustifs sont impossibles.
Principe 3 Les tests précoces permettent de gagner du temps et de
l'argent –Tester tôt et souvent « Shift left testing »
Principe 4 Les défauts se regroupent.
Principe 5 Attention au paradoxe des pesticides
Principe 6 Les tests dépendent du contexte.
Principe 7 L'absence d'erreurs est une illusion.
Cours V&V 12
6
24/05/2025
PARTIE II : TESTS
Vocabulaire indispensable
Recette : Activité qui consiste à réaliser des tests sur une application, afin de vérifier
son bon fonctionnement
Stratégie de recette : Activité qui consiste à mettre en place une stratégie afin
d’optimiser les ressources utilisées pour tester une application
Plan de test Document de référence, créé au début d’une phase de test, qui regroupe
la stratégie de recette ainsi que la liste des cas de tests à exécuter
Campagne de test phase projet, consistant à sélectionner un certain nombre de cas
de tests et à les exécuter avec des ressources conformément à la stratégie de recette..
Un cas de test Enchainement d’actions ayant pour objectif de vérifier le bon
fonctionnement des fonctionnalités d’une application.
Un script de test est un mécanisme en charge d’exécuter les cas de tests qui ont été
définis pour le logiciel sous test, et de recueillir les résultats
Cours V&V 13
PARTIE II : TESTS
Vocabulaire indispensable
Les données de test ou jeux de données associent à chaque entrée d’un programme
une valeur choisie dans son domaine de définition, ceci dans l’optique d’exercer un
scénario de test.
Bilan de campagne Tableau de bord permettant de connaitre le nombre de test
réalisés au cours d’une campagne, le résultat des tests, le nombre d’anomalies
rencontrées……. Le bilan de la campagne permet d’avoir une vision de la qualité de
l’application livrée.
Anomalie comportement d’une application qui n’est pas conforme au comportement
attendu (Ticket d’anomalie).
Cours V&V 14
7
24/05/2025
PARTIE II : TESTS
Test – Processus/Etapes
Un processus de test se compose des principaux groupes d'activités
suivants :
Planification des tests => Plan de test : planning du test +
environnement de test + types de test + niveau de test, etc.
Suivi et contrôle des tests : étape qui se déroule tout au long du cycle de
test TMT Test Managment Tool
Analyse de test : identifier Périmètre de test + étudier « Quoi tester ?»
Conception des tests => Cas de test + Scénario de test
Implémentation des tests => Script/code/Logiciel de test
Exécution des tests => Rapport de test
Clôture des tests => Bilan de test
Cours V&V 15
PARTIE II : TESTS
Pré-requis des tests
1. La conception des tests :
– Couverture de tests
– Cahier des tests ou cahier de recette
– Jeux de données
2. Matériel
– Terminaux de tests : PC, badge, imprimantes, etc.
– Environnement de tests
– Le ou les logiciels à tester
– Les logiciels nécessaires
3. Organisation :
– Les acteurs qui interviennent dans le processus des tests
– Procédures : gestion de versions logicielles, la gestion des environnements, gestion des
anomalies
– Gouvernance
– Planification des travaux
Cours V&V 16
8
24/05/2025
PARTIE II : TESTS
Stratégie de test
Cours V&V 17
PARTIE II : TESTS
Le plan des tests
Cours V&V 18
9
24/05/2025
PARTIE II : TESTS
Le plan des tests
Cours V&V 19
PARTIE II : TESTS
Le plan des tests
Cours V&V 20
10
24/05/2025
PARTIE II : TESTS
Le plan des tests
LIVRABLES attendus du cours
Cours V&V 21
PARTIE II : TESTS
Plan de tests: Criticité des exigences
Cours V&V 22
11
24/05/2025
PARTIE II : TESTS
Priorisation des tests
NB: Exemplaire d’un plan de test unitaire
Cours V&V 23
PARTIE II : TESTS
Cas des tests
Définition d’un cas de test : « Un ensemble de conditions préalables, de données d’entrée,
d’actions, de résultats attendus et de post-conditions, élaboré sur la base des conditions
de test »
« source ISTQB »
Le cas de test se compose de :
1. Nom de test = qui doit préciser le test et son objectif ex: FT01CT01
2. Pas de test = les actions que va réaliser le testeur
3. Les données = nécessaires à la réalisation du cas de test (identifiant et mot de passe) +
qui doivent être générer ou récolter avant les tests
4. Résultat attendu du test =
Cours V&V 24
12
24/05/2025
PARTIE II : TESTS
Cas des tests
Comment formaliser ses cas de test ?
• Nombreux outils = fichier excel (pas suffisant + PB) : exemple cas de tests
• Xray, zephyr, Hp quality center, IBM jazz , TestRail, TestLink
Comment créer un cas de test ? Pré-requis
• Documents de spécification et de conception
• Structure ou template du cas de test
Conseils pour bien rédiger les cas de test :
• Maitriser l’objectif du cas de test
• Faciliter la compréhension du cas de test
• S’assurer tjrs que le cas de test est pertinent
Cours V&V 25
PARTIE II : TESTS
Campagne de tests
Définition d’une campagne de test : « ensemble de tests à réaliser avec des ressources
imparties»
« source ISTQB »
Créer une campagne de test
1. Etudier = les besoins des utilisateurs, la valeur commerciale apportées, les ressources
disponibles, les types de test à réaliser déterminer priorités et stratégie de recette
2. Réaliser le découpage en fonctionnalité (parcours utilisateur)
3. Répartir les charges de travail (compétences, absence, présence)
4. Définir les types de tests : nouvelle fonctionnalité, test de non régression, ….
Cours V&V 26
13
24/05/2025
PARTIE II : TESTS
Campagne de tests
Conseils pour créer campagne de test :
• Objectif clairement identifié
• Découpage doit répondre à la priorité des cas de tests
• Test de non régression TNR intégrés er exécutés après tests de validation
Les phases d’une campagne de test :
• Conception : tests à exécuter, priorités, conditions, validation ou non régression
• Préparation : Jeux de données, outil de gestion de test, environnement, matériel,
logiciel
• Exécution : dérouler les tests et remonter les anomalies, preuve de tests, gestion des
anomalies
• Bilan : PV de recette, synthèse des résultats, indice de confiance, qualité de
l’application
• Clôture : archiver les résultats de campagne, jeux de données et bilans de tests
Cours V&V 27
PARTIE II : TESTS
Campagne de tests
Planifier la campagne de tests dans le cadre d’un cycle SCRUM:
1. Elaboration stratégie et pré-requis = étape Product backlog et ajustés au cours de
chaque sprint
2. Préparation des tests = sprint N-1
3. Exécution = sprint N
4. Bilan = fin sprint N – début Sprint N+1
Cours V&V 28
14
24/05/2025
PARTIE II : TESTS
Processus simplifié d’un test : Synthèse
Cours V&V 29
PARTIE II : TESTS
Objectifs des tests
Cours V&V 30
15
24/05/2025
PARTIE II : TESTS
Objectifs des tests
Cours V&V 31
PARTIE II : TESTS
Portée des tests
Cours V&V 32
16
24/05/2025
PARTIE II : TESTS
La réalité des tests
Cours V&V 33
PARTIE II : TESTS
Importance des Tests
Cours V&V 34
17
24/05/2025
PARTIE II : TESTS
Comment on teste ?
Cours V&V 35
PARTIE II : TESTS
Types de tests
Cours V&V 36
18
24/05/2025
PARTIE II : TESTS
Types de tests
Ou testeur
ou Tests fonctionnels fonctionnel
ou Tests unitaires
Cours V&V 37
PARTIE II : TESTS
Comparaison entre les tests
Cours V&V 38
19
24/05/2025
PARTIE II : TESTS
Classification des tests (1)
Cours V&V 39
PARTIE II : TESTS
Classification des tests (2)
Cours V&V 40
20
24/05/2025
PARTIE II : TESTS
Types de Tests logiciels
Cours V&V 41
PARTIE II : TESTS
Types de Tests logiciels
Cours V&V 42
21
24/05/2025
PARTIE II : TESTS
Tests unitaires
Vérifier le comportement d’une fonctionnalité au regard des exigences
Se prémunir de régression lors de :
Correction d’anomalies
Evolutions fonctionnels
Montée de socle technique
Refactoring
Cours V&V 43
PARTIE II : TESTS
Stratégie de mise en œuvre des Tests
unitaires
Tester en priorité :
Le code complexe
Les corrections de bugs
Le code sensible (souvent amené à changer)
Tester les cas limites
Cours V&V 44
22
24/05/2025
PARTIE II : TESTS
Tests fonctionnels
En bref,
on cherche à savoir si toutes les fonctionnalités requises sont
présentes et correctes
Cours V&V 45
PARTIE II : TESTS
Tests d’intégration
Cours V&V 46
23
24/05/2025
PARTIE II : TESTS
Tests système
Cours V&V 47
PARTIE II : TESTS
Tests système
Cours V&V 48
24
24/05/2025
PARTIE II : TESTS
Tests d’acceptation
Cours V&V 49
PARTIE II : TESTS
Tests de régression
Cours V&V 50
25
24/05/2025
PARTIE II : TESTS
Bêta-tests
Cours V&V 51
PARTIE III: TEST ET AGILITÉ : TDD
Test Driven Development : Principe
Cours V&V 52
26
24/05/2025
PARTIE III: TEST ET AGILITÉ : TDD
Test Driven Development : Cycle de
développement
Cours V&V 53
PARTIE III: TEST ET AGILITÉ : TDD
Test Driven Development : Avantages
Les tests unitaires sont réellement écrits
La satisfaction du développeur permet d'obtenir un code plus cohérent
Clarification des détails de l'interface et du comportement
Vérification démontrable, répétable et automatisé
Non présence de régression
Cours V&V 54
27
24/05/2025
PARTIE II : TESTS
Difficultés
Cours V&V 55
PARTIE II : TESTS
Difficultés
Cours V&V 56
28
24/05/2025
PARTIE II : TESTS
Quand arrêter les tests ?
Cours V&V 57
PARTIE II : TESTS
Quand arrêter les tests ? En bref
Quand s’arrêter de tester :
Si toutes les fonctionnalités critiques ne remontent aucun dysfonctionnement
Réaliser les arbitrages
Pourcentage acceptable d’anomalies
Couverture de test adéquate
MAIS jamais arrêter pour manque de temps ou de budget <- manque de cadrage et
d’expérience
Cours V&V 58
29
24/05/2025
PARTIE II : TESTS
Gestion des anomalies
Qu’est ce qu’une anomalie :
« Toute condition qui dévie des attentes basées sur les exigences de spécifications,
documents de conception, documents utilisateurs, standards etc, ou des perceptions ou
expériences de quelqu’un. Les anomalies peuvent être trouvées pendant, mais pas
uniquement, les revues, tests, analyses, compilations ou utilisation des produits logiciels
ou de la documentation applicable »
« Source ISTQB »
Cours V&V 59
PARTIE II : TESTS
Gestion des anomalies
Les types de défauts d’une fonctionnalité :
• Ce qui empêche l’accès à une fonctionnalité
• Ce qui affecte les résultats d’une fonctionnalité
• Ce qui bloque l’utilisateur dans son parcours
• Ce qui génère des régressions et des incompatibilités
• Ce qui génère des insuffisances de performance
Cours V&V 60
30
24/05/2025
PARTIE II : TESTS
Les catégories d’anomalies
• Les erreurs = se rencontrent en amont du développement qui survient d’une mauvaise
compréhension du besoin et elle présente dans le descriptif du besoin (cahier de
charge)
• Défauts = pendant le développement et dû à 2 facteurs une exigence oubliée ou
mauvais développement (code). Un défaut n’est pas toujours critique et ne provoque
pas une défaillance.
• Défaillance = tout dysfonctionnement qui apparait lors de l’exécution du code et qui
peut avoir un impact direct sur l’expérience utilisateur
Cours V&V 61
PARTIE II : TESTS
Comment formaliser une anomalie :
Comment formaliser une anomalie :
• Définir le parcours utilisateur, le jeux de données utilisées, le résultat obtenu qui diffère
du résultat attendu.
• Prendre le temps de communiquer oralement l’anomalie aux développeurs concernés.
(si anomalie complexe)
• Ne pas imposer une solution de correction aux développeurs (chacun son métier)
Cours V&V 62
31
24/05/2025
PARTIE II : TESTS
Comment formaliser une anomalie :
2- Le contexte de l’anomalie
• Titre de l’anomalie : Problème au niveau de l’authentification
• Contexte : Date/environnement/Version/plan de test/Cas de test
• Constaté : exemple: Erreur 404 (avec une capture d’écran)
• Parcours qui est en cause de l’anomalie
• Rappel du comportement attendu
Cours V&V 63
PARTIE II : TESTS
3- Qualification de l’anomalie : quels
critères?
• Attribuer une criticité : bloquante, majeure, mineure,
• Déterminer la priorité de correction : Immédiate, court terme, planifiée, reportée
• Fréquence d’apparition d’une anomalie = Systématique, Fréquent, Occasionnel, Rare
• Donner un statut : à traiter, en cours, résolue
NB: Il est essentiel de formaliser tout ceci dans une fiche ou utiliser un outil Jira, GitLab
+ Elaborer la typologie de criticité des tests au moment de la rédaction du plan de test
avec toutes les parties prenantes
Cours V&V 64
32
24/05/2025
PARTIE II : TESTS
Arbitrage de l’anomalie : Comment ?
L’arbitrage des anomalies est réalisé à partir des éléments suivants :
• Criticité de l’anomalie
• Priorité de la correction
• Estimation du nombre d’heures ou de jours nécessaires à la correction : fort (>
5jours), moyen (entre 1 et 5 jours), Faible (< 1 jour).
• Capacité de travail réservée pour la correction des anomalies
Cours V&V 65
PARTIE II : TESTS
Arbitrage de l’anomalie : Quand ?
• La stratégie d’arbitrage des anomalies est donc dépendante de la stratégie de
livraison du projet
• Réaliser l’arbitrage d’anomalie pendant le comité de recette/revue de sprint:
Présentation des nouvelles anomalies détectées
La sélection des anomalies à corriger
Cours V&V 66
33
24/05/2025
PARTIE III : TESTS ET AGILITÉ
Bonnes pratiques du test en agilité
Préparer sa stratégie en amont de chaque sprint (6W)
• Pourquoi (Why) : pourquoi doit-on tester et où se trouvent le plus de risques ?
• Quoi (What) : que doit-on tester? en répondant à la question précédent
• Quand (When) : quand doit-on tester ? Le plus tôt possible!
• Comment (hoW) : équipe, organisation, outils?
• Qui (Who): qui doit tester ?
• Où (Where): Environnement?
Cours V&V 67
PARTIE III : TESTS ET AGILITÉ
Bonnes pratiques du test en agilité
Appliquer les bons principes de testing
• Tester à plusieurs
• Limiter et prioriser les tests
• Comprendre le produit et les utilisateurs
• Automatiser
• Mettre en place des indicateurs pour un retour réel de l’utilisation
• Communiquer un maximum
• Adapter ses stratégies de test à chaque contexte
• Définir un mindset et l’insuffler au reste de l’équipe
Cours V&V 68
34
24/05/2025
PARTIE II : TESTS
Facteurs clé de succès
1. Maitrise du fonctionnel : permet de concevoir des tests adaptés + comprendre
l’origine du bug
2. Passer du temps à concevoir les tests en amont du développement : anticiper les
besoins des tests et avoir une bonne couverture de test
3. Les relations avec les équipes (MOA et Dev): l’humain est au cœur des facteurs
clé de succès de tout projet. Collaboration et communication avec les ≠ équipes
réussite du projet
4. Se concentrer sur les tests à forte valeur ajoutée :
Cours V&V 69
PARTIE II : TESTS
Axes d’amélioration identifiés
1. Automatisation : soulager les testeurs sur les activités à faible valeur ajoutée +
réaliser davantage des tests à moindre coût.
2. Adaptation à l’Agilité : intégration continue + gestion des releases de plus en
plus fréquente ?????
3. Intégration des besoins des tests dès la conception des produits
4. Industrialisation des activités de test plus en amont du cycle de vie projet
5. Diminution du coût : jusqu’au tester ? Externaliser les tests ? ……..
6. Manque des données et leur qualité
Cours V&V 70
35
24/05/2025
PARTIE II : TESTS
IA et Big data au service des tests
1. Priorité à la performance pour le développement logiciel : implique la nécessité
de l’automatisations des activités de tests
2. Donner de l’intelligence aux tests: IA automatise la démarche AQ
3. En exploitant le machine learning : meilleure détection des défauts par
l’analyse des causes et des défaillance + prévision éventuelle des défauts
FIN DU COURS
Cours V&V 71
36