Vous êtes sur la page 1sur 37

Tests des Logiciels

ISTQB®

ISTIC – IOT2
S2 – 2022/2023
Tests des Logiciels

Connaissances et des Connaissances et des


compétences nécessaires compétences nécessaires
pour effectuer des tests pour réussir Certification de
logiciels base en tests logiciels ISTQB

Ce cours est destiné aux:

• Développeurs
• Testeurs, Analystes de test, Responsables de test, etc.
• Individus et organisations nécessitant une compréhension des
concepts de base des tests logiciels.
• Les personnes souhaitant acquérir une qualification formelle en
tests de logiciels.

ISTIC - Test Logiciel 2


Chapitre

1 Introduction

2 Fondamentaux des tests

A propos de ce cours 3 Tester pendant le cycle de vie du développement logiciel

4 Tests statiques

5 Techniques de test

6 Gestion des tests

7 Outils de support aux tests


Introduction
1- ISTQB
2- Niveaux de certification
3- Les avantages de la certification ISTQB

ISTIC - Test Logiciel 4


Introduction
ISTQB®

• Les besoins d’un langage et de procédures communs à la profession de testeur


logiciel, dans un univers international.
• Les compétences et connaissances nécessaires pour un testeur de logiciel ne sont
pas garantie par un diplôme.
•L’obligation d’amélioration continue pour des métiers qui ne cessent d’évoluer.

La fondation de l’association ISTQB en 2002

ISTIC - Test Logiciel 5


Introduction
ISTQB®

International Software Testing Qualifications Board (ISTQB)


Comité international de qualification du test logiciel

• Association internationale, fondée en 2002 à but non lucratif basé en Belgique


• Composée de 47 membres représentant plus de 71 pays (dont, pour la France
le Comité Français des Tests Logiciels – CFTL)
• Propose des certifications reconnues à l’échelle international et une qualification
standardisée pour valider le titre du testeur.

ISTQB® est leader mondial de la certification en matière de Test de Logiciels

ISTIC - Test Logiciel 6


Introduction
Niveaux de certification.

L’ISTQB a mis en place un schéma de certification de testeurs composé de trois


niveaux:

Fondation Avancé Expert


M - Agile Tester Test Manager - Improving the
o
d
- Model Based Test Analyst Testing Process
u Testing Technical Test Analyst - Test Management
l - Test Automation
e
s

ISTIC - Test Logiciel 7


Introduction
Les avantages de la certification ISTQB

Pour les professionnels :


• Reconnaissance internationale des compétences et des connaissances acquises.
• Autorisation d’utiliser le logo “Certified Tester” (spécifiant le niveau de
certification).

Pour les entreprises:


• Les sociétés ayant un personnel certifié, assurent un haut niveau de fiabilité des
applications développées.
• Les SSII ‘Sociétés de services et d’ingénierie en informatique’ ayant un personnel
certifié peuvent offrir un plus haut niveau de service à leurs clients, augmentant
ainsi leurs revenus et leur image de marque.
• L’ISTQB® a défini un “Partner Program” pour les sociétés qui investissent dans la
certification de leur personnel.

ISTIC - Test Logiciel 8


Fondamentaux des
tests:
1-Que sont les tests?
2- Pourquoi les tests sont-ils nécessaires?
3- 7 principes de test
4- Processus de test
5- La psychologie du testeur

ISTIC - Test Logiciel 9


Fondamentaux des tests
Que sont les tests?

Pourquoi tester:
Quelques ‘Bugs célèbres’:

• Le bug d’Arien 5 (1996):


Transmission de données erronées suite à une erreur => la fusée explosait
➢ 370 millions de dollars

• Le bug Therac-25 : (1985-1987): Machine de radiothérapie:


Le logiciel qui pilotait la machine ne détectait pas son mauvais fonctionnement => Surdoses
de rayonnement.
➢ 6 morts

ISTIC - Test Logiciel 10


Fondamentaux des tests
Que sont les tests?

• Panne du réseau téléphonique AT&T (1990):


• Une faute dans le logiciel de récupération d’erreur dans les
commutateurs téléphoniques provoqua des échanges de messages
d’erreur en cascade entre les commutateurs.
➢ Interruption du trafic téléphonique pendant 9 heures sur le réseau
AT&T

