©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 1 VALIDATION VÉRIFICATION & TESTS.

Slides:



Advertisements
Présentations similaires
Mustapha EL FEDDI Tests Mustapha EL FEDDI
Advertisements

Probabilités et statistiques au lycée
Eléments de Génie Logiciel
© Copyright 2007 Arumtec. All rights reserved. Présentation Etude déligibilité
La Recette La recette.
La Gestion de la Configuration
Algorithmes et structures de données avancés
Test de Systèmes Intégrés Digitaux et Mixtes
Spécification et qualité du logiciel
But de la lecture critique
RECONNAISSANCE DE FORMES
J. Paul Gibson Bureau A 207, Le département LOgiciels-Réseaux
Les TESTS STATISTIQUES
Organiser des Tests dans un projet
Les TESTS STATISTIQUES
Chapitre 7 : démarche de conception, conduite de projet SI
Tests et Validation du logiciel
Automatique 2 Parties : - Systèmes Continus - Systèmes Échantillonnés
Bernard HERBAIN IUP3 GEII AMIENS
Les Ateliers de Génie Logiciel
Pédagogie par Objectifs
Pourquoi et comment développer la relation client ?
Alain Villemeur Sector
MIAGE MASTER 1 Cours de gestion de projet
MANAGEMENT DU PRODUIT Organisation Technique du Produit (OTP) Objet Arborescence Produits Relation autres domaines Décomposition du système Gestion.
Introduction au Génie Logiciel
Algorithmique et Programmation
DataLab® Toute la connaissance client en quelques minutes
Des outils pour le développement logiciel
Techniques de test Boulanger Jean-Louis.
FICHIERS : Définition : Algorithme général:
Présentation du mémoire
CSI3525: Concepts des Languages de Programmation
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Module 2 : Préparation de l'analyse des performances du serveur
Programmation non procédurale Le projet ECOLE 2000
Introduction Un test sur les tests Ce que n’est pas le test
Les assertions en Java.
Paradigmes des Langages de Programmation
Mise en oeuvre et exploitation
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Module 8 : Surveillance des performances de SQL Server
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Outils pour le contrôle de gestion (M1) - Thierry Jacquot
GENIE LOGICIEL
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le système informatique et le système d’information
Les épreuves du BTS Systèmes photoniques
Introduction au Génie Logiciel
Test et Testabilité des Circuits Intégrés Digitaux
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
LES DEMARCHES PEDAGOGIQUES
VALIDATION VÉRIFICATION & TESTS
Initiation à la conception des systèmes d'informations
©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 2A : Élaboration d ’une stratégie de test / Vers. 2.0Page 1 VALIDATION VÉRIFICATION.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
Année 2006 – 2007 ENSEA © Emeric Rollin
Sites Pilotes Généralisation
Décision incertaine et logistique : Grille typologique
Méthode des moindres carrés (1)
Page : 1 / 7 Conduite de projet Examen du 16 mai 2001 Durée : 3h30mn Le support de cours et les notes sont nécessaires La notation tiendra compte très.
AMDEC AMDEC : Analyse des modes de défaillances, de leurs effets et leurs criticités Origine: 1950 : USA (FMECA) 1970 : Europe.
Retour aux fondamentaux
Document de spécification d’exigences Normes IEEE et 29148:2011
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Transcription de la présentation:

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 1 VALIDATION VÉRIFICATION & TESTS DÉFINITIONS ET CONCEPTS DE BASE

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 2 ACTIVITÉ DE TESTS vs CYCLE DE VIE LA RECHERCHE DES DÉFAUTS »Relectures et raisonnements sur les différents textes issus du cycle de développement au moyen de revues et d'inspections en vue d'en détecter les défauts. LE TEST IMPLIQUE UNE EXECUTION SUR MACHINE »C’est un protocole expérimental au sens fort du terme TESTS PREPARÉS A L'AVANCE –Scénarios construits puis exécutés permettant de vérifier ou valider une hypothèse de bon ou mauvais fonctionnement. TESTS INOPINÉS –Exécutions défectueuses qui révèlent un défaut de fonctionnement

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 3 DONNÉES STATISTIQUES Sources : –Classification et fréquence (Source B.Beizer, 1990) –Microsoft (étude M.Cusumano, R.Selby) –Productivité (B.Boehm)

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 4 Statistique B.Beizer Source : B.Beizer, Software testing techniques (1990) 

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 5 Microsoft

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 6 Statistique B.Boehm

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 7 VVT Conception détaillée Programmation Tests de couverture et de contrôle Tests fonctionnel à partir des données Tests de performance Tests de robustesse Tests de pré-intégration Modèle de données, en particulier interfaces entre les modules, Modèle d’enchaînement/contrôle des fonctions INTÉGRATION Code source fabriqué par les programmeurs, compilé sans erreur Réduction du nombre de défauts au minimum acceptable selon le contrat de service 80 à 100 défauts par KLS 5 à 10 défauts par KLS Installation 1 à 2 défauts par KLS Découverte des défauts  Si la stratégie VVT est correctement conduite (niveau de maturité élevé : CMM 4/5 + architecture testable + PSP) le nombre de défauts résiduels peut tomber à [ ] par KLS (Source SEI 2001) Revues Inspections

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 8 QUELQUES DÉFINITIONS ET TERMES COURANTS Tester Preuve Vérification Validation Certification Mise au point (« Debugging ») Tests unitaires Tests de composants/éléments (fonction externe visible) Tests de produits (ensemble de fonctions) Tests de systèmes (ensemble de fonctions + un environnement réel) Tests d'intégration (pour produits et/ou systèmes) Tests d'acceptance ou de recette Tests d'installation Tests avec simulation « Field » tests (tests sur sites clients)

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 9 CYCLE DE DÉVELOPPEMENT DES TESTS Spécification du test Exécution du test Comparaison Exploitation Comparaison Exploitation Archivage du test et des résultats Archivage du test et des résultats Modifications induites Modifications induites Analyse des résultats Objectif du test Spécification du programme à tester Chargement du programme et de son environnement Scénario du test Résultats et comportements attendus Résultats effectifs CorrectIncorrect Analyse inductive (on vérifie une hypothèse à partir des résultats obtenus) Analyse déductive (on recherche les causes dans le programme) Bibliothèque des tests Dans le testDans le programme Gestion des configurations Sources +Tests

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 10 RAPPEL SUR LES RAISONNEMENTS INDUCTIFS ET DÉDUCTIFS Exemple : démonstration de la formule –Méthode par récurrence –Méthode géométrique ou par détection de l’invariant

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 11 MISE AU POINT INDUCTIVE Méthode expérimentale : on observe pour mieux caractériser la défaillance et localiser précisément le défaut et sa cause Localiser toutes les données pertinentes Organiser les données Etudier les relations et dépendances fonctionnelles entre les données Formuler une hypothèse Prouver/démontrer l'hypothèse Corriger le défaut Données insuffisantes Inconsistance et/ou incomplétude Rechercher les cas semblables qui ne présentent pas l'anomalie. On rassemble les cas particuliers pour généraliser et faire ressortir les contradictions. On passe d ’une représentation en extension à une représentation en intention. On construit une mini-théorie qui explique complètement l'anomalie. Si plusieurs théories sont possibles, on commence par la plus simple. On doit démontrer la consistance et la complétude de la théorie sélectionnée avant de se lancer dans une correction.

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 12 MISE AU POINT DÉDUCTIVE Méthode logico-mathématique : on reconstruit la région de programme supposée contenir le défaut à partir de nouvelles hypothèses et on valide Enumérer toutes les causes possibles de l'anomalie Rassembler plus de données Elimination progressive de toutes les causes sauf une Améliorer et affiner l'hypothèse Prouver/démontrer l'hypothèse Corriger le défaut Inconsistance et/ou incomplétude Les hypothèses et théories correspondantes vont permettre de structurer et analyser les données à partir desquelles on va reconstruire le code supposé fautif (i.e.une 2ème version). Si toutes les hypothèses et théories sont éliminées, il faut plus de données. A partir des renseignements et indices disponibles, on construit une mini-théorie. C’est une reconstruction de la partie du programme jugée fautive. On doit démontrer la consistance et la complétude de la théorie sélectionnée avant de se lancer dans une correction.

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 13 TYPOLOGIE DES TESTS TESTS BOITE NOIRE –On ignore volontairement les détails de l'implémentation –Validation par rapport aux spécifications TESTS BOITE BLANCHE –On prend en compte les détails de l'implémentation –Vérification de la logique d'une implémentation

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 14 PROCESSUS DE TESTS D’UN PROGRAMME Programme source Résultats Tests Profils Métrologie Compilateur Surveillance (en ligne) Analyseur statique Analyseur dynamique Exécution Programme binaire VALIDATION VERIFICATION

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 15 NATURE DE L'INFORMATION UTILISÉE POUR LES TESTS Élément ou Composant à Tester x1 x2 x3 xm y1 y2 yn m Paramètres en entrée n Résultats Configuration externe de l'élément à tester : Ensembles + Relations Configuration interne de l'élément à tester : Graphes de contrôle + Graphes de données Granularité de la description Bord de l'élément : Pré-conditions + Post-conditions Environnement

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 16 OBJECTIF DE L'EFFORT DE TESTS –SUR UN GRAND PROJET OU SUR DES PROJETS SYSTÈMES (Contrôle, Concurrence, Communication) LES TESTS REPRÉSENTENT SOUVENT > 50% DE L'EFFORT. IL FAUT RENDRE CET EFFORT LE PLUS PRODUCTIF POSSIBLE. –TROUVER LE PLUS D'ERREURS PERTINENTES »DIAGNOSTIQUER LES ERREURS RAPIDEMENT »CORRIGER LES PROGRAMMES ET/OU LES TESTS SANS DEPLACER LES ERREURS S'ASSURER DES TESTS DEJA EFFECTUES –DEFINIR UN CRITÈRE D'ARRET SUR DES BASES ÉCONOMIQUES »COÛT DES TESTS vs COÛT DES DÉFAILLANCES SYSTÈMES (Évaluation des risques)

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 17 OBJECTIF DE TESTS et ENSEMBLE GENERATEUR Espace des cas possibles : Ecp TOUS LES CHEMINS possibles induits par la combinatoire des paramètres d'entrée et le mode de construction du système Espace générateur : Eg CERTAINS CHEMINS convenablement sélectionnés Propriété recherchée : SI Eg est couvert ALORS la probabilité d'une défaillance dans Ecp (mesurée par un MTTF) est < à une limite fixée à l'avance. Difficulté : Faire que Eg soit à la fois : Pertinent  Identification d'une classe de tests «intéressante» Consistant et Complet  par rapport à la réalité (sémantique)  ON RECHERCHE L'EXHAUSTIVITÉ DANS UNE CLASSE DE TEST DONNÉE QUI CONSTITUE L’OBJECTIF DE TEST

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 18 CONSTRUCTION DE L'ENSEMBLE GÉNÉRATEUR CRITÈRES DE CONSTRUCTION –DIFFÉRENTS NIVEAUX DE COUVERTURES SELON LA FRÉQUENCE D'EMPLOI ET/OU LA CRITICITÉ DE L'ÉLÉMENT –CONDITIONS DE «BORD» SUR LES DONNÉES DES DOMAINES D'ENTRÈES ET/OU DE SORTIES »NOTION DE CONTRAINTES PERTINENTES PERMETTANT DE DÉTERMINER L'ENSEMBLE DES DONNÉES QUI SONT AU VOISINAGE DU BORD –CONDITIONS D'OBSERVATION DU COMPORTEMENT DE L'ÉLÉMENT »RÉSULTATS INTERMÉDIAIRES INTÉRESSANTS »CONSOMMATION DES RESSOURCES CRITIQUES (TEMPS, MÉMOIRE, I/O,…)

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 19 MÉTROLOGIE –FICHES D'ENREGISTREMENT POUR TOUTES LES ERREURS ET LES CORRECTIONS CORRESPONDANTES –SURVEILLANCE DU NOMBRE ET DE LA RÉPARTITION DES ERREURS A PARTIR DE L'INTÉGRATION –MTTF –MTTR –DISPONIBILITÉ –NOMBRE D'ERREURS CUMULÉES ET DENSITÉ D'ERREURS –COUT MOYEN PAR ERREUR EXTRAITE –NORMALISATION DES MESURES

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 20 CINÉMATIQUE ET DYNAMIQUE DE L'EFFORT –CINÉMATIQUE VITESSE D'ÉCRITURE DES TESTS –Documentation, "driver", "stub' VITESSE D'EXÉCUTION DES TESTS –Temps machine, puissance des matériels, niveau d'automatisme VITESSE D'OBTENTION DES CORRECTIONS –Pertinence des données associées à l'anomalie, gestion des configurations –Organisation (Support, Maintenance, Qualification) –DYNAMIQUE »CE QUI FAIT VARIER LA VITESSE Suite de tests: T1, T2,..., Tx, Tn Pour vérifier la progression avec T x il faut repasser les lots T 1, T 2,..., T x-1 –Archiver tests et résultats + comparaison automatique –Décélération inéluctable Effort réparti entre: Ecriture des tests et Analyse des résultats des tests Courbes d'effort en S Age du système IMPORTANCE DES PARAMÈTRES INDIVIDUELS ET ORGANISATIONNELS

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 21 FONDEMENTS THÉORIQUES COMBINATOIRE PROBABILITES ET STATISTIQUES FONCTIONS BOOLÉENNES GRAPHES AUTOMATES ET GRAMMAIRES

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 22 APERÇU SUR LA COMBINATOIRE (1/2) Élément ou Composant à Tester x1 x2 x3 xm y1 y2 yn m Paramètres en entrée n Résultats xi dénote la granularité du paramètre i yj dénote la granularité du résultat j Cardinalité : x 1  x 2  x 3  …  x m = e Cardinalité : y 1  y 2  …  y n = r Environnement

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 23 APERÇU SUR LA COMBINATOIRE (2/2) Tests de robustesse Tests fonctionnels + * * + + * * Cas autorisés par la spécification Cas possibles Résultats autorisés par la spécification Résultats possibles Chaque  est un test, soit : (  y i ) ** (  x i ) tests possibles, i.e. exponentiel : EntréesRésultats +

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 24 Aperçu statistique Espace des cas à tester Testeur N°1 Testeur N°2 Testeur N°3 Pour éviter les redondances et/ou les lacunes les testeurs doivent disposer d’une information parfaite Espace du système réel Espace échantillon du système réel Qq. problèmes statistiques intéressants : Représentativité de l’échantillon ? Est-ce que ce qui est vrai dans l’échantillon l’est encore dans le système réel ? Est-ce que ce qui est faux dans l’échantillon est faux dans le système réel ? Peut-on calculer/estimer un intervalle de confiance ? Quelle confiance peut-on avoir dans les scénarios de tests ?

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 25 APERÇU PROBABILISTE (1/2) UN CHEMIN BIEN IDENTIFIÉ : –PLUSIEURS / NOMBREUX CAS EXTERNES POSSIBLES UNE ERREUR BIEN IDENTIFIÉE (SYMPTÔMES IDENTIQUES) : –PLUSIEURS CHEMINS POSSIBLES PEUVENT MENER À LA MÊME ERREUR

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 26 APERÇU PROBABILISTE (2/2) ÉVITER LES CAS DOUBLONS –IL FAUT ÉVALUER LES PROBABILITÉS POUR QUE : »1 TIRAGE DONNE UNE ERREUR –IDENTIFIER LES COMBINAISONS DE PARAMÈTRES QUI ONT LE PLUS DE CHANCE DE TROUVER DES ERREURS »2 TIRAGES D'ERREURS SUCCESSIFS TROUVENT DEUX ERREURS DIFFÉRENTES TROUVER LES CHEMINS FAUTIFS –IDENTIFIER LE PLUS COURT CHEMIN QUI REPRODUIT LES MÊMES SYMPTÔMES PROBABILITÉ DES DOUBLONS : –Pour une urne contenant N types de boules URNES DES ERREURS

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 27 MATURITÉ NIVEAU 0 : mise au point et tests ne sont pas différenciés NIVEAU 1 : le but des tests est de montrer que le système fonctionne NIVEAU 2 : le but des tests est de montrer que le système ne fonctionne pas NIVEAU 3 : le but des tests est de réduire le risque de non fonctionnement tel que perçu par l’usager à une valeur acceptable (  implique une mesure) NIVEAU 4 : la testabilité du système est complètement intégrée au processus de conception »Il est futile de « concevoir » ce que l'on ne saura pas tester.

©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 28 LOIS EMPIRIQUES DE LA TESTABILITÉ LOI 1 : toute méthode de tests laisse un résidu d'erreurs contre lesquelles la méthode adoptée est inefficace »Corollaire : Le potentiel de détection des défauts d’une suite de test s’épuise  Il faut constamment renouveler les tests en changeant de point de vue (objectif de test). LOI 2 : l'accroissement de complexité des systèmes dépasse très facilement le niveau de complexité que l'on sait raisonnablement valider, vérifier et tester compte tenu des contraintes économiques (cf. modèle CQFD) LOI 3 : code et données entretiennent des relations de dualité ; le code se transforme facilement en données. Les données sont une source d'erreurs aussi importante que le code (cf. statistique B.Beizer) LOI 4 : la topologie des défauts passe progressivement de l'état « dense » à l'état « diffus » ; l’analyse locale devient globale, le défaut résulte d’interactions imprévues entre différentes régions. Les « heisenbugs » deviennent prépondérants (le non déterminisme latent rend les pannes non reproductibles)