SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Tests
Unitaires
LAJOUAD Rachid
Tests Boîte
Noire
LAJOUAD Rachid
Tests boîte noire ?
• Tests sans la connaissance du code sous jacent
• Tests basés sur la spécification
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)3
Unité
entrées
sorties
Tests boîte noire ?
Avantages
• pas besoin du code source
• s'applique aussi bien aux tests unitaires que systèmes
Désavantages
• ne test pas les fonctions cachées
Approches:
• Divination d'erreurs (Error guessing)
• Partitionnement en Classe d'équivalences
• Analyse de Valeurs aux Bornes
• Tables de Décision
• Graphes Causes Effets
• Tests dérivés des exigences (ex: cas d'utilisations)
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)4
Divination d'erreurs (1)
Approche ad-hoc basée sur l'expérience
Approche:
• Faire une liste d'erreurs possibles ou situations conduisant à
des erreurs
• modèle d'erreurs
• Développer des cas de tests pour couvrir le modèle
d'erreurs
Développez et maintenez vos modèles d'erreurs
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)5
Divination d'erreurs (2)
Exemple fonction de tri de tableau
Modèle d'erreur:
• tableau vide
• tableau trié
• tableau trié à l'envers
• grand tableau non trié
• ...
Générer des cas de tests pour ces situations
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)6
Partitionnement en Classes
d'équivalences
Partition du domaine de données en classes
d'équivalences selon la spécification
Idéalement les CEs devraient être
• telles que chaque donnée est dans une classe disjointes
• les éléments d'une même classe mis en
correspondance avec leur résultats de façon similaire
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)7
Heuristiques pour Identification de
Classes d'équivalences
Pour chaque donnée:
• si spécifie un intervalle de valeurs valides, définir
• 1 CE valide (dans l'intervalle)
• 2 CEs invalides (une à chaque bout de l'intervalle)
• si spécifie un nombre (N) de valeurs valides, définir
• 1 CE valide
• 2 CE invalides (aucune et plus de N)
• si spécifie un ensemble de valeurs valides, définir
• 1 CE valide (dans l'ensemble)
• 1 CE invalide (en dehors de l'ensemble)
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)8
Partitionnement en Classes
d'équivalences - Exemple (1)
• Spécification
• données trois entiers (côtés du triangle: a, b, c)
• chaque côté doit être un nombre positif inférieur ou égal à
20.
• résultat type du triangle:
• Équilatéral si a = b = c
• Isocèles si 2 paires de côté sont égaux
• Scalène si aucun côté n'est égal à l'autre ou
• PasUnTriangle si a >= b + c, b >= a + c, ou c >= a + b
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)9
Analyse des Valeurs aux Bornes
(AVB)
• Erreurs ont tendance à survenir vers les valeurs
extrêmes (bornes)
• AVB améliore le Partitionnement en Classes
d'équivalences en
• sélectionnant les éléments juste à et autour des bornes de
chacune des CES
• dérivant des cas de tests en considérant des CEs des
résultats également
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)10
Conditions de bornes
• Situation à la bordure des limites opérationnelles
envisagées
• Types de données ayant des conditions de bornes
• Numérique, Caractère, Position, Quantité, Vitesse,
Location, Taille
• Caractéristiques de conditions de bornes
• Premier/Dernier, Début/Fin, Minimum/Maximum,
Audessus/ Audessous, Vide/Plein, Pluslent/ Plusrapide,
Plusgrand/ Pluspetit, Plusprochede/ Plusloinde,
Pluscourt/ Pluslong, Plustôt/ Plustard, Plushaut/ Plusbas
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)11
Analyse des Valeurs aux Bornes -
Exemple
• Exemples de valeurs aux bornes pour nextdate
Lajouad Rachid
CQL - BTSDSI Ibn SINA (Kenitra)12
Donnée Valeur borne
Mois 0, 1,12,13
Jour 0,1,2,30,31,32
an 1811, 1812, 2013,
2014
Tests Boîte
Blanche
LAJOUAD Rachid
Tests boîte blanche
Approche de tests structurels
Focus sur la logique interne du système
nécessité du code source
spécification nécessaire pour résultats attendus
Avantage
• test ce qui est là
Dé-avantage
• fonctionnalité présente dans la spec mais non implémentée peut être manquée
Tests boîte blanche
● Approches orientées flotde contrôle
– Basées sur l'analysedu flot de contrôle à travers le programme
– Exemples de critères de couverture de tests
● couverture d'instructions (tous-les-noeuds)
● couverture debranches (tous-les-liens)
● couverture dechemins (tous-les-chemins)
● couverture deconditions
● ...
Processus de test boîte blanche
Établir l'objectif de couverture
Dériver un flowchart du code source
Déterminer des chemins pour objectif de couverture
Pour chaque chemin
• Sensibiliser les chemins pour les entrées
• Utiliser la spécification pour résultats escomptés
• Faire attention au chemins impossibles
Exécuter les cas de tests
Vérifier la couverture
Flowchart Simplifié
● Plus pratique pour grandes unités
● Obtenu en groupant des sous-chemins de
décision à décision
● Nœuds
– Nœuds Décisions: avec plus d'un lien partant
● fini avec une décision
– Nœuds Jonctions: avec plus d'un lien entrant
● concentre plusieurs chemins
Flowchart Simplifié - exemple
fir
st
firs
t
A
B C
D
E
F G
H I
J K
last
L
public static void main (String[] args)throws IOException
{
boolean isATriangle;
System.out.print("Enter the sides: ");
int a = IOEasy.readInt();
int b = IOEasy.readInt();
int c = IOEasy.readInt();
System.out.println("A is“+a+“,B is“+b+", C is”+c);
if ((a < b+c) && (b < a+c) && (c < a+b)) (A)
isATriangle = true; (B)
else isATriangle = false; (C)
if (isATriangle) { (D)
if (((a==b) || (a==c) || (b==c)) &&!((a==b) &&
(a==c))) (E)
System.out.println( "Triangle is Isosceles"); (F)
if ((a==b) && (b==c)) (G)
System.out.println( "Triangle is Equilateral");
(H)
if ((a!=b) && (a!=c) && (b!=c)) (I)
System.out.println("Triangle is Scalene"); (J)
}
else System.out.println("Not a Triangle"); (L)
}
}
Meilleur programme Triangle
first
last
B
C
D E
I G
F
A
H
public static void main (String[] args) throws
IOException{
System.out.print( "Enter the sides: ");
int a = IOEasy.readInt();
int b = IOEasy.readInt();
int c = IOEasy.readInt();
System.out.println("A is " + a + ", B is " + b + ", C
is " + c);
if ((a < b+c) && (b < a+c) && (c < a+b)) { (A)
if ((a!=b) && (a!=c) && (b!=c)) { (B)
System.out.println(“Triangle is Scalene”); (G)
} else {
if ((a==b) && (a==c)) (C)
System.out.println(“Triangle is Equilateral”); (E)
else
System.out.println(“Triangle is Isosceles”); (D)
} (F)
} else
System.out.println(“Not a Triangle”); (I)
} (H)
}
Instrumentation de Chemin
●Pour mesurer la couverture de code
Code
Source
Code
Source
Modifié
Trace
d'Exécution
exécution de suite de tests
analyse pour
couverture
objectif
de couverture
atteinte ?
Approches
● marqueurs de liens
● compteurs de liens
● débogueur symbolique
● outil de couverture de
code
Couverture de Boucles (1)
● Boucle simple - exécuter la boucle
– minimum-1
– minimum
– minimum+1
– typique
– maximum
– maximum+1
● fois si possible.
examp1(char[] val) {
for(int i=0;i<val.length;i++){
...
}
}
examp2(int x, int y) {
i = x;
while (i <= y) {
...
i++;
}
}
Couverture de Boucles (2)
● Boucles imbriquées
– Commencer avec la boucle la plus interne
● Mettre toutes les boucles à
l'extérieur à leur valeur minimum
● Mettre toutes les autres boucles à
une valeur typique
● Tester minimum, minimum+1,
typique, maximum-1, maximum
– Remonter à la boucle au dessus et
répéter
– Si la boucle plus extérieure est faite,
effectuer les 5 cas pour toutes les boucles
simultanément
for (i = 0; i < x; i++) {
for (j = 0; j < y; j++) {
for (k = 0; k < z; k++){
}
}
}
Tests Flots de Donnés
● Tests basés sur les flots de donnés
– où les données sont définies
– où les données sont modifiées
– séquence d'événements liés aux
données

