Tests et Validation du logiciel 02/2007 – 06/2007.

Slides:



Advertisements
Présentations similaires
Les carrés et les racines carrées
Advertisements

Tests et Validation du logiciel
Tests et Validation du logiciel
Tests et Validation du logiciel
M. SAILLOUR Lycée Notre Dame du Kreisker St Pol de Léon
AUTRES ASPECTS DU GPS Partie I : tolérance de Battement
La Gestion de la Configuration
Classification et prédiction
Portée des variables VBA & Excel
Classification et prédiction
Fonctions & procédures
Regroupement (clustering)
RECONNAISSANCE DE FORMES
Calculs de complexité d'algorithmes
LE CALCUL LITTÉRAL AU COLLÈGE
Raisonnement et logique
Chapitre 6: Les procédures et les fonctions
Comparaison d'une distribution observée à une distribution théorique
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Les fonctions de XPath et XSLT
Statistique et probabilités au collège
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Tests et Validation du logiciel
Tests et Validation du logiciel
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
1 Statistiques Séance 5 – 9 Nov Résumé séance précédente Lécart-type σ ou s. Comment le calculer? Les propriétés numériques de la courbe normale.
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Récursivité.
Probabilités.
Les structures de données arborescentes
Quelques algorithmes sur calculatrices
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Python La programmation objet
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.
Des révisions et des constructions.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Expressions régulières et hash tables
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Courbes de Bézier.
Corrélation Principe fondamental d’une analyse de corrélation
Cours de Base de Données & Langage SQL
ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.
PROGRAMMATION SCIENTIFIQUE EN C
Chapitre 3 Syntaxe et sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Inéquations du premier degré à une inconnue
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.

Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Introduction Un test sur les tests Ce que n’est pas le test
ASI 3 Méthodes numériques pour l’ingénieur
1. Représentation des informations
Question 1 Une série d'échantillons sont analysés dans un laboratoire. On constate que la teneur en carbone des différents échantillons varie d'un échantillon.
Expressions régulières et hash tables
JavaScript.
Rappels de statistiques descriptives
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.
Un survol du language C.
Méthodes de tri.
Micro-intro aux stats.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
1 Quatrième journée Les flots de données Les entrées/sorties Les flots de données Les entrées/sorties.
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
27/03/2001InfoBase: Techniques de Test1 Informatique de Base (4) Techniques de Tests.
1 2 Méthodes de calcul Méthode forfaitaireMéthode sur base de la puissance réellement installée Calcul pénalisantCalcul, en principe, plus favorable 
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Transcription de la présentation:

Tests et Validation du logiciel 02/2007 – 06/2007

Tests aux limites Constat : les bugs se cachent dans les coins ! Un aspect des méthodes fonctionnelles les plus efficaces. Quest ce quune limite ? Valeurs très élevée, nulle,… Valeurs des bornes dune boucle Données non valides …

Tests aux limites Identification des intervalles de variation des données pour en déduire des jeux de tests qui solliciteront le composant logiciel avec des valeurs choisies juste à lintérieur et juste à lextérieur des bornes de ces domaines. Remarque : Souvent utilisée avec la technique de partitionnement : les valeurs aux limites peuvent être des valeurs aux frontières des partitions

Tests aux limites Variable dans un intervalle de valeurs [a,b] : a, b, a +/- Δ, b +/- Δ (Δ : plus petite variation possible) Variable dans un ensemble de valeurs {a1, a2, …/…, an} : a1, a2, an-1, an

Tests aux limites Cas général : pour un paramètre appartenant à un interval, génération de 6 DT Exemple P appartient à [0 – 100]. Liste des DTs : -1, 0, 1, 99, 100, 101

Tests aux limites Exemples de bugs aux limites ? Table de base vide, Fichier absent Oublie du traitement du premier ou du dernier record dun fichier Dépassement de tableau Dépassement de capacité dune variable typée

Tests aux limites - Exemple Un programme de classification de triangles prend en entrée un triplet de réels (a,b,c) correspondants aux longueurs des 3 côtés dun triangle. Le programme doit préciser la nature du triangle (équilatéral, isocèle, scalène, impossible) Donner des exemples de valeurs aux limites.

Tests aux limites - Exemple (0,0,0) un point, voire rien… (0.1,0.1,0.1) un petit triangle, (1,1,2) un segment, (1,1,1.999) un triangle bien plat, (4,0,3) une des longueurs est nulle (4,4, ) presque équilatéral

Tests aux limites - Exemple Fonction faisant une recherche dichotomique dans un tableau (trié)

