SlideShare une entreprise Scribd logo
Tests Logiciels
Issoufou NIKIEMA
Rappel
Tests Logiciels
2
Introduction aux tests logiciel
Chapitre 1 : Rappel aux tests
logiciels
3
Introduction aux tests logiciel
Plan
Chapitre 1 : Rappel
Quelques principes de base
Définitions, Importance et Réalités des tests logiciel
Que teste-t-on ?
4
Introduction aux tests logiciel
Comment teste-t-on ?
Le métier du testeur
Les diffèrent types de testes
Définitions, Importance et
Réalités
5
Introduction aux tests logiciel
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
6
Introduction aux tests logiciel
« Tester, c'est exécuter le programme dans
l'intention d'y trouver des anomalies
ou des défauts.» G. Myers The Art of
Software testing
Définitions
7
Introduction aux tests logiciel
Définitions
 Un oracle est un mécanisme permettant de décider la réussite
d’un scénario de test, c’est à dire de déterminer si les
réponses obtenues à l’exécution du test correspondent bien à
ce que requiert le scénario.
8
Introduction aux tests logiciel
Oracle :
Définitions
 Un script de test est un mécanisme (en général un programme
dédié ou un script shell) 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 (on parle aussi de verdict de test, suivant que
l’oracle soit satisfait ou non pour chaque cas de test).
9
Introduction aux tests logiciel
script de test :
Définitions
 un bug est un défaut de conception d'un programme informatique à
l'origine d'un dysfonctionnement.
10
Introduction aux tests logiciel
un bug :
Définitions
Un cas de test est un ensemble d'entrées de test, de conditions
d'exécution et de résultats attendus pour un objectif particulier telle
que la conformité du programme avec une spécification donnée
11
Introduction aux tests logiciel
 Un cas de test :
Importance des Tests Logiciels
12
Introduction aux tests logiciel
Importance des Tests Logiciels
 Un bug coûte très cher
Pertes financières mais aussi pertes en vies humaines
dans certaines situations
 Les bugs sont inhérents au développement logiciel
