Objectifs de vérification logiciels GEF492A 2014 Référence: [HvV §14.1] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.

Slides:



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

Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Tests et Validation du logiciel
L'installation et la diffusion 1 LInstallation et la Diffusion.
Les Evolutions et la Maintenance
But de la lecture critique
GEF499 Systèmes en temps réel
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Tests.
GEF 243B Programmation informatique appliquée
J. Paul Gibson Bureau A 207, Le département LOgiciels-Réseaux
Organiser des Tests dans un projet
Les démarches de développement
EVALUATION DU SYSTEME DE CONTROLE INTERNE :
Test de logiciel GLG101 AP.TELLE & S.MILOVANOVIC MAI 2007.
Tests et Validation du logiciel
Tests et Validation du logiciel
Les Ateliers de Génie Logiciel
MIAGE MASTER 1 Cours de gestion de projet
Cours #6 Conception d’unités de contrôle
Automates Programmables Industriels Automates Programmables
Algorithmique et Programmation
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
1 Exercice : longueur d’un mot est-elle paire ?  Test fonctionnel  Quel ensemble de valeur choisir / spécification  Test structurel  Soit le code d’un.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
CSI3525: Concepts des Languages de Programmation
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Démarche de développement
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Approche d’Amélioration de la Performance. Qu’est ce que la Performance ? Le travail/les tâches que les personnes font Les résultats de ce travail/de.
ANALYSE METHODE & OUTILS
Etat de préparation de l’équipe : questions approfondies à poser par les coachs avant que le processus des Normes Ouvertes ne débute Les capacités minimum.
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
GEF492 - PPL09 Estimation de projets logiciels
Paradigmes des Langages de Programmation
GEF COCOMO pour maintenance et réutilisation
La gestion des risques GEF492A 2014 Référence: [HvV] §8.3
Le développement d'une théorie de changement
Mesures orientées objet GEF492A 2014 Référence: [HvV §12.1.6] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Vue d’ensemble des outils du PRISM Dakar, 3 au 21 Mai 2010
Les principes de la modélisation de systèmes
GEF Techniques de plannification et de contrôle
Test de logiciels Chapitre 14 LFI2. Test de Logiciels Trois familles de techniques pour gerer les fautes  Eviter  Enlever  Tolerer Test de logiciels:
Supports de formation au SQ Unifié
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
GESTION ET TRAITEMENT DES ERREURS
Une introduction au eXtreme Programming (XP) GEF492A 2014 Référence: [Jefferies et al ch. 1,2, 7, 9-14] Capt Vincent Roberge Collège Militaire Royal du.
Université de Sherbrooke
Techniques de tests Aziz Salah, Professeur, Département d’informatique (Hiver 2005) Guy Tremblay, Professeur, Département d’informatique (Été 2005)
Tests de boîte noire.
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Mesure de la structure du système GEF492A 2014 Référence: [HvV §12.1.5] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
Algorithmique et programmation (1)‏
Algorithmes de tri et de recherche
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.
Estimer la distribution en personnel GEF492A 2014 Référence: [HvV §7.3] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Cycles de Vie du Logiciel LFI2 Genie Logiciel/ Gestion de Projets Septembre 2008.
Le Rational Unified Process GEF492A 2014 Référence: [Roy ch ] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Introduction au Génie Logiciel
COCOMO II GEF492A 2013 Référence: [HvV §7.1.2, & Boehm]
GEF Mesures de qualité Automne 2013 Mesures de qualités - attributs et perspectives GEF492A 2014 Référence: [HvV §6.1-3] Capt Vincent Roberge.
VALIDATION VÉRIFICATION & TESTS
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Les démarches de développement
ELE6306 : Test de systèmes électroniques Test intégré et Modèle de faute de délai Etudiante : S. BENCHIKH Professeur : A. Khouas Département de génie électrique.
AMDEC AMDEC : Analyse des modes de défaillances, de leurs effets et leurs criticités Origine: 1950 : USA (FMECA) 1970 : Europe.
Modèles de cycle de vie et processus de génie
Programmation Collège militaire royal du Canada Génie électrique et génie informatique.
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Transcription de la présentation:

Objectifs de vérification logiciels GEF492A 2014 Référence: [HvV §14.1] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique roberge.segfaults.net PPL24-ObjectifsVerificationValidation.pdf

Vérification vs validation Vérification: le processus d’évaluer un système ou une composante pour déterminer si le résultat d’une phase de développement donnée satisfait les conditions énoncées au début de la phase Est-ce qu’on a bien bâti le système? Validation: le processus d’évaluer un système ou une composante pour déterminer s’il/elle satisfait les besoins énoncés Est-ce qu’on a bâti le bon système? 2 Automne 2014GEF492 Glossaire IEEE

Erreurs, fautes et défaillances Erreurs: une erreur est une erreur humaine (faute typographique, mésinterprétation, omission, etc.) Fautes: une faute est la manifestation d’une erreur dans la représentation logicielle (besoins, conception ou code) Défaillances: une défaillance est une manifestation visible d’une faute observée dans un système en marche (un résultat incorrect, un comportement non désiré, un plantage du système) 3 Automne 2014GEF492

