Tests et Validation du logiciel 02/2007 – 06/2007
Plan Stratégie - Généralités Introduction au test des logiciels Définitions du test Classes de défaut Difficultés liées au tests Types de tests vs Techniques de tests Stratégie - Généralités Tests dans le projet Tests et cycle de vie Test Unitaires Tests d’intégration Tests de validation Tests de charge Techniques de test Introduction Approche fonctionnelle Approche structurelle Comparaison des approches Efficacité des techniques de tests
Test et cycle de vie des projets
Test et cycle de vie des projets Intégration Réalisation Conception Analyse détaillée Analyse préliminaire « (de risque) » V1 V2 Validation
Test et cycle de vie des projets Quelques soit les cycles de vie du logiciel, on peut noter quelques grandes phases Phases d’études et d’analyses Développements des modules Assemblage des modules Logiciel, fonctionnalité, finalisé On recommence.. Ce principe se décline quelque soit le cycle de vie utilisé AFNOR Z67-130
Test unitaire Aussi appelé « test de composant » Habituellement à la charge de l’équipe de développement. Ce qui ne signifie pas …. Vérification du respect des spécifications Fonctionnelles Techniques Commencement dès le codage des composants Nécessite un dossier de tests prêt Dépend de la méthode de conception utilisé… Mais généralement, qq soit la méthode de conception, on crée des petits programmes qui ont leurs propres entrées, leurs sorties, leurs données et une fonction à réaliser Norme AFNOR : P75L
Test unitaire Tests Manuel Tests automatisés (tests de non régression)
Test unitaire Données de test Réutiliser des anciens jeux d’essais Données fictives Possibilité d’importer des données de production, après traitement de désensibilisation. L’accès à des données / systèmes externes peut nécessiter de simuler l’accès ou la création de ces données (exemple : récupérer des données en asynchrone dans une file MQ) Réutiliser des anciens jeux d’essais
Test unitaire Ressources Norme AFNOR Z67-130 sur l’assurance qualité Documents de spécification Spécification de test Scénario Jeux d’essais Feuilles de résultats Précédents tests Norme AFNOR Z67-130 sur l’assurance qualité
Test unitaire - démarche Analyse statique Examen statique du code : relecture, inspection, qualimétrie, mesures de complexité, ..) Nombre cyclomatique, mesure de complexité de Mc Cabe Mesure de Halstead Gestion des variables : non initialisation, non utilisation Taux de commentaires Auto documentation
Test unitaire - démarche Analyse dynamique – tests structurels Couverture si la stratégie est axée sur le flot de contrôle Passage par tous les nœuds Parcours de tous les arcs Parcours de tous les chemins Couverture si la stratégie est axée sur l’examen des variables Passage par toutes les affectations de variables Passage par toutes les utilisations de variables dans les conditions Passage par toutes les autres utilisations (calculs, …)
Test unitaire Analyse dynamique - test fonctionnel Entité testée au travers de ses interfaces Vérification du service rendu et non de la façon dont il est rendu Analyse partitionnelle (DT) Trouver les DT en fonction des résultats attendus (et non l’inverse)
Test unitaire Boites noires utilisées aussi pour : Tests non régression (automatisés ?) Tests de robustesse Fonctionnement en situation extrême (débranchement d’un équipement, saisies aveugles, …) Tests de performances
Tests de charge TEP Tests de charge.ppt