Weitere ähnliche Inhalte

Was ist angesagt?

Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...TelecomValley
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test Imen Turki
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitésoregh
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de testsSabrine MASTOURA
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
Exposée: Processus de test logiciel
Exposée:  Processus de test logiciel Exposée:  Processus de test logiciel
Exposée: Processus de test logiciel Esaie88
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestIA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestMimoun Kissi 🤖
 
Test unitaire
Test unitaireTest unitaire
Test unitaireIsenDev
 

Was ist angesagt? (14)

Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
 
Cours algorithmique02
Cours algorithmique02Cours algorithmique02
Cours algorithmique02
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de tests
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Exposée: Processus de test logiciel
Exposée:  Processus de test logiciel Exposée:  Processus de test logiciel
Exposée: Processus de test logiciel
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
Metrique
MetriqueMetrique
Metrique
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestIA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 

Andere mochten auch

Plantes tinctoriales medicinal - verville
Plantes tinctoriales   medicinal - vervillePlantes tinctoriales   medicinal - verville
Plantes tinctoriales medicinal - vervilleMunoz Isabelle
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbcRachid Lajouad
 
Programme 2001 Top Croissance
Programme 2001 Top CroissanceProgramme 2001 Top Croissance
Programme 2001 Top Croissanceregionalpartner56
 
