La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "©2000 Reproduction interdite J.Printz / CNAM - CMSL / VVT Chapitre 1 : Définitions et concepts de base / Vers. 4.4Page 1 VALIDATION VÉRIFICATION & TESTS."— Transcription de la présentation:

1 ©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

2 ©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

3 ©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)

4 ©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) 

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

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

7 ©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 à [0.5-0.3] par KLS (Source SEI 2001) Revues Inspections

8 ©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)

9 ©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

10 ©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

11 ©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.

12 ©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.

13 ©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

14 ©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

15 ©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

16 ©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)

17 ©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

18 ©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,…)

19 ©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

20 ©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

21 ©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

22 ©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

23 ©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 +

24 ©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 ?

25 ©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

26 ©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

27 ©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.

28 ©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)


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

Présentations similaires


Annonces Google