Vous êtes sur la page 1sur 91

Que sont les tests?

Pourquoi les tests sont-ils nécessaires?


7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Test des logiciels


(Préparation à la Certification ISTQB)
Chapitre 1: Fondamentaux des Tests

Marwa Thabet

Faculté des Sciences de Monastir


Assistante Contractuelle (inscrite en thèse)

Licence Fondamentale en Informatique, Semestre 4, 2023

1/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Objectifs du chapitre

Maı̂triser les terminologies liées aux tests.


Être conscient de la nécessité des tests.
Identifier les principes généraux des tests.
Comprendre le processus de test et son importance.
Comprendre la psychologie des tests.

2/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

3/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

4/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Bogues célèbres

1999: Airbus A320, un bogue


dans le système de navigation,
crash de l’avion → 113 morts.
1996: perte du vaisseau spatial
Mars Climate Orbiter. Une er-
reur de calcul a coûté $327M. 5/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Bogues célèbres

2019: faille de sécurité dans


2000: Multidata Systems → l’application mobile de Uber →
double dose, 8 morts. exposition des informations per-
1985-1987: l’accélérateur sonnelles de 57 M utilisateurs et
médical Therac-25 →5 morts. 60k conducteurs.
6/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Bogues célèbres: Pré-prod

2020: élections présidentielles


aux États-Unis, un bogue dans 2021: un bogue dans un système
un logiciel qui gère les votes de test de COVID-19 → résultats
électroniques → résultats incor- incorrects pour des milliers de
rects pour certains bureaux de
vote. personnes aux États-Unis.

7/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Définition du test logiciel

Définition
Le test logiciel est un moyen:
d’évaluer la qualité du logiciel
et de réduire le risque de défaillance de ce logiciel en cours de
fonctionnement.

8/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Perception erronée
Test de logiciel ̸= Exécution du test

→ Les activités de test sont organisées et réalisées


différemment selon les différents cycles de vie.
9/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Statique vs. Dynamique

Le test peut être:

Statique: n’implique pas l’exécution du composant ou du

système testé.

Dynamique: implique l’exécution du composant ou du

système testé.

10/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Statique vs. Dynamique

11/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Validation & Vérification

Le test permet la:

Verification: vérifier que le système répond aux exigences

spécifiées.

Validation: assurer que le système répondra aux besoins des

utilisateurs et des autres parties prenantes dans son (ses)

environnement(s) opérationnel(s).

12/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Objectifs habituels des tests

✔ Trouver des
✔ Évaluer les
défaillances et
produits
défauts ✔ Réduire le
d’activités
✔ Fournir niveau de risque
✔ les exigences
l’information ✔ En accord avec
spécifiées ont
aux parties les lois et les
été satisfaites
prenantes standards
✔ Construire la
✔ Prévenir des
confiance
défauts

13/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Objectifs habituels des tests

Les objectifs peuvent varier selon:


Le contexte du composant/ système testé.
Le niveau du test.
Le modèle du cycle de vie.

Exemples:
Test de composants: trouver autant de défaillances que
possible de sort que les défauts sous-jacents soit identifiés tôt.
Test d’acceptation: le système fonctionne comme prévu et
satisfait les exigences spécifiées.
14/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Test et débogage

Exécution des tests Débogage


Mettre en évidence des trouve, analyse et corrige de
défaillances causées par des tels défauts.
défauts dans le logiciel.
Activité de test Activité de développement

15/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Test et débogage

Exécution de tests Débogage Test de confirmation

→ Test de confirmation: vérifie si les corrections apportées ont


résolu le problème.
→ Agile: Le testeur peut être impliqué dans le débogage et le test
des composants.

16/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

17/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Contribution des tests au succès

Des tests rigoureux des composants et des systèmes, peuvent


aider à réduire le risque de défaillances pendant l’exploitation.
Lorsque des défauts sont détectés et corrigés par la suite, cela
contribue à la qualité des composants ou des systèmes.
les tests logiciels peuvent également être nécessaires pour
répondre à des exigences contractuelles ou légales ou à des
normes spécifiques de l’industrie.

18/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Contribution des tests au succès