inter.art.actuel
inter.art.actuelinter.art.actuel
inter.art.actuelspacebase
 
10 conseils avant de se lancer par Olivier Witmeur
10 conseils avant de se lancer par Olivier Witmeur10 conseils avant de se lancer par Olivier Witmeur
10 conseils avant de se lancer par Olivier WitmeurSolvay Entrepreneurs
 
Amp st louis pag version finale jan11
Amp st louis pag version finale jan11Amp st louis pag version finale jan11
Amp st louis pag version finale jan11kanedimat1980
 
Weekend madrid frances
Weekend madrid francesWeekend madrid frances
Weekend madrid francesRTAdmcSPAIN
 
Plan de la leçon ( phrase déclarative et phrase interrogative)
Plan de la leçon ( phrase déclarative et phrase interrogative)Plan de la leçon ( phrase déclarative et phrase interrogative)
Plan de la leçon ( phrase déclarative et phrase interrogative)ritaestephan
 
Veille livres interactif
Veille livres interactifVeille livres interactif
Veille livres interactifPrunelll
 
Présentation du projet Douzi'Action
Présentation du projet Douzi'ActionPrésentation du projet Douzi'Action
Présentation du projet Douzi'ActionPaul Mariuzzo-Raynaud
 

Andere mochten auch (20)

La mesure logicielle
La mesure logicielleLa mesure logicielle
La mesure logicielle
 
Qualite1
Qualite1Qualite1
Qualite1
 
Tableau de bord
Tableau de bordTableau de bord
Tableau de bord
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Plantes tinctoriales medicinal - verville
Plantes tinctoriales   medicinal - vervillePlantes tinctoriales   medicinal - verville
Plantes tinctoriales medicinal - verville
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbc
 
Chap2 clientsrvr
Chap2 clientsrvrChap2 clientsrvr
Chap2 clientsrvr
 
Programme 2001 Top Croissance
Programme 2001 Top CroissanceProgramme 2001 Top Croissance
Programme 2001 Top Croissance
 
inter.art.actuel
inter.art.actuelinter.art.actuel
inter.art.actuel
 
Accès aux soins et précarité - Concours MNH/IFSI 2007 - 2ème prix
Accès aux soins et précarité - Concours MNH/IFSI 2007 - 2ème prixAccès aux soins et précarité - Concours MNH/IFSI 2007 - 2ème prix
Accès aux soins et précarité - Concours MNH/IFSI 2007 - 2ème prix
 
Logements prfabriqués fr
Logements prfabriqués frLogements prfabriqués fr
Logements prfabriqués fr
 
