tests et validation du logiciel n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Tests et Validation du logiciel PowerPoint Presentation
Download Presentation
Tests et Validation du logiciel

Loading in 2 Seconds...

play fullscreen
1 / 24

Tests et Validation du logiciel - PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on

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. Qu’est ce qu’une limite ? Valeurs très élevée, nulle,… Valeurs des bornes d’une boucle Données non valides ….

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Tests et Validation du logiciel' - mickey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tests aux limites
Tests aux limites
  • Constat : les bugs se cachent dans les coins !
  • Un aspect des méthodes fonctionnelles les plus efficaces.
  • Qu’est ce qu’une limite ?
    • Valeurs très élevée, nulle,…
    • Valeurs des bornes d’une boucle
    • Données non valides
tests aux limites1
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 à l’intérieur et juste à l’exté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 limites2
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 limites3
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 limites4
Tests aux limites
  • Exemples de bugs aux limites ?
    • Table de base vide, Fichier absent
    • Oublie du traitement du premier ou du dernier record d’un fichier
    • Dépassement de tableau
    • Dépassement de capacité d’une variable typée
tests aux limites exemple
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 d’un 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 exemple1
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,4.000001) presque équilatéral
tests aux limites exemple2
Tests aux limites - Exemple
  • Fonction faisant une recherche dichotomique dans un tableau (trié)
tests aux limites exemple3
Tests aux limites - Exemple
  • Fonction faisant une recherche dichotomique dans un tableau (trié)
  • Exemple DT avec limite
partitionnelle limite
Partitionnelle - Limite
  • L’analyse partitionnelle est une méthode qui vise à diminuer le nombre de cas de tests par calcul de classes d’équivalence
  • Le choix de conditions d’entrée aux limites est une heuristique solide de choix de données d’entrée au sein des classes d’équivalence
  • Le test aux limites produit à la fois des cas de test nominaux (dans l’intervalle) et de robustesse (hors intervalle)
tests combinatoires
Tests Combinatoires
  • Les combinaisons de valeurs de domaines d’entrée donne lieu a explosion combinatoire.
    • Exemple : Options d’une boite de dialogue MS Word.
    • 21^2* 3 = 12 288 combinaisons
tests combinatoires approche pairwise
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 pairwise1
Tests Combinatoires – Approche PairWise
  • L’approche Pairwisese décline avec des triplets, des quadruplets, …. mais le nombre de tests augmente très vite
  • http://www.pairwise.org/default.html
  • Problème du Pairwise:
    • Le choix de la combinaison de valeurs n’est peut-être pas celle qui détecte le bug …
    • Le résultat attendu de chaque test doit être fournis manuellement
tests combinatoires approche pairwise2
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 pairwise4
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
Tests syntaxiques
  • Permet de définir les DT à partir d’une description formelle des données d’entrée.
  • Approche adaptée aux applications qui nécessitent de données d’entrée respectant une syntaxe rigide et bien définie.
approche fonctionnelle tests syntaxiques
Approche fonctionnelle Tests syntaxiques
  • 3 phases :
    • Définir la grammaire
    • Construire l’arbre de dérivation de la grammaire
    • Construire les DTs
approche fonctionnelle tests syntaxiques1
Approche fonctionnelle Tests syntaxiques
  • Première phase : Définition de la grammaire
  • Exemple : Programme « ZipFic » respectant la grammaire d’appelle suivante :
    • <commande> :== <Sources> <Fic Zip> <Supp source>
    • <Sources> :== <fichiers> | <Répertoires>
      • <Fichiers> :== 1 à N <Fichier> séparés par « , »
      • <Répertoires> :== 1 à N <Répertoire> séparés par « , »
    • <Supp source> :== O | N

« :== » signifie « est composé par ». Le « | » représente un « ou » logique.

approche fonctionnelle tests syntaxiques2
Approche fonctionnelle Tests syntaxiques
  • Seconde phase : Construire l’arbre de dérivation complet de la grammaire.
  • Les nœuds terminaux sont ceux n’admettant pas d’autres sous branches vers le bas.
  • Les nœuds non terminaux sont ceux qui se décomposent en sous branches
approche fonctionnelle tests syntaxiques3
Approche fonctionnelle Tests syntaxiques

1

<Commande>

4

<Supp Source>

2

<Sources>

3

<Fic Zip>

5

<Fichiers>

6

<Repertoires>

8

N

OU

7

O

OU

9

<Fichier>

10

,<Fichier>

12

,<Repertoire>

11

<Repertoire>

approche fonctionnelle tests syntaxiques4
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 syntaxiques5
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