Document Details

EnchantingSugilite8424

Uploaded by EnchantingSugilite8424

Issoufou Nikiéma

Tags

logiciel tests logiciels développement logiciel informatique

Summary

Ce document fournit un rappel sur les tests logiciels. Il couvre des concepts de base comme les définitions, l'importance et les réalités des tests logiciels. Il explore différents types de tests et leurs applications.

Full Transcript

Tests Logiciels Rappel Issoufou NIKIEMA Tests Logiciels Introduction aux tests logiciel 2 Chapitre 1 : Rappel aux tests logiciels Introduction aux tests logiciel 3 Plan Chapitre 1 : Rappel...

Tests Logiciels Rappel Issoufou NIKIEMA Tests Logiciels Introduction aux tests logiciel 2 Chapitre 1 : Rappel aux tests logiciels Introduction aux tests logiciel 3 Plan Chapitre 1 : Rappel Définitions, Importance et Réalités des tests logiciel Que teste-t-on ? Comment teste-t-on ? Le métier du testeur Quelques principes de base Les diffèrent types de testes Introduction aux tests logiciel 4 Définitions, Importance et Réalités Introduction aux tests logiciel 5 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 Introduction aux tests logiciel 6 Définitions « 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 Introduction aux tests logiciel 7 Définitions Oracle :  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. Introduction aux tests logiciel 8 Définitions script de test :  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). Introduction aux tests logiciel 9 Définitions un bug :  un bug est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement. Introduction aux tests logiciel 10 Définitions  Un cas de test : 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 Introduction aux tests logiciel 11 Importance des Tests Logiciels Introduction aux tests logiciel 12 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 Introduction aux tests logiciel 13 Importance des Tests Logiciels Introduction aux tests logiciel 14 Réalités des Tests Logiciels Introduction aux tests logiciel 15 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 Introduction aux tests logiciel 16 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 Introduction aux tests logiciel 17 Que teste-t-on ? Introduction aux tests logiciel 18 Qu’est-ce qu’on teste? (quelles propriétés?)  fonctionnalité  sécurité / intégrité  Utilisabilité  cohérence Introduction aux tests logiciel 19 Qu’est-ce qu’on teste? (quelles propriétés?)  Maintenabilité  Efficacité  Robustesse  sûreté de fonctionnement Introduction aux tests logiciel 20 Comment on teste? Test statique – relecture / revue de code – analyse automatique (vérification de propriétés, règles de codage... Introduction aux tests logiciel 21 Comment on teste? Test dynamique – on exécute le programme avec des valeurs en entrée et on observe le comportement Introduction aux tests logiciel 22 Le métier du testeur Introduction aux tests logiciel 23 Le métier du testeur! 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 Introduction aux tests logiciel 24 Le métier du testeur! 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 ?) Introduction aux tests logiciel 25 Le métier du testeur! 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 Introduction aux tests logiciel 26 Quelques principes de base Introduction aux tests logiciel 27 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. Introduction aux tests logiciel 28 Quelques principes de base 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 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 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. Introduction aux tests logiciel 29 Les diffèrent types de testes Introduction aux tests logiciel 30 Les tests Boite Noire 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é. Données Résultats de test Système du test Introduction aux tests logiciel 31 Principes de Base 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) 32 1 0 Principes de Base 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 1 0 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:  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é). Test boite blanche 34 Tests Logiciels : Tests Boite Blanche 35 3 5 Références Introduction aux tests logiciel 36 Références https://cours-informatique-gratuit.fr/dictionnaire/bug/ https://dept-info.labri.fr/~felix/Annee2008-09/S4/McInfo4_ASR%20Tests/1.pdf https://cursa.app/fr/cours-gratuit/test-de-logiciel-avec-test- academy http://www.univ-oeb.dz/fsesnv/wp-content/uploads/2020/04/test-logiciel.pdf https://www.ibm.com/cloud/learn/continuous- testing Introduction aux tests logiciel 37 Références 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 Introduction aux tests logiciel 38 MERCI Introduction aux tests logiciel 39

Use Quizgecko on...
Browser
Browser