Impact:
- Sécurité des personnes
- Retour des produits Nécessité de « vérifier »
- Coût élevé des bugs certains
- Notoriété, image logiciels/Systèmes
- ….

ISTIC - Test Logiciel 11


Fondamentaux des tests
Que sont les tests?

Des définitions:
❖ (issue de la norme IEEE-STD729, 1983): 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.
❖ (issue de l'A.F.C.I.Q) : "Le test est une technique de contrôle consistant à s'assurer,
au moyen de son exécution, que le comportement d'un programme est conforme
à des données préétablies".
AFCIQ : Association Française pour le Contrôle Industriel et la Qualité
❖ (issue de ‘The art of software Testing’ [GJM]) : « Tester, c’est exécuter le
programme dans l’intention d’y trouver des anomalies ou des défauts".

ISTIC - Test Logiciel 12


Fondamentaux des tests
Que sont les tests?

Les objectifs des tests:

Le test d’un logiciel :


• A pour objectif de:
- Réduire les risques d'apparition d'anomalies.
- Construire la confiance dans le niveau de qualité de l'objet de test.
- Trouver des anomalies et défauts.
- Se conformer aux exigences ou aux normes contractuelles.

• N'a pas pour objectif de:


- Corriger le défaut détecté (débogage).
- Prouver la bonne exécution d’un programme.

ISTIC - Test Logiciel 13


Fondamentaux des tests
Que sont les tests?

Tester vs Déboguer

Tester et déboguer, ce n’est pas la même activité et les responsables sont différents:
o Les testeurs testent
Tester= Une activité de détection des anomalies.
o Les développeurs déboguent.
Déboguer= Une activité de développement permettant d’analyser,
trouver et supprimer les causes de la défaillance.

ISTIC - Test Logiciel 14


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Contribution des tests au succès


• L’intervention des testeurs dans les différentes phases de développement
logiciel peut garantir son succès:

Revue d’exigence Conception du system Développement Avant sa sortie

détecter des - Réduire le risque de - Assurer une meilleure - détecter des


défauts dans les défauts de fond dans la compréhension du défaillances qui
produits conception. code. auraient pu être
d’activités. - Identifier les tests à un - Réduire le risque de manquées.
stade précoce. défauts dans le code et
les tests.

ISTIC - Test Logiciel 15


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Assurance qualité et test:

❖ L’assurance qualité permet de mettre en œuvre un ensemble de dispositions qui vont


être prises tout au long des différentes phases de fabrication d’un logiciel pour accroître
les chances d’obtenir un logiciel qui correspond à ses objectifs (son cahier des charges).

❖ La définition et la mise en place des activités de test ne sont qu’un sous-ensemble des
activités de l’assurance qualité, et le test aura pour but de minimiser les chances
d’apparition d’une anomalie lors de l’utilisation du logiciel.

ISTIC - Test Logiciel 16


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Erreurs, défauts et anomalie

❖ Erreur: Une action humaine produisant un résultat incorrect. « Error »


❖ Défaut (ou Bogue): Défaut introduit dans le logiciel lors d’une des phases du cycle
de développement. « Defect, Fault or Bug »
❖ Anomalie (ou défaillance): Comportement observé différent du comportement
attendu ou spécifié. C’est la manifestation concrète du défaut. Elle peut ne jamais
avoir lieu. « Failure »

ISTIC - Test Logiciel 17


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Erreur Défaut Anomalie


Humaine (Bogue) (Défaillance)

un .. Et ce défaut
Et injecte un
développeur provoque
défaut dans
fait une l'échec du
le logiciel..
erreur logiciel

ISTIC - Test Logiciel 18


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Activité:
Activité:

Q: C’estC’est
quoiquoi un bogue
le testing ? ou un défaut?
❑ Une erreur
R: Définition commise
Slide 12 par une personne
❑ Un problème d'exécution rencontré par l'utilisateur
❑ Le résultat d'une erreur ou d’une faute
❑ Le résultat d'une défaillance, qui peut conduire à une erreur

ISTIC - Test Logiciel 19


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Activité:

Quel est l’objectif du testing?

❑ Se
Seconformer
conformeraux
auxexigences
exigencesou
ouaux
auxnormes
normescontractuelles
contractuelles.(oui).
❑ Réduire les risques d'apparition d'anomalies
d'anomalies.(oui).
❑ Corriger le défaut détecté (Non, trouver les anomalies et non pas corriger)
❑ Construire la confiance dans le niveau de qualité de l'objet de test.
test (oui).
❑ Prouver la bonne exécution d’un programme
programme.(non).

ISTIC - Test Logiciel 20


Fondamentaux des tests
Pourquoi les tests sont-ils nécessaires?

Activité:

C’est quoi un bogue ou un défaut?

❑ Une erreur commise par une personne


❑ Un problème d'exécution rencontré par l'utilisateur
❑ Le résultat d'une erreur ou d’une faute
❑ Le résultat d'une défaillance, qui peut conduire à une erreur

ISTIC - Test Logiciel 21


Fondamentaux des tests
les 7 principes des tests

1- Les tests montrent la présence de défauts, pas leur absence

❖ Les tests peuvent prouver la présence de défauts, mais ne peuvent pas en prouver
l’absence.
❖ Les tests réduisent la probabilité que des défauts restent cachés dans le logiciel
mais, même si aucun défaut n’est découvert, ce n’est pas une preuve d’exactitude

ISTIC - Test Logiciel 22


Fondamentaux des tests
les 7 principes des tests

2- Les tests exhaustifs sont impossibles

❖ Tout tester (toutes les combinaisons d’entrées et de préconditions) n’est pas


faisable sauf pour des cas triviaux.

❖ Quel que soit le nombre de scénarios, combinaisons qu’on pouvait tester, il y’en
aura toujours d’autres.

❖ Il faut cibler les efforts de tests par une analyse des risques et des priorités.

ISTIC - Test Logiciel 23


Fondamentaux des tests
les 7 principes des tests

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

❖ Les activités de test devraient commencer le plus tôt possible dans le cycle de
développement du système pour faciliter la localisation des anomalies trouvées, et
ainsi faciliter leur correction afin de minimiser les coûts et les efforts associés.

ISTIC - Test Logiciel 24


Fondamentaux des tests
les 7 principes des tests

4- Regroupement des défauts

❖ L’effort de test devrait être fixé proportionnellement à la densité des défauts


prévus et constatés dans les différents modules du logiciel.

❖ Un petit nombre de modules contiennent généralement la majorité des défauts


détectés lors des tests pré-livraison, ou affichent le plus de défaillances en
opération.

ISTIC - Test Logiciel 25


Fondamentaux des tests
les 7 principes des tests

5- Paradoxe du pesticide:

❖ Si les mêmes tests sont répétés de nombreuses fois, il arrivera que le même
ensemble de cas de tests ne trouvera plus de nouveaux défauts.
❖ Pour prévenir ce “paradoxe du pesticide”, les cas de tests doivent être
régulièrement revus et révisés, et de nouveaux tests, différents, doivent être écrits
pour couvrir d’autres chemins dans le logiciel ou le système de façon à permettre
la découverte de nouveaux défauts.
=> Pour trouver plus de défauts il faut songer à modifier les entrées des cas de
tests

ISTIC - Test Logiciel 26


Fondamentaux des tests
les 7 principes des tests

6- Les tests dépendent du contexte

❖ Les tests sont effectués différemment dans des contextes différents. Par exemple,
les logiciels de sécurité critique seront testés différemment d’un site de commerce
électronique.
❖ La stratégie de test utiliser lors de la campagne doit respecter le contexte de
déploiement du produit .

ISTIC - Test Logiciel 27


Fondamentaux des tests
les 7 principes des tests

7- L’absence d’erreurs est une illusion

❖ Trouver et corriger des défauts n’aide pas si le système conçu est inutilisable et ne
comble pas les besoins et les attentes des utilisateurs.
❖ les tests ne font que augmenter la qualité et de prévenir les bugs dans le produit ,
si le système est inutilisable alors les tests ne vont pas servir à grand-chose.

ISTIC - Test Logiciel 28


Fondamentaux des tests
Processus de test

Le processus de test dans le contexte:

❖ Il n’existe pas un unique processus de test logiciel universel.

❖ Suivre des ensembles communs d’activités de tests pour avoir plus de chance
d’atteindre les objectifs fixés.

➔ Ces ensembles d'activités de test constituent un processus de test.

ISTIC - Test Logiciel 29


Fondamentaux des tests
Processus de test

Le processus de test dans le contexte:

Les facteurs qui influencent le processus de test:

▪ Le modèle de cycle de vie de développement logiciel.


▪ Les niveaux de test et types de test prévus.
▪ Les risques liés aux produits et aux projets.
▪ Domaine d’activité.
▪ Les contraintes opérationnelles ( Les budgets et ressources, délais, complexité,
spécifications)
▪ Ect.

ISTIC - Test Logiciel 30


Fondamentaux des tests
Processus de test

Activités et taches de test

Un processus de test se compose des principaux groupes d'activités suivants :

1- Planification des tests


- Spécifier les techniques et taches de test, les plans de test à suivre,
produire un calendrier de test pour respecter une date limite.
2- Suivi et contrôle des tests
- Comparaison régulière de l’avancement réel par rapport au plan de test.
- L’évaluation de critère de sortie la vérification des résultats et logs de test
- L’avancement des tests par rapport au plan des tests communiqué.

ISTIC - Test Logiciel 31


Fondamentaux des tests
Processus de test

Activités et taches de test


3- Analyse et conception de test
- Définir « Quoi tester » et « Comment tester », Prioriser les cas de
test, concevoir l’environnement et établir la traçabilité..
4- Implémentation et exécution des tests
- Préparer les données de test, mettre à jours la traçabilité des cas de test,
construire l’environnement de test, Exécuter les tests et comparer les résultats.
- Signaler les défauts, analyser les anomalies, Enregistrer les résultats de
l’exécution (Réussite, Echec, blocage.. )
5- Clôture des tests
- Créer un rapport synthèse, finaliser et archiver les données de test,
l’environnement,

ISTIC - Test Logiciel 32


Fondamentaux des tests
Processus de test

Les produits d’activités du test

Les produits d'activités du test sont créés dans le cadre du processus de test.
▪ Produits d’activités de la planification des tests: Plan de test
▪ Produits d’activités du pilotage et contrôle des tests: Rapport d’avancement et de
synthèse des tests.
▪ Produits d’activités de l’analyse de test: la création de chartes de test.

ISTIC - Test Logiciel 33


Fondamentaux des tests
Processus de test

Les produits d’activités du test

▪ Produits d’activités de la conception des tests: L’ensemble de cas de test à exécuter.


▪ Produits d’activités de l’implémentation des tests: Procédures de test, un calendrier
d’exécution des tests
▪ Produits d’activités de l’exécution des tests: La documentation du statut de chaque cas
de test ou des procédures de test, Les rapports de défauts.
▪ Produits d’activités de la clôture des tests: rapports de synthèse de test, les mesures à
prendre pour améliorer les projets ou les itérations ultérieurs.

ISTIC - Test Logiciel 34


Fondamentaux des tests
Processus de test

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

❖ Afin de mettre en œuvre un pilotage et un contrôle efficaces des tests, il faut maintenir la
traçabilité tout au long du processus de test entre chaque élément des bases de test et les
divers produits d'activités du test associés à cet élément .
❖ La traçabilité Facilite:
- L’analyse de l’impacte de changement
- L’audit des tests
- L’amélioration du caractère compréhensible des rapports
d'avancement des tests
- L’apport d’information pour évaluer la qualité du produit

ISTIC - Test Logiciel 35


Fondamentaux des tests
La Psychologie du testeur

Psychologie humaine et test

❖ Les testeurs et les Test Managers doivent avoir de bonnes compétences


interpersonnelles pour être capable de communiquer efficacement sur les défauts, les
défaillances, les résultats des tests, l’avancement des tests et les risques, et pour établir
des relations positives avec leurs collègues.
✓ Les moyens pour bien communiquer:
- Commencer par la collaboration plutôt que par la confrontation
- 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.
-Essayer de comprendre ce que ressent l'autre personne et les raisons pour
lesquelles elle peut réagir négativement à l'information.

ISTIC - Test Logiciel 36


Fondamentaux des tests
La Psychologie du testeur

Etat d’esprit des testeurs et des développeurs


Les développeurs et les testeurs pensent souvent
différemment:

L'objectif premier du développement est de


concevoir et de construire un produit.

les objectifs du test comprennent la vérification et


la validation du produit, la détection des défauts
avant la livraison.

ISTIC - Test Logiciel 37

Vous aimerez peut-être aussi