Exemples:
La participation des testeurs à la revue des exigences ou au
raffinement des User Stories pourrait permettre de détecter
des défauts dans ces produits d’activités.
L’identification et l’élimination des défauts dans les exigences
réduit le risque de développement de fonctionnalités
incorrectes ou non testables.

19/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Contribution des tests au succès

Exemples:
Le fait que les testeurs travaillent en étroite collaboration avec
les développeurs pendant que le code est en cours de
développement peut augmenter la compréhension du code et
de la façon de le tester par chaque partie.
Cette meilleure compréhension peut réduire le risque de
défauts dans le code et les tests.

20/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Contribution des tests au succès

Exemples:
Le fait que les testeurs vérifient et valident le logiciel avant sa
sortie permet de détecter des défaillances qui auraient pu être
manquées et aide au processus d’élimination des défauts ayant
causé les défaillances (c.-à-d. le débogage).
Cela augmente la probabilité que le logiciel réponde aux
besoins des parties prenantes et satisfasse les exigences.

21/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Assurance qualité et test

L’assurance qualité et le test ne sont pas les mêmes.


La gestion de la qualité comprend toutes les activités qui
dirigent et contrôlent une organisation en matière de qualité.

22/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Assurance qualité et test

L’assurance qualité est prin- Le contrôle de la qualité


cipalement axée sur le respect comprend diverses activités, y
des processus adéquats, afin compris des activités de test,
de donner l’assurance que les qui contribuent à l’atteinte de
niveaux de qualité appropriés niveaux de qualité adéquats.
seront atteints.

23/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Assurance qualité et test

→ QA: exécution correcte du processus.

→ C’est un support à des tests pertinents.

→ Test: contribue à l’atteinte de la qualité.

24/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Erreur, défaut, défaillance

Erreur: comportement du programmeur ou du concepteur


conduisant à un défaut dans le code du logiciel ou dans un
autre produit d’activités connexes.
Défaut/bogue (interne) : élément ou absence d’élément
dans le logiciel entraı̂nant une anomalie.
Anomalie/défaillance (fonctionnement): différence entre
comportement attendu et comportement observé.

Erreur défaut défaillance

25/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Erreur, défaut, défaillance

✘ Une mauvaise ✘ Les conditions


✘ Les contraintes de
communication
de temps l’environement
✘ La complexité
✘ L’inexpérience ✘ Les malentendus
du travail
✘ La faillibilité sur les interfaces
✘ Des nouvelles intra-système et
humaine
technologies inter-système

26/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Erreur, défaut, défaillance

Faux positif (false-fail): fait échouer un programme correct.

Faux négatifs (false-pass): fait réussir un programme

incorrect.

27/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Lien: https://shortest.link/g2rM

28/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

QCM

Question 1 Le test comme effet:


a) Accroissement de la qualité du logiciel
b) Une indication sur la qualité du logiciel
c) Permet d’identifier le responsable des défaillances
d) Montre qu’il n’y a plus de problèmes

29/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

QCM

Question 2 Un bug ou défaut est


a) Une méprise causée par une personne
b) Un problème rencontré par un utilisateur
c) Le résultat d’une erreur ou d’une méprise
d) Le résultat d’une défaillance qui peut mener à une erreur

30/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Scrum: Product Owner

Le Product Owner (PO) est le responsable de la définition et de


la conception d’un produit.

31/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Défauts, causes racines et effets

Mise en situation:
Supposons que des paiements d’intérêts incorrects, dus à une seule
ligne de code incorrecte, se traduisent par les plaintes des clients. Le
code défectueux a été écrit pour une User Story qui était ambiguë,
en raison de la mauvaise compréhension par le Product Owner de
la façon de calculer les intérêts. S’il existe un pourcentage élevé
de défauts dans les calculs d’intérêt, et que ces défauts ont leur
cause racine dans des incompréhensions similaires, le Product Owner
pourrait se former au calcul des intérêts afin de réduire le nombre
de tels défauts à l’avenir.

32/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Défauts, causes racines et effets

33/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Défauts, causes racines et effets

34/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Défauts, causes racines et effets

→ Les causes racines des défauts sont les premières actions ou

conditions qui ont contribué à la création des défauts.

→ Les défauts peuvent être analysés pour identifier leurs causes

racines, afin de réduire l’apparition de défauts similaires à l’avenir.

35/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

36/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 1

Les tests montrent la présence de défauts, par leur absence.

