80 likes | 209 Views
VALIDATION VÉRIFICATION & TESTS. Le problème fondamental du génie logiciel : le problème de l'erreur. Le problème de l'erreur. COMMENT CONSTRUIRE DES LOGICIELS QUI SOIENT : ERGONOMIQUES FIABLES EVOLUTIFS ECONOMIQUES
E N D
VALIDATION VÉRIFICATION & TESTS Le problème fondamental du génie logiciel : le problème de l'erreur
Le problème de l'erreur • COMMENT CONSTRUIRE DES LOGICIELS QUI SOIENT : • ERGONOMIQUES • FIABLES • EVOLUTIFS • ECONOMIQUES • SATISFAISANT AUX CRITERES Coût/Qualité/Fonctionnalités/Délais de réalisation (CQFD) • GARANTISSANT LE CONTRAT DE SERVICE REQUIS PAR LES USAGERS
Le constat et les causes • PRESENCE DE NOMBREUX DÉFAUTS DANS LES LOGICIELS • CAS DE LA NAVETTE SPACIALE : • logiciel embarqué : 0.11 par KLS (500) • logiciel sol : 0.40 par KLS (1400) • Logiciels grand public : plutôt 5-10 voire plus par KLS • EVOLUTIVITE DES LOGICIELS PROBLEMATIQUE (Régression en qualité) • CAS DES GRANDS SYSTEMES
Présence et retrait des défauts logiciels • Modèle de données, en particulier interfaces entre les modules, • Modèle d’enchaînement/contrôle des fonctions Conception détaillée • Code source fabriqué par les programmeurs, compilé sans erreur Programmation VVT Tests de couverture • Réduction du nombre de défauts au minimum acceptable selon le contrat de service Tests fonctionnel à partir des données Tests de performance • 80 à 100 défauts par KLS Tests de robustesse Tests de pré-intégration • 5 à 10 défauts par KLS Intégration • 1 à 2 défauts par KLS Installation
Fiabilité de la communication humaine • L'ERREUR HUMAINE EST FREQUENTE DANS : • L'ACTIVITE LOGICO-MATHEMATIQUE • LA GENERALISATION ET LA CONSTRUCTION DES ABSTRACTIONS • LA MODELISATION ET LA DYNAMIQUE DES SYSTEMES • LA COMMUNICATION (COMPRENDRE ET ETRE COMPRIS AU SEIN D’UN GROUPE : LA SÉMANTIQUE) • LA TRADUCTION (CHANGEMENT DE CODE) • CES ACTIVITÉS SONT AU COEUR DE LA PROBLEMATIQUE INFORMATIQUE
Terminologie • QUELQUES DEFINITIONS (IEEE STD 982 et 1044) • ERROR (Erreur) : Human action that results in software containing a fault. E.g. omission or misinterpretation of user requirements in a software specification, and incorrect translation or omission of a requirement in the design specification. • DEFECT (Défaut) : A product anomaly; e.g. (1) omissions and imperfections found during early life cycle phases and (2) faults contained in software sufficiently mature for test or operation. • FAULT (Défaillance) : (1) An accidental condition that causes a functionnal unit to fail to perform its required function. (2) A manifestation of an error in software. A fault if encountered may cause a failure. • FAILURE (Panne) : The termination of the ability of a functionnal unit to perform its required function. A failure may be produced when a fault is encountered.
La chaîne de l'erreur Erreur Défaut Défaillance Panne ERROR DEFECT FAULT FAILURE Est à l'origine qui peut conduire qui peut provoquer ACTION HUMAINE DANS LE LOGICIEL DANS LE PRODUIT DE LA FONCTION • Métrique: • Densité d'erreurs • Temps moyen de diagnostique • MTTR Peut être masquépar des dispositifsde type toléranceaux pannes • Métrique: • MTTF • MTBF
Caractéristiques qualité • Reliability (Fiabilité) • Probabilité p de fonctionnement sans panne, pour une certaine durée, sous certaines conditions environnementale • p dépend de la qualité des entrées et du taux de défauts résiduels du logiciel • Safety/Dependability (sûreté de fonctionnement) • Capacité à éviter les dangers et/ou les risques qu’une panne logicielle peut faire courir à l’environnement système (pertes d’équipements, pertes humaines, dégradations, etc.) • Dépend de la capacité du système englobant (modèles de pannes) à rétablir une situation sans risque (survie, reconfiguration, etc.)