Tests aux limites - Exemple Fonction faisant une recherche dichotomique dans un tableau (trié) Exemple DT avec limite TableauElémentTableClé Sortie (trouv, A) 1 seule valeurDans le tableau[17]17(true, 0) 1 seule valeurPas dans le tableau[17]27(false, ???) Plus dune valeur1er élément dans le tableau[3,17,33,42,58]3(true, 0) Plus dune valeurdernier élément dans le tableau[3,17,33,42,58]58(true, 4) Plus dune valeurmédian dans le tableau[3,17,33,42,58]33(true, 2) Plus dune valeurnon présent dans le tableau[3,17,33,42,58]1(false, ???)

Partitionnelle - Limite Lanalyse partitionnelle est une méthode qui vise à diminuer le nombre de cas de tests par calcul de classes déquivalence Le choix de conditions dentrée aux limites est une heuristique solide de choix de données dentrée au sein des classes déquivalence Le test aux limites produit à la fois des cas de test nominaux (dans lintervalle) et de robustesse (hors intervalle)

Tests Combinatoires Les combinaisons de valeurs de domaines dentrée donne lieu a explosion combinatoire. Exemple : Options dune boite de dialogue MS Word. 21^2* 3 = combinaisons

Tests Combinatoires – Approche PairWise Tester un fragment des combinaisons de valeurs qui garantissent que chaque combinaison de 2 variables est testé Idée sous-jacente : la majorité des fautes sont détectées par des combinaisons de 2 valeurs de variables Exemple : 4 variables avec 3 valeurs possibles chacune 81 combinaisons 9 paires

Tests Combinatoires – Approche PairWise Lapproche Pairwisese décline avec des triplets, des quadruplets, …. mais le nombre de tests augmente très vite Problème du Pairwise: Le choix de la combinaison de valeurs nest peut- être pas celle qui détecte le bug … Le résultat attendu de chaque test doit être fournis manuellement

Tests Combinatoires – Approche PairWise Exemple adapté : classe déquivalences Nombre de paramètres : 3 CE Nombre de caractères du nom : 2 CE Borne inférieure précédée par «=»: 2 CE Borne supérieure précédée par «To»: 2 CE Borne inférieure entier positive : 4 CE Borne supérieure entier positive : 4 CE 384 combinaison

Tests Combinatoires – Approche PairWise Nombre de paramètres Nombre de caractères du nom Borne inférieure précédée par «=» Borne supérieure précédée par «To» Borne inférieure entier positive Borne supérieure entier positive 02nonoui5-10.5for 5 to ouinon505for = oui for ii,jj =-10.5 to 5 13non 550for AAA ouinon-10.5 for AAA = nonoui-105for AAA, BBB -10 TO 5 12ouinon55for AA= ouinon for AA,BB= nonoui50-10for AA 50 TO oui 50 for AA,BB=5 TO 50 23ouinon5-10for AAA,BBB= non for ouinon for = ouinon for AAA,BBB= oui -10 for AAA=-10 to ouinon-1050for =-10 50

Tests Combinatoires – Approche PairWise Risque de passer à coté du bug Possibilité de préciser le modèle de génération des fichiers de test Exemple : Microsoft PICT

Tests syntaxiques Permet de définir les DT à partir dune description formelle des données dentrée. Approche adaptée aux applications qui nécessitent de données dentrée respectant une syntaxe rigide et bien définie.

Approche fonctionnelle Tests syntaxiques 3 phases : Définir la grammaire Construire larbre de dérivation de la grammaire Construire les DTs

Approche fonctionnelle Tests syntaxiques Première phase : Définition de la grammaire Exemple : Programme « ZipFic » respectant la grammaire dappelle suivante : :== :== | :== 1 à N séparés par «, » :== O | N « :== » signifie « est composé par ». Le « | » représente un « ou » logique.

Approche fonctionnelle Tests syntaxiques Seconde phase : Construire larbre de dérivation complet de la grammaire. Les nœuds terminaux sont ceux nadmettant pas dautres sous branches vers le bas. Les nœuds non terminaux sont ceux qui se décomposent en sous branches

Approche fonctionnelle Tests syntaxiques OU 6 7O7O 8N8N OU , 12,

Approche fonctionnelle Tests syntaxiques Troisième phase : Définir les DTs Commandes valides: Couvrir tous les nœuds non-terminaux FIC1 FIC_ZIP O REP1 FIC_ZIP2 O Couvrir tous les nœud terminaux au moins une fois FIC1,FIC2 FIC_ZIP N REP1,REP2 FIC_ZIP N

Approche fonctionnelle Tests syntaxiques Commandes invalides : Nombre non défini Erreurs par niveaux Omission de nœuds à chaque niveau FIC_ZIP O REP1 N FIC1,FIC2 FIC_ZIP Syntaxe des nœuds terminaux FIC1, REP1 FIC_ZIP FIC1 FIC_ZIP Z …