37/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 2

Les tests exhaustifs sont impossibles!

38/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 4

Tester tôt économise du temps et de l’argent

39/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 4

Regroupement des défauts

40/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 5

Paradoxe du pesticide

41/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 6

Les tests dépendent du contexte

42/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Principe 7

7. L’absence d’erreurs est une illusion

43/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

44/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Tests manuels vs. tests automatisés

Test automatisé
Test manuel
Développer des pro-
La vérification du code est
grammes spécifiques qui
effectuée par des humains.
vérifient le code.
Tâches répétitives et peu
Exécution rapide et peut
créatives.
être répétée à de multiples
Retester tout le produit à reprises.
chaque développement!
Coût très faible.

45/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Les tests unitaires automatisés

”petites” unités de code.


Une fonctionnalité isolée se
comporte comme attendu.
Rapides et faciles à exécuter.
Découvrir les erreurs/
défauts/ anomalies vite et
tôt.
Écrits une seule fois, mais
exécutés de nombreuses fois.

46/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Introduction à JUnit

JUnit (1998) est un framework pour écrire, exécuter et gérer des


tests unitaires pour le développement de logiciels en Java.

47/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Introduction à JUnit

JUnit fournit des annotations, des assertions, des gestionnaires


d’exceptions et des suites de tests.
JUnit peut être ajouté à un projet en utilisant une bibliothèque
externe ou en utilisant un outil de gestion de dépendances
comme Maven.
Les annotations JUnit sont utilisées pour marquer des méthodes
de tests et spécifier comment elles doivent être exécutées.

48/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Comment structurer son test?


Arrange (organiser): initialiser tous les entrants nécessaires et
le système à tester si besoin.

49/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Comment structurer son test?


Act (agir): exécuter le système à tester avec les entrants précédem-
ment initialisés dans des sortants à conserver.

50/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Comment structurer son test?


Assert (vérifier): valider les sortants en fonction de ce qui est
attendu par rapport aux entrants (succès ou en échec).

51/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Le TDD: Test-Driven Development!


Définition
Le développement piloté par les tests (TDD), consiste à ce que le
code de son application suive un plan fixé par les tests.
En codant d’abord le test, on considère directement l’objectif que
doit accomplir le code de l’application. Il s’agit de coder ce qui
est nécessaire, pas plus, et ce code répondra au besoin exprimé
clairement par le test.
Écrire un test unitaire qui échoue.
Écrire le code qui permet de réussir le test.
Nettoyez le code tout en gardant les tests en succès.
Écrire le prochain test et recommencez! 52/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Un premier test unitaire avec JUnit

@Test : Indique que la méthode annotée est un test unitaire.

53/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

54/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Processus de test

Planification
Analyse Implémentation
& Suivi Clôture
& Conception & Exécution
& contrôle

La stratégie de test d’une organisation:


Les activités de test impliquées: Quoi?
La façon de leurs mises en œuvre: Comment?
La date de réalisation: Quand?

55/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Facteurs contextuels

Les niveaux de test & types de test prévus


Le modèle de cycle de vie & les méthodologies de
projet

56/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Facteurs contextuels

Le domaine d’activité

Les risques liés aux produits et aux projets

57/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Facteurs contextuels

Les politiques et pratiques Les normes internes et externes


organisationnelles requises

Les contraintes opérationnelles

58/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Les aspects généraux des activités de test

Activités et tâches de test


Produits d’activités du test
Traçabilité entre les bases de test et les produits d’activités du
test

59/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Glossaire ISTQB

Cas de test:
un ensemble de conditions préalables, d’entrées, de résultats atten-
dus et de conditions postérieures à l’exécution qui est développé
pour vérifier si un logiciel ou un système fonctionne comme prévu
et pour identifier les erreurs ou les défauts potentiels.

60/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Glossaire ISTQB

Testware:
Tous les éléments qui sont utilisés pour concevoir, exécuter et gérer
les tests logiciels. Le testware peut inclure des:
outils de test
scripts de test
jeux de données de test
cas de test, etc.

61/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Glossaire ISTQB

Base de test: est l’ensemble des documents, des spécifications et


des exigences utilisés pour élaborer les tests d’un système ou d’une
application. Elle a des critères de couverture mesurables définis.