Atelier débuter sur twitter (2012)
Atelier débuter sur  twitter (2012)Atelier débuter sur  twitter (2012)
Atelier débuter sur twitter (2012)
 
Business plan jau done 03
Business plan jau   done 03Business plan jau   done 03
Business plan jau done 03
 
10 conseils avant de se lancer par Olivier Witmeur
10 conseils avant de se lancer par Olivier Witmeur10 conseils avant de se lancer par Olivier Witmeur
10 conseils avant de se lancer par Olivier Witmeur
 
obsolescence programée
obsolescence programéeobsolescence programée
obsolescence programée
 
Amp st louis pag version finale jan11
Amp st louis pag version finale jan11Amp st louis pag version finale jan11
Amp st louis pag version finale jan11
 
Weekend madrid frances
Weekend madrid francesWeekend madrid frances
Weekend madrid frances
 
Plan de la leçon ( phrase déclarative et phrase interrogative)
Plan de la leçon ( phrase déclarative et phrase interrogative)Plan de la leçon ( phrase déclarative et phrase interrogative)
Plan de la leçon ( phrase déclarative et phrase interrogative)
 
Veille livres interactif
Veille livres interactifVeille livres interactif
Veille livres interactif
 
Présentation du projet Douzi'Action
Présentation du projet Douzi'ActionPrésentation du projet Douzi'Action
Présentation du projet Douzi'Action
 

Ähnlich wie Tests unitaires

Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Loic Yon
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfnesrinetaamallah
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésDjamel Zouaoui
 
13-Cours de Géniel Logiciel
13-Cours de Géniel Logiciel13-Cours de Géniel Logiciel
13-Cours de Géniel Logiciellauraty3204
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)Pascal Roques
 
Stubs And Moles Dot Net Hub
Stubs And Moles Dot Net HubStubs And Moles Dot Net Hub
Stubs And Moles Dot Net HubDotNetHub
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
Comment utiliser le plan execution le plan execution
Comment utiliser le plan execution le plan executionComment utiliser le plan execution le plan execution
Comment utiliser le plan execution le plan executionPollus Brodeur
 
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...Ossama Benbouidda
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineGeeks Anonymes
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineInterface ULg, LIEGE science park
 

Ähnlich wie Tests unitaires (20)

Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 
Part1
Part1Part1
Part1
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisés
 
13-Cours de Géniel Logiciel
13-Cours de Géniel Logiciel13-Cours de Géniel Logiciel
13-Cours de Géniel Logiciel
 
Pres yest
Pres yestPres yest
Pres yest
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
 
Final
FinalFinal
Final
 
Stubs And Moles Dot Net Hub
Stubs And Moles Dot Net HubStubs And Moles Dot Net Hub
Stubs And Moles Dot Net Hub
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
JAVA, JDBC et liaison base de données
JAVA, JDBC et liaison base de donnéesJAVA, JDBC et liaison base de données
JAVA, JDBC et liaison base de données
 
Comment utiliser le plan execution le plan execution
Comment utiliser le plan execution le plan executionComment utiliser le plan execution le plan execution
Comment utiliser le plan execution le plan execution
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
Cours1.pptx
Cours1.pptxCours1.pptx
Cours1.pptx
 
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...
Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Trans...
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
 

Mehr von Rachid Lajouad

Mehr von Rachid Lajouad (15)

4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion
 
3 identification des systèmes
3 identification des systèmes3 identification des systèmes
3 identification des systèmes
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
 
1 asservissements linéaires continus
1 asservissements linéaires continus1 asservissements linéaires continus
1 asservissements linéaires continus
 
Chap4 cliserrmi
Chap4 cliserrmiChap4 cliserrmi
Chap4 cliserrmi
 
Chap3 clientsrvr
Chap3 clientsrvrChap3 clientsrvr
Chap3 clientsrvr
 
Planifier projet
Planifier projetPlanifier projet
Planifier projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
 
Algorithmique v
Algorithmique vAlgorithmique v
Algorithmique v
 
Algorithmique iv
Algorithmique ivAlgorithmique iv
Algorithmique iv
 
Algorithmique iii
Algorithmique iiiAlgorithmique iii
Algorithmique iii
 