Fautes vs défaillances Considérer un programme qui produit le bon résultat de façon consistante il est certainement sans défaillances est-il sans fautes? Pourquoi ou pourquoi pas? Les fautes cachées sont les fautes restantes dans le code (produits) qui ne se manifestent pas (encore) comme des défaillances est-ce que les systèmes avec fautes cachées sont corrects? Que pensez-vous du Arianne 5 dans ce contexte? 4 Automne 2014GEF492

Le processus de vérification 5 Automne 2014GEF492 stratégie de test compar e USE Oracle USE sous-ensemble d’entrant entrant sous-ensemble d’entrant sortant attendu sortant actuel résultat du test USE – unité sous essai Y’a rien là, pas vrai?

Objectifs de vérification La sélection de la stratégie de test, et plus particulièrement le choix des sous-ensembles d’entrants est une étape critique et difficile dans le processus, et dépend des objectifs de vérification (ou de tests). L’objectif de vérification le plus apparent est la détection de fautes. Un second objectif peut être d’augmenter la confiance de par comportement sans faute. Un troisième objectif peut être la prévention de fautes. 6 Automne 2014GEF492

Détection de fautes les tests peuvent seulement prouver la présence de fautes, non pas leur absence Qu’est-ce qui caractérise un test réussi? un test qui trouve une faute, ou une exécution du test sans fautes. La plupart des schémas de tests sont conçus afin de choisir des sous-ensembles d’entrants avec une grande probabilité d'entraîner une défaillance (recherche pour certaines classes de fautes) Comme utilisateur, êtes-vous sûr qu’avec cette stratégie, le système est correct? 7 Automne 2014GEF492

Exemple procedure selection-sort(A,n); integer i, j, small, temp; begin for i:= 1 to n-1 do small:=i; for j:= i+1 to n do if abs(A[j]) < abs(A[small]) then small:=j; endif enddo temp:=A[i]; A[i]:=A[small]; [small]:=temp; enddo end selection-sort; 8 Automne 2014GEF492

Suffisance de test (1) performer des tests exhaustifs est une tâche presque impossible (à moins, bien sûr que vous avez quelques milliards d’années avant la pension) il faut donc choisir des cas de tests qui testent de façon adéquate sans avoir à considérer toutes les combinaisons possibles Exemple (Selection-sort) – Cas de test # 1 n=2, A[1]= 10, A[2] = 5 Résultat: tous les énoncés sont exécutés 9 Automne 2014GEF492 Est-ce adéquat ? Exemple

Suffisance de test (2) Exemple (Selection-sort) – Cas de test # 2 n=0, 1, 17, 1000 pour n= 17 et 1000 tester trois tableaux différents A: entiers aléatoires de 0 à 10 6 B:triés en ordre ascendant C:triés en ordre descendant Résultat: tous les énoncés sont exécutés, et plusieurs tableaux différents sont utilisés 10 Automne 2014GEF492 Ça fait surement l’affaire maintenant ? Exemple

Tests par couverture de flux de contrôle la couverture par énoncé (ou tous nœuds) – ce critère de suffisance est plutôt faible la couverture d’énoncés à 100% est habituellement un critère minimum de suffisance la couverture par branches (ou tous arcs) – plus fort que la couverture par énoncés, mais ne donne toujours pas de garanties de la véracité du programme couverture exhaustive (ou tout chemin) – la couverture de flux de contrôle la plus forte (souvent impossible) 11 Automne 2014GEF492

Autres critères de suffisance de tests tests par fautes basé sur l’insertion d’un nombre connu de x fautes, les tests doivent en trouver y% tests par erreur la conception des tests est basée sur des erreurs communes (manque de 1, exceptions manquantes, NAND au lieu de NOR, etc.) tests à boites noires les tests sont choisis uniquement selon les spécifications logicielles (aussi appelé tests fonctionnels) tests structurels tests basés sur les structures internes du programme 12 Automne 2014GEF492

Augmenter la confiance Comme utilisateur, on est peut-être plus intéressé en la fiabilité du logiciel qu’en son nombre de fautes cachées L’objectif de tests de confiance est de trouver les fautes qui causent le plus souvent des défaillances la sélection aléatoire d’entrants n’est pas efficace à trouver le nombre maximum de fautes, mais elle est essentielle aux tests de fiabilité pourvu que l’ensemble aléatoire soit représentatif de l’utilisation opérationnelle 13 Automne 2014GEF492 La fiabilité est la probabilité que le système ne subisse pas de défaillance pendant les prochaines x heures d’opération

Tests de fiabilité 14 Automne 2014GEF492 Taux de défaillances λ λ désiré temps de test écoulé temps de tests additionnels estimés [HvV] Section 19.2

Prévention de fautes un schéma de test basé sur la détection de fautes est une approche orientée vers les démonstrations, et place l’emphase de vérification vers la fin de la phase de développement on cherche des fautes dans le code exécutable seulement un schéma de test basé sur la prévention de fautes met l’emphase sur la planification et la conception de tests la conception de cas de tests exécutés tôt peut révéler des fautes dans les besoins (non testables, inconsistants, mal compris) en plus des fautes, les tests peuvent aider à trouver des améliorations au processus 15 Automne 2014GEF492

VÉRIFICATION DANS LE CYCLE DE VIE Prochaine séance: Automne 2014GEF492 16