62/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Glossaire ISTQB
Critère de couverture: est une mesure utilisée pour déterminer si
un ensemble de tests couvre efficacement toutes les exigences d’un
système ou d’une application. Les critères de couverture peuvent
servir efficacement d’indicateurs clés de performance (KPI) pour
guider les activités qui démontrent l’atteinte des objectifs des tests
logiciels.

63/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Exemple

Base de test:
une liste d’exigences
liste d’appareils mobiles pris en charge.
Les critères de couverture:
exiger au moins un cas de test pour chaque
élément des bases de test.
les résultats de l’exécution de ces tests in-
diquent aux parties prenantes: la satisfaction
des exigences et les défaillances/appareils.

64/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Processus de test: ensemble de
Analyse de test groupes d’activités de test.
Un groupe d’activité de test:
Conception des tests
ensemble d’activités
Implémentation des tests constitutives.
Une activité de test: ensemble
Exécution des tests de tâches individuelles.
Clôture des tests
65/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests Définir les objectifs de test claire-


ment.
Analyse de test
Choisir l’approche de test appro-
Conception des tests priée en fonction du contexte.
Définir des métriques de pilotage.
Implémentation des tests
Revue du plan en fonction des
Exécution des tests retours de l’activité suivi et
contrôle des tests.
Clôture des tests
66/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Le pilotage: la comparaison
Analyse de test régulière de l’avancement réel par
rapport au plan de test à l’aide
Conception des tests des métriques de pilotage.
Implémentation des tests Le contrôle: prendre les mesures
nécessaires pour satisfaire aux
Exécution des tests objectifs du plan de test.

Clôture des tests


67/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Se basant sur l’évaluation des
Analyse de test critères de sortie, que l’on appelle
«definition of done».
Conception des tests
L’avancement des tests par
Implémentation des tests rapport au plan est communiqué
aux parties prenantes dans des
Exécution des tests rapports d’avancement des tests.

Clôture des tests


68/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

69/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


La réponse de la question “qu’est-ce
Analyse de test que tester”?
Conception des tests Analyser les bases de test [ les
spécifications des exigences, con-
Implémentation des tests ception, code, les rapports d’analyse
des risques].
Exécution des tests

Clôture des tests


70/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Identifier les caractéristiques et les
Analyse de test ensembles de caractéristiques à
tester.
Conception des tests
Définir et prioriser les conditions de
Implémentation des tests test.
Capturer la traçabilité bidirection-
Exécution des tests nelle.
Clôture des tests
71/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests La réponse à la question “Com-


ment tester?”.
Analyse de test Concevoir et prioriser les cas de
Conception des tests test et les ensembles de cas de test.
Identifier les données.
Implémentation des tests
Concevoir l’environnement de test.
Exécution des tests Établir la traçabilité bidirec-
tionelle.
Clôture des tests
72/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

73/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests La réponse de la question “Avons-


Analyse de test nous maintenant tout en place
pour exécuter les tests?”.
Conception des tests Développer et prioriser les
Implémentation des tests procédures de test.
Créer des suites de tests à partir
Exécution des tests des procédures de test.
Clôture des tests
74/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Positionner ces suites de tests dans
Analyse de test un calendrier d’exécution des tests.
Conception des tests Construire l’environnement de
test.
Implémentation des tests Vérifier et mettre à jour la
Exécution des tests traçabilité bidirectionelle.

Clôture des tests


75/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests Exécuter les suites de tests.


Comparer les résultats obtenus
Analyse de test avec les résultats attendus .
Conception des tests Rapport des défauts.
Test de confirmation, et/ou test de
Implémentation des tests régression.
Exécution des tests Vérifier et mettre à jour la
traçabilité bidirectionelle.
Clôture des tests
76/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

77/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests


Vérifier si tous les rapports de
Suivi et contrôle des tests
défauts sont clôturés.
Analyse de test Créer un rapport de synthèse de
test.
Conception des tests
Finaliser et archiver
Implémentation des tests l’environnement de test, les
données de test, l’infrastructure
Exécution des tests de test et autres testware pour
une réutilisation ultérieure.
Clôture des tests
78/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

Planification des tests

Suivi et contrôle des tests