Développeur
13
Introduction aux tests logiciel
Importance des Tests Logiciels
14
Introduction aux tests logiciel
Réalités des Tests Logiciels
15
Introduction aux tests logiciel
Réalités des Tests Logiciels
Le test est une activité du contrôle qualité Il est
indépendant du développement
Ce que le test est :
o Exécuter le programme
o connaître les résultats attendus (notion d'oracle)
o on échoue lorsqu'on ne trouve aucune erreur
16
Introduction aux tests logiciel
Réalités des Tests Logiciels
Ce que le test n’est pas :
o donner des explication sur une erreur
o Valider le logiciel (aucune erreur détectée ne signifie pas que
le programme soit correct)
“Le test peut révéler la présence des erreurs mais jamais leur absence’’– E. W. Dijkstra
17
Introduction aux tests logiciel
Que teste-t-on ?
18
Introduction aux tests logiciel
Qu’est-ce qu’on teste?
(quelles propriétés?)
19
Introduction aux tests logiciel
 fonctionnalité
 sécurité / intégrité
 Utilisabilité
 cohérence
Qu’est-ce qu’on teste?
(quelles propriétés?)
20
Introduction aux tests logiciel
 Maintenabilité
 Efficacité
 Robustesse
 sûreté de fonctionnement
Comment on teste?
21
Introduction aux tests logiciel
Test statique
– relecture / revue de code
– analyse automatique (vérification de propriétés,
règles de codage...
Comment on teste?
22
Introduction aux tests logiciel
Test dynamique
– on exécute le programme avec des
valeurs en entrée et on
observe le comportement
Le métier du testeur
23
Introduction aux tests logiciel
Le métier du testeur!
24
Introduction aux tests logiciel
Un métier à part entière
o Seule activité dans le cycle de développement où l'on peut
voir toutes les fonctionnalités d'un produit.
o Différent des développeurs spécialisés,
o demande rigueur et compétence
Le métier du testeur!
25
Introduction aux tests logiciel
o C'est une activité créatrice:
• il faut imaginer les scenarii pouvant mettre le logiciel en
défaut,
• il faut imaginer les bancs de tests, les environnements
de simulations (logiciel de conduite de train, de
contrôle des commandes de vol comment faire ?)
Le métier du testeur!
26
Introduction aux tests logiciel
o Mais c'est une activité mal perçue:
• le testeur est en fin de chaîne => retards,
• certains tests sont répétitifs,
• mal considères par les développeurs,
C'est pourtant une activité essentielle de R&D
Quelques principes de
base
27
Introduction aux tests logiciel
Quelques principes de base
Principe 1 : Un programmeur ne doit pas tester ses propres
programmes.
Tout simplement pour ne pas être juge et partie.
Principe 2 : Ne pas effectuer des tests avec l’hypothèse
de base qu’aucune erreur ne va être trouvée.
Principe 3 : La définition des sortie ou résultats attendus doit être
effectuée avant l’exécution d’un test.
28
Introduction aux tests logiciel
Quelques principes de base
Principe 5 : Les jeux de tests doivent être écrits pour des entrées invalides ou
incohérentes aussi bien que pour des entrées valides.
Simplement afin de découvrir les anomalies.
Principe 4 : Inspecter minutieusement les résultats (trace) de chaque test.
Pour une raison similaire au principe 2, il faut séparer l’exécution (action) et
l’analyse des résultats.
Principe 6 : Vérifier un logiciel pour détecter qu’il ne réalise pas ce qu’il est
supposé faire n’est que la moitié du travail.
29
Introduction aux tests logiciel
Les diffèrent types de
testes
30
Introduction aux tests logiciel
Les tests Boite Noire
31
Introduction aux tests logiciel
L'expression « boîte noire » vient du fait que les composants et les processus
du dispositif de traitement ne sont pas visibles ou transparents et que le
programme testé n'est pas étudié.
Système
Données
de test
Résultats
du test
Principes de Base
32
10
Basés sur la définition de ce qu’est la spécification d’un programme en
opposition à sa structure :
◦ On considère le logiciel comme une boite noire du point de vue de ses entrées/sorties;
la structure interne (i.e., l’implémentation) n’est pas prise en compte
◦ Les cas de tests sont conçus à partir d'une spécification (i.e., sans tenir compte du
code même si celui-ci est disponible)
Le niveau de rigueur (et de détail) des spécifications est particulièrement
important et influe sur la facilité à catégoriser les données d’entrées et
anticiper les sorties :
 la génération des cas de tests et des oracles
33
10
Principes de Base
Test boite blanche
Les tests boite blanche
Le test boite Blanche consiste à analyser la structure interne du programme en
déterminant les chemins minimaux afin d'assurer que:
34
 Toutes les conditions d'arrêt de boucle ont été vérifiées.
 Toutes les branches d'une instruction conditionnelle ont été testés.
 Les structures de donne interne ont été testées (pour assurer la validité).
Tests Logiciels : Tests Boite Blanche
35
3
5
Références
36
Introduction aux tests logiciel
Références
https://cours-informatique-gratuit.fr/dictionnaire/bug/
https://dept-info.labri.fr/~felix/Annee2008-09/S4/McInfo4_ASR%20Tests/1.pdf
http://www.univ-oeb.dz/fsesnv/wp-content/uploads/2020/04/test-logiciel.pdf
37
Introduction aux tests logiciel
https://www.ibm.com/cloud/learn/continuous-testing
https://cursa.app/fr/cours-gratuit/test-de-logiciel-avec-test-academy
Ce cours est basé sur le cours Méthodes de test et
validation du Logiciel Dr Aminata SABANE (UJKZ) et du Pr.
Antoniol Giuliano de l’Ecole
Polytechnique de Montréal
Références
38
Introduction aux tests logiciel
MERCI
39
Introduction aux tests logiciel

Contenu connexe

PDF
Ingénierie du test 0.9
Stéphane Salmons
 
PDF
Introduction au test_logiciel-fr
EmanBali
 
PPTX
13-Cours de Géniel Logiciel
lauraty3204
 
PPTX
Test de logiciels
Bilel Abed
 
PDF
1.pdf
Hathat10
 
PDF
Strategie de test à agile tour bordeaux
Nicolas Fédou
 
PDF
Exposé qualité et test
Imen Turki
 
PDF
Test logiciel
Youness Boukouchi
 
Ingénierie du test 0.9
Stéphane Salmons
 
Introduction au test_logiciel-fr
EmanBali
 
13-Cours de Géniel Logiciel
lauraty3204
 
Test de logiciels
Bilel Abed
 
1.pdf
Hathat10
 
Strategie de test à agile tour bordeaux
Nicolas Fédou
 
Exposé qualité et test
Imen Turki
 
Test logiciel
Youness Boukouchi
 

Similaire à test_logiciel_rappel_Master1_Université_JKZ.pptx (20)

PPTX
Test de logiciel Intégrant une fonction d’Intelligence Artificielle
Jean-Antoine Moreau
 
PDF
Le rôle du testeur et le Blackbox testing
Geeks Anonymes
 
PDF
formation istqb.pdf
mido04
 
PPTX
ormation - ISTQB Foundation Level Agile Tester (CTFL-AT) - Slides v2b.pptx
justekouassi74
 
PDF
Test unitaires
Mohamed Akrouh
 
PPTX
1-Introduction genie logiciel-fondements.pptx
YounessABOUQORA
 
PDF
Formation stratégie de test - créer un produit de qualité
Jean-Pierre Lambert
 
PDF
Avis d'expert : Les Tests Logiciels
CloudNetCare
 
PDF
PrésQL.pdf
badrfathallah2
 
PPT
Développement en méthode agile
laurent bristiel
 
PDF
Tour d'horizon des tests
yannick grenzinger
 
PDF
qualité logicielle (8).pdf
NoamHaythem
 
PPTX
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy
 
PDF
cours-01-intro.pdf
NihedBahria2
 
PPT
Le Génie Logiciel du commerce électronique
Simon3123
 
PPTX
chap6_GL.pptx
MOHAMEDAMINEKADRI4
 
PPTX
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Jean-Pierre Lambert
 
PDF
Istqb ctfl syllabus_french_v2010_01
Helena Le Goff
 
PPTX
Qualite1
Rachid Lajouad
 
PDF
Et4 4 testinformel
Thimothée EBODE
 
Test de logiciel Intégrant une fonction d’Intelligence Artificielle
Jean-Antoine Moreau
 
Le rôle du testeur et le Blackbox testing
Geeks Anonymes
 
formation istqb.pdf
mido04
 
ormation - ISTQB Foundation Level Agile Tester (CTFL-AT) - Slides v2b.pptx
justekouassi74
 
Test unitaires
Mohamed Akrouh
 
1-Introduction genie logiciel-fondements.pptx
YounessABOUQORA
 
Formation stratégie de test - créer un produit de qualité
Jean-Pierre Lambert
 
Avis d'expert : Les Tests Logiciels
CloudNetCare
 
PrésQL.pdf
badrfathallah2
 
Développement en méthode agile
laurent bristiel
 
Tour d'horizon des tests
yannick grenzinger
 
qualité logicielle (8).pdf
NoamHaythem
 
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy
 
cours-01-intro.pdf
NihedBahria2
 
Le Génie Logiciel du commerce électronique
Simon3123
 
chap6_GL.pptx
MOHAMEDAMINEKADRI4
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Jean-Pierre Lambert
 
Istqb ctfl syllabus_french_v2010_01
Helena Le Goff
 
Qualite1
Rachid Lajouad
 
Et4 4 testinformel
Thimothée EBODE
 
Publicité

Plus de EnochBidima3 (7)

PDF
Chapt-1-Cours_BdD-Introduction-SEA-M1-2022 -V1.pdf
EnochBidima3
 
PPTX
Cours complet 009_INF4040- Sequence Diagram.pptx
EnochBidima3
 
PPTX
008_INF4040- D'UML vers Java.pptx realisation de projet
EnochBidima3
 
PPTX
Test_Logiciel_appium Version2.ppt projet univerx
EnochBidima3
 
PPTX
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
EnochBidima3
 
PPTX
appiumpresent-211128171811.pptx projet de presentation
EnochBidima3
 
PPTX
Bugzilla Prensetation Outils de developpement.pptx
EnochBidima3
 
Chapt-1-Cours_BdD-Introduction-SEA-M1-2022 -V1.pdf
EnochBidima3
 
Cours complet 009_INF4040- Sequence Diagram.pptx
EnochBidima3
 
008_INF4040- D'UML vers Java.pptx realisation de projet
EnochBidima3
 
Test_Logiciel_appium Version2.ppt projet univerx
EnochBidima3
 
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
EnochBidima3
 
appiumpresent-211128171811.pptx projet de presentation
EnochBidima3
 
Bugzilla Prensetation Outils de developpement.pptx
EnochBidima3
 
Publicité

test_logiciel_rappel_Master1_Université_JKZ.pptx

  • 3. Chapitre 1 : Rappel aux tests logiciels 3 Introduction aux tests logiciel
  • 4. Plan Chapitre 1 : Rappel Quelques principes de base Définitions, Importance et Réalités des tests logiciel Que teste-t-on ? 4 Introduction aux tests logiciel Comment teste-t-on ? Le métier du testeur Les diffèrent types de testes
  • 6. 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 6 Introduction aux tests logiciel
  • 7. « Tester, c'est exécuter le programme dans l'intention d'y trouver des anomalies ou des défauts.» G. Myers The Art of Software testing Définitions 7 Introduction aux tests logiciel
  • 8. Définitions  Un oracle est un mécanisme permettant de décider la réussite d’un scénario de test, c’est à dire de déterminer si les réponses obtenues à l’exécution du test correspondent bien à ce que requiert le scénario. 8 Introduction aux tests logiciel Oracle :
  • 9. Définitions  Un script de test est un mécanisme (en général un programme dédié ou un script shell) 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 (on parle aussi de verdict de test, suivant que l’oracle soit satisfait ou non pour chaque cas de test). 9 Introduction aux tests logiciel script de test :
  • 10. Définitions  un bug est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement. 10 Introduction aux tests logiciel un bug :
  • 11. Définitions Un cas de test est un ensemble d'entrées de test, de conditions d'exécution et de résultats attendus pour un objectif particulier telle que la conformité du programme avec une spécification donnée 11 Introduction aux tests logiciel  Un cas de test :
  • 12. Importance des Tests Logiciels 12 Introduction aux tests logiciel
  • 13. Importance des Tests Logiciels  Un bug coûte très cher Pertes financières mais aussi pertes en vies humaines dans certaines situations  Les bugs sont inhérents au développement logiciel Développeur 13 Introduction aux tests logiciel
  • 14. Importance des Tests Logiciels 14 Introduction aux tests logiciel
  • 15. Réalités des Tests Logiciels 15 Introduction aux tests logiciel
  • 16. Réalités des Tests Logiciels Le test est une activité du contrôle qualité Il est indépendant du développement Ce que le test est : o Exécuter le programme o connaître les résultats attendus (notion d'oracle) o on échoue lorsqu'on ne trouve aucune erreur 16 Introduction aux tests logiciel
  • 17. Réalités des Tests Logiciels Ce que le test n’est pas : o donner des explication sur une erreur o Valider le logiciel (aucune erreur détectée ne signifie pas que le programme soit correct) “Le test peut révéler la présence des erreurs mais jamais leur absence’’– E. W. Dijkstra 17 Introduction aux tests logiciel
  • 18. Que teste-t-on ? 18 Introduction aux tests logiciel
  • 19. Qu’est-ce qu’on teste? (quelles propriétés?) 19 Introduction aux tests logiciel  fonctionnalité  sécurité / intégrité  Utilisabilité  cohérence
  • 20. Qu’est-ce qu’on teste? (quelles propriétés?) 20 Introduction aux tests logiciel  Maintenabilité  Efficacité  Robustesse  sûreté de fonctionnement
  • 21. Comment on teste? 21 Introduction aux tests logiciel Test statique – relecture / revue de code – analyse automatique (vérification de propriétés, règles de codage...
  • 22. Comment on teste? 22 Introduction aux tests logiciel Test dynamique – on exécute le programme avec des valeurs en entrée et on observe le comportement
  • 23. Le métier du testeur 23 Introduction aux tests logiciel
  • 24. Le métier du testeur! 24 Introduction aux tests logiciel Un métier à part entière o Seule activité dans le cycle de développement où l'on peut voir toutes les fonctionnalités d'un produit. o Différent des développeurs spécialisés, o demande rigueur et compétence
  • 25. Le métier du testeur! 25 Introduction aux tests logiciel o C'est une activité créatrice: • il faut imaginer les scenarii pouvant mettre le logiciel en défaut, • il faut imaginer les bancs de tests, les environnements de simulations (logiciel de conduite de train, de contrôle des commandes de vol comment faire ?)
  • 26. Le métier du testeur! 26 Introduction aux tests logiciel o Mais c'est une activité mal perçue: • le testeur est en fin de chaîne => retards, • certains tests sont répétitifs, • mal considères par les développeurs, C'est pourtant une activité essentielle de R&D
  • 28. Quelques principes de base Principe 1 : Un programmeur ne doit pas tester ses propres programmes. Tout simplement pour ne pas être juge et partie. Principe 2 : Ne pas effectuer des tests avec l’hypothèse de base qu’aucune erreur ne va être trouvée. Principe 3 : La définition des sortie ou résultats attendus doit être effectuée avant l’exécution d’un test. 28 Introduction aux tests logiciel
  • 29. Quelques principes de base Principe 5 : Les jeux de tests doivent être écrits pour des entrées invalides ou incohérentes aussi bien que pour des entrées valides. Simplement afin de découvrir les anomalies. Principe 4 : Inspecter minutieusement les résultats (trace) de chaque test. Pour une raison similaire au principe 2, il faut séparer l’exécution (action) et l’analyse des résultats. Principe 6 : Vérifier un logiciel pour détecter qu’il ne réalise pas ce qu’il est supposé faire n’est que la moitié du travail. 29 Introduction aux tests logiciel
  • 30. Les diffèrent types de testes 30 Introduction aux tests logiciel
  • 31. Les tests Boite Noire 31 Introduction aux tests logiciel L'expression « boîte noire » vient du fait que les composants et les processus du dispositif de traitement ne sont pas visibles ou transparents et que le programme testé n'est pas étudié. Système Données de test Résultats du test
  • 32. Principes de Base 32 10 Basés sur la définition de ce qu’est la spécification d’un programme en opposition à sa structure : ◦ On considère le logiciel comme une boite noire du point de vue de ses entrées/sorties; la structure interne (i.e., l’implémentation) n’est pas prise en compte ◦ Les cas de tests sont conçus à partir d'une spécification (i.e., sans tenir compte du code même si celui-ci est disponible)
  • 33. Le niveau de rigueur (et de détail) des spécifications est particulièrement important et influe sur la facilité à catégoriser les données d’entrées et anticiper les sorties :  la génération des cas de tests et des oracles 33 10 Principes de Base
  • 34. Test boite blanche Les tests boite blanche Le test boite Blanche consiste à analyser la structure interne du programme en déterminant les chemins minimaux afin d'assurer que: 34  Toutes les conditions d'arrêt de boucle ont été vérifiées.  Toutes les branches d'une instruction conditionnelle ont été testés.  Les structures de donne interne ont été testées (pour assurer la validité).
  • 35. Tests Logiciels : Tests Boite Blanche 35 3 5
  • 38. Ce cours est basé sur le cours Méthodes de test et validation du Logiciel Dr Aminata SABANE (UJKZ) et du Pr. Antoniol Giuliano de l’Ecole Polytechnique de Montréal Références 38 Introduction aux tests logiciel

Notes de l'éditeur

  • #7: L'IEEE, Institute of Electrical and Electronics Engineers (Institut des ingénieurs électriciens et électroniciens, en français), est une association regroupant des milliers de professionnels du domaine de l'informatique et des télécommunications à travers le monde. Son objectif principal se résume à la promotion de la connaissance dans le domaine de l'ingénierie électrique et électronique.
  • #8: L’important est de retenir que le test est une méthode de vérification partielle : le test exhaustif d’un programme en injectant toutes les entrées possibles n’est en général pas possible. On ne prouve pas qu’un programme est correct par le test seul.
  • #9: L’important est de retenir que le test est une méthode de vérification partielle : le test exhaustif d’un programme en injectant toutes les entrées possibles n’est en général pas possible. On ne prouve pas qu’un programme est correct par le test seul.
  • #10: L’important est de retenir que le test est une méthode de vérification partielle : le test exhaustif d’un programme en injectant toutes les entrées possibles n’est en général pas possible. On ne prouve pas qu’un programme est correct par le test seul.
  • #11: Un bug est un fonctionnement non désiré dans un ordinateur ou un programme informatique. On parle de bug quand le logiciel ne fait pas ce qu'on lui a demandé, qu'il se bloque et ne répond plus ou qu'il plante. De par la nature complexe de l'informatique, il est assez fréquent que vous rencontriez des bugs !
  • #12: Un bug est un fonctionnement non désiré dans un ordinateur ou un programme informatique. On parle de bug quand le logiciel ne fait pas ce qu'on lui a demandé, qu'il se bloque et ne répond plus ou qu'il plante. De par la nature complexe de l'informatique, il est assez fréquent que vous rencontriez des bugs !
  • #14: expérimenté : 1 faute / 10 lignes de code 163 fautes / 1000 instructions [B. Beizer Software TestingTechniques 1990]
  • #29: Ceci est une erreur fréquente du test. Ce n’est pas lorsque l’on effectue le test d’une procédure qu’il faut se poser la question de la validité des résultats, car il y a des chances non négligeable de prendre un résultat erroné mais semblant cohérent pour un résultat correct.
  • #30: Il faut aussi vérifier ce que fait le programme lorsqu’il n’est pas supposé le faire. Afin d’évaluer la robustesse du logiciel.
  • #32: Il faut aussi vérifier ce que fait le programme lorsqu’il n’est pas supposé le faire. Afin d’évaluer la robustesse du logiciel.