Algorithmique ii
Algorithmique iiAlgorithmique ii
Algorithmique ii
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 

Kürzlich hochgeladen

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 

Kürzlich hochgeladen (20)

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 

Tests unitaires

  • 3. Tests boîte noire ? • Tests sans la connaissance du code sous jacent • Tests basés sur la spécification Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)3 Unité entrées sorties
  • 4. Tests boîte noire ? Avantages • pas besoin du code source • s'applique aussi bien aux tests unitaires que systèmes Désavantages • ne test pas les fonctions cachées Approches: • Divination d'erreurs (Error guessing) • Partitionnement en Classe d'équivalences • Analyse de Valeurs aux Bornes • Tables de Décision • Graphes Causes Effets • Tests dérivés des exigences (ex: cas d'utilisations) Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)4
  • 5. Divination d'erreurs (1) Approche ad-hoc basée sur l'expérience Approche: • Faire une liste d'erreurs possibles ou situations conduisant à des erreurs • modèle d'erreurs • Développer des cas de tests pour couvrir le modèle d'erreurs Développez et maintenez vos modèles d'erreurs Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)5
  • 6. Divination d'erreurs (2) Exemple fonction de tri de tableau Modèle d'erreur: • tableau vide • tableau trié • tableau trié à l'envers • grand tableau non trié • ... Générer des cas de tests pour ces situations Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)6
  • 7. Partitionnement en Classes d'équivalences Partition du domaine de données en classes d'équivalences selon la spécification Idéalement les CEs devraient être • telles que chaque donnée est dans une classe disjointes • les éléments d'une même classe mis en correspondance avec leur résultats de façon similaire Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)7
  • 8. Heuristiques pour Identification de Classes d'équivalences Pour chaque donnée: • si spécifie un intervalle de valeurs valides, définir • 1 CE valide (dans l'intervalle) • 2 CEs invalides (une à chaque bout de l'intervalle) • si spécifie un nombre (N) de valeurs valides, définir • 1 CE valide • 2 CE invalides (aucune et plus de N) • si spécifie un ensemble de valeurs valides, définir • 1 CE valide (dans l'ensemble) • 1 CE invalide (en dehors de l'ensemble) Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)8
  • 9. Partitionnement en Classes d'équivalences - Exemple (1) • Spécification • données trois entiers (côtés du triangle: a, b, c) • chaque côté doit être un nombre positif inférieur ou égal à 20. • résultat type du triangle: • Équilatéral si a = b = c • Isocèles si 2 paires de côté sont égaux • Scalène si aucun côté n'est égal à l'autre ou • PasUnTriangle si a >= b + c, b >= a + c, ou c >= a + b Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)9
  • 10. Analyse des Valeurs aux Bornes (AVB) • Erreurs ont tendance à survenir vers les valeurs extrêmes (bornes) • AVB améliore le Partitionnement en Classes d'équivalences en • sélectionnant les éléments juste à et autour des bornes de chacune des CES • dérivant des cas de tests en considérant des CEs des résultats également Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)10
  • 11. Conditions de bornes • Situation à la bordure des limites opérationnelles envisagées • Types de données ayant des conditions de bornes • Numérique, Caractère, Position, Quantité, Vitesse, Location, Taille • Caractéristiques de conditions de bornes • Premier/Dernier, Début/Fin, Minimum/Maximum, Audessus/ Audessous, Vide/Plein, Pluslent/ Plusrapide, Plusgrand/ Pluspetit, Plusprochede/ Plusloinde, Pluscourt/ Pluslong, Plustôt/ Plustard, Plushaut/ Plusbas Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)11
  • 12. Analyse des Valeurs aux Bornes - Exemple • Exemples de valeurs aux bornes pour nextdate Lajouad Rachid CQL - BTSDSI Ibn SINA (Kenitra)12 Donnée Valeur borne Mois 0, 1,12,13 Jour 0,1,2,30,31,32 an 1811, 1812, 2013, 2014
  • 14. Tests boîte blanche Approche de tests structurels Focus sur la logique interne du système nécessité du code source spécification nécessaire pour résultats attendus Avantage • test ce qui est là Dé-avantage • fonctionnalité présente dans la spec mais non implémentée peut être manquée
  • 15. Tests boîte blanche ● Approches orientées flotde contrôle – Basées sur l'analysedu flot de contrôle à travers le programme – Exemples de critères de couverture de tests ● couverture d'instructions (tous-les-noeuds) ● couverture debranches (tous-les-liens) ● couverture dechemins (tous-les-chemins) ● couverture deconditions ● ...
  • 16. Processus de test boîte blanche Établir l'objectif de couverture Dériver un flowchart du code source Déterminer des chemins pour objectif de couverture Pour chaque chemin • Sensibiliser les chemins pour les entrées • Utiliser la spécification pour résultats escomptés • Faire attention au chemins impossibles Exécuter les cas de tests Vérifier la couverture
  • 17. Flowchart Simplifié ● Plus pratique pour grandes unités ● Obtenu en groupant des sous-chemins de décision à décision ● Nœuds – Nœuds Décisions: avec plus d'un lien partant ● fini avec une décision – Nœuds Jonctions: avec plus d'un lien entrant ● concentre plusieurs chemins
  • 18. Flowchart Simplifié - exemple fir st firs t A B C D E F G H I J K last L public static void main (String[] args)throws IOException { boolean isATriangle; System.out.print("Enter the sides: "); int a = IOEasy.readInt(); int b = IOEasy.readInt(); int c = IOEasy.readInt(); System.out.println("A is“+a+“,B is“+b+", C is”+c); if ((a < b+c) && (b < a+c) && (c < a+b)) (A) isATriangle = true; (B) else isATriangle = false; (C) if (isATriangle) { (D) if (((a==b) || (a==c) || (b==c)) &&!((a==b) && (a==c))) (E) System.out.println( "Triangle is Isosceles"); (F) if ((a==b) && (b==c)) (G) System.out.println( "Triangle is Equilateral"); (H) if ((a!=b) && (a!=c) && (b!=c)) (I) System.out.println("Triangle is Scalene"); (J) } else System.out.println("Not a Triangle"); (L) } }
  • 19. Meilleur programme Triangle first last B C D E I G F A H public static void main (String[] args) throws IOException{ System.out.print( "Enter the sides: "); int a = IOEasy.readInt(); int b = IOEasy.readInt(); int c = IOEasy.readInt(); System.out.println("A is " + a + ", B is " + b + ", C is " + c); if ((a < b+c) && (b < a+c) && (c < a+b)) { (A) if ((a!=b) && (a!=c) && (b!=c)) { (B) System.out.println(“Triangle is Scalene”); (G) } else { if ((a==b) && (a==c)) (C) System.out.println(“Triangle is Equilateral”); (E) else System.out.println(“Triangle is Isosceles”); (D) } (F) } else System.out.println(“Not a Triangle”); (I) } (H) }
  • 20. Instrumentation de Chemin ●Pour mesurer la couverture de code Code Source Code Source Modifié Trace d'Exécution exécution de suite de tests analyse pour couverture objectif de couverture atteinte ? Approches ● marqueurs de liens ● compteurs de liens ● débogueur symbolique ● outil de couverture de code
  • 21. Couverture de Boucles (1) ● Boucle simple - exécuter la boucle – minimum-1 – minimum – minimum+1 – typique – maximum – maximum+1 ● fois si possible. examp1(char[] val) { for(int i=0;i<val.length;i++){ ... } } examp2(int x, int y) { i = x; while (i <= y) { ... i++; } }
  • 22. Couverture de Boucles (2) ● Boucles imbriquées – Commencer avec la boucle la plus interne ● Mettre toutes les boucles à l'extérieur à leur valeur minimum ● Mettre toutes les autres boucles à une valeur typique ● Tester minimum, minimum+1, typique, maximum-1, maximum – Remonter à la boucle au dessus et répéter – Si la boucle plus extérieure est faite, effectuer les 5 cas pour toutes les boucles simultanément for (i = 0; i < x; i++) { for (j = 0; j < y; j++) { for (k = 0; k < z; k++){ } } }
  • 23. Tests Flots de Donnés ● Tests basés sur les flots de donnés – où les données sont définies – où les données sont modifiées – séquence d'événements liés aux données