Analyser les leçons apprises des ac-
Analyse de test tivités de test terminées.
Conception des tests Déterminer les changements
nécessaires pour les itérations,
Implémentation des tests versions et projets futurs.
Exécution des tests Améliorer le processus de test.

Clôture des tests


79/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Activités et tâches de test

80/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Les produits d’activités du test


Activité de test Produit d’activité
Planification des tests Le plan de test
Pilotage et contrôle des tests Rapport d’avancement de test +
Rapport de synthèse de test
Analyse de test Conditions de test + chartes de test
Conception des tests Cas de test + données de test
Implémentation des tests Les procédures de test + Les suites
de test + Un calendrier d’exécution
des tests
Exécution des tests Statut de chaque cas de test + Les
rapports de défauts
Clôture des tests Les rapports de synthèse de test +
des demandes de changement 81/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Traçabilité: bases de test & produits d’activités

l’évaluation de la couverture de test.


L’analyse de l’impact des changements
La satisfaction des critères de gouvernance IT
L’amélioration du caractère compréhensible des rapports
d’avancement des tests.
L’apport d’information pour évaluer la qualité du produit et
l’avancement du projet par rapport aux objectifs métier.

82/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Plan du chapitre

1 Que sont les tests?

2 Pourquoi les tests sont-ils nécessaires?

3 7 principes sur les tests

4 Un outil de test automatisé: JUnit

5 Processus de test

6 La psychologie des tests

83/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Psychologie humaine & test

L’identification d’un défaut/ défaillance lors de test statique


ou l’exécution de tests dynamiques peut être perçu comme
une critique du produit et de ses auteurs.
Biais de confirmation: qui fait qu’il est difficile d’accepter que
le code est incorrect.
Biais cognitifs: peuvent rendre difficile à comprendre ou à
accepter l’information produite par les tests.

84/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Psychologie humaine & test

C’est un trait humain commun de blâmer le porteur de mauvaises

nouvelles.

85/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Psychologie humaine & test

Certaines personnes peuvent percevoir le test comme: une


activité destructrice.
Réduire ces perceptions en communiquant de manière
constructive.

86/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Les moyens de bien communiquer

Commencer par la collaboration plutôt que par la


confrontation. Rappeler à tous l’objectif commun d’une
meilleure qualité des systèmes.
Mettre l’accent sur les bénéfices du test.
Pour les auteurs, l’information sur les défauts peut les aider à
améliorer leurs produits d’activités et leurs compétences.
Pour l’organisation, les défauts trouvés et corrigés durant les
tests permettront d’économiser du temps et de l’argent et de
réduire le risque global pour la qualité du produit.

87/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Les moyens de bien communiquer

Communiquer les résultats des tests et d’autres constats d’une


manière neutre et axée sur les faits, sans critiquer la personne
qui a créé l’item défectueux.
Rédiger des rapports objectifs et factuels sur les défauts et les
constats des revues.
Essayer de comprendre ce que ressent l’autre personne et les
raisons pour lesquelles elle peut réagir négativement à
l’information.
Confirmer que l’autre personne a compris ce qui a été dit et
vice versa.
88/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Etat d’esprit: testeur vs. développeur

Les testeurs
Les développeurs
Vérification & validation du
Concevoir et construire un produit.
produit. La détection des défauts avant
la livraison.

89/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Recommandations

Le fait que certaines des activités de test soient effectuées par


des testeurs indépendants augmente l’efficacité de la détection
des défauts.
Les testeurs indépendants apportent une perspective différente
de celle des auteurs du produit d’activités testé.

90/91
M. Thabet Test des logiciels (ISTQB)
Que sont les tests?
Pourquoi les tests sont-ils nécessaires?
7 principes sur les tests
Un outil de test automatisé: JUnit
Processus de test
La psychologie des tests
References

Bibliographie I

Dorothy Graham, Rex Black, and Erik Van Veenendaal. Foun-


dations of software testing ISTQB Certification. Cengage Learn-
ing, 2021.
Adam Roman, ROMAN., and Gerstner. Study Guide to the
ISTQB Foundation Level 2018 Syllabus. Springer, 2018.
STQB Foundation Level 2018 Syllabus. url: https://www.
istqb.org/certifications/certified-tester-foundation-
level.

91/91
M. Thabet Test des logiciels (ISTQB)

Vous aimerez peut-être aussi