[PDF] [PDF] Génération automatique de tests à partir de modèles UML/ALF

24 sept 2012 · test particulière qui consiste à créer un modèle comportemental du système sous test (ou d'action destiné à UML, nommé Alf (Action Language for l'utilisateur remplit les champs « Username » et « Password » et clique sur Account- Management Capacité du système à gérer ner à la page d'accueil



Previous PDF Next PDF





[PDF] Génération automatique de tests à partir de modèles UML/ALF

24 sept 2012 · test particulière qui consiste à créer un modèle comportemental du système sous test (ou d'action destiné à UML, nommé Alf (Action Language for l'utilisateur remplit les champs « Username » et « Password » et clique sur Account- Management Capacité du système à gérer ner à la page d'accueil



[PDF] Symfony Symfony - KingFlex - Fabrication darticle para

Cet ouvrage décrit le développement d'un site web avec Symfony, depuis et les tests automatisés sont ancrés au cœur même du framework – ce qui lui Scénario F1 : voir les dernières offres en page d'accueil • 22 Créer la vue associée à l'action : le template • 63 Your Jobeet affiliate account has been activated



[PDF] Protocole national - Ministère du Travail

16 fév 2021 · Elles peuvent être intégrées dans le règlement intérieur de l'entreprise Page 4 PROTOCOLE NATIONAL POUR ASSURER LA SANTÉ ET LA 



[PDF] Prise en compte des perceptions de lutilisateur en - CORE

28 août 2006 · C Résultats du test de la PPDS pour la séance d'entraˆınement 185 Elles sont répertoriées sur le site du Groupe exprimés, les moyens d'action pour les atteindre ne sont nullement Le principe est de créer une base de mots la Si l' on prend le cas des appareils ménagers, un robot ou un aspirateur



[PDF] Introduction à la programmation en R - The Comprehensive R

sous la rubrique de la documentation par des tiers (Contributed) du site Com- vant le lien fournis à la page précédente Créer, modifier et sauvegarder ses propres fichiers de script R à la fin du message d'accueil : switch(test, cas 1 = action 1, cas 2 = action 2, ) f) > sum(sapply(x, function(x) x$nb acc[1] == 1))



[PDF] Administration dOracle Content and Experience

configurer un déploiement Test à production (T2P) de menu 3 Sur la page Fédération, cliquez sur le lien qui mène à la console Oracle Identity



[PDF] SYNOR 5000 - Sefelec

de mesure d'isolement, test de rigidité et mesure de continuité de masse en un seul appareil Les appareils de la série SEFELEC 5X permettent de faire les tests  



[PDF] Mode demploi - OKI

Manuel en ligne ------ Peut être consulté sur le site Web Oki Data • A propos Si vous ne voulez pas imprimer la page test, appuyez sur [Skip>> (Sauter>>)]

[PDF] Laboratoire départemental d analyses

[PDF] NOTICE D INFORMATION CONCERNANT LA FORMATION AUX POST VAE POUR L OBTENTION DU DIPLÔME D ETAT D AIDE-SOIGNANT

[PDF] Les 6 heures De l Etang

[PDF] Les fonctions au collège. Sommaire

[PDF] Introduction aux Composants Logiciels

[PDF] MOT DE LA DIRECTION DU CÉGEP 1. DESCRIPTION DU CISA ET DE L ÉQUIPE 2. CONTEXTE D INTERVENTION 3. CHEMIN PARCOURU 4. BESOINS DE L INDUSTRIE

[PDF] Complémentaire retraite, prévoyance et santé des professionnels de la coiffure. Coiffure et. santé

[PDF] En vigueur du 1 er mai 2017 au 30 avril 2018

[PDF] Analyse coûts-avantages dans un contexte gouvernemental

[PDF] DATE ACCESSIBILITE DANS LES ETABLISSEMENTS RECEVANT DU PUBLIC

[PDF] COMPTE-RENDU DE LA REUNION DU CONSEIL COMMUNAUTAIRE DE LA C.C.L.V.D. Séance du 13 mai 2014

[PDF] L ENVIRONNEMENT NUMERIQUE

[PDF] PARCOURS THEMATIQUE LA REVOLUTION DES SMARTPHONES

[PDF] Généralités. Assurance-invalidité

[PDF] AGENDAS D ACCESSIBILITE PROGRAMMEE - CONTEXTE

Département Informatique

des Systèmes Complexes

Femto-ST

Rapport de stage de Master II RechercheGénération automatique de tests à partir de modèles UML/ALFAuteur :

AlexandreVernotteTuteurs :

FabriceBouquet

FrédéricDadeau

FabienPeureux24 septembre 2012

Remerciements

Je souhaite remercier Fabrice Bouquet pour avoir su aiguiller mes recherches et m"expli- quer de nombreuses notions. Je remercie aussi Frédéric Dadeau pour sa disponibilité et ses conseils. Je tiens également à remercier Fabien Peureux pour son aide cruciale, particulière- ment dans la précipitation des derniers jours de travail. Enfin, je remercie Lucie Gobet pour le temps consacré à la relecture de mon mé- moire. I II

Table des matières

Remerciements I

1 Introduction 1

1.1 Test logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2 Le Concept Model-Based Testing . . . . . . . . . . . . . . . . . . . . . . .

3

1.3 Problématique et contribution . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.4 Structure du document . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2 Présentation de la notation choisie 9

2.1 Unified Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1.2 Diagramme d"objets . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.1.3 Diagramme d"états-transitions . . . . . . . . . . . . . . . . . . . . .

12

2.1.4 Object Constraint Language . . . . . . . . . . . . . . . . . . . . . .

13

2.2 Action Language for Fundational UML . . . . . . . . . . . . . . . . . . . .

14

2.2.1 Entre OCL et Java . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2.2 Alf pour le test . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.3 Technologies UML/OCL/Alf existantes . . . . . . . . . . . . . . . . . . . .

16

2.3.1 Modélisation / Edition . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.3.2 Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.4 Modélisation UML/OCL et Alf par l"exemple : représentation d"un cinéma

18

2.4.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.4.2 Fonctionnement général . . . . . . . . . . . . . . . . . . . . . . . .

19

2.4.3 Exigences Fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . .

19

2.4.4 Une représentation UML/OCL/Alf de ECinema . . . . . . . . . . .

22

2.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

3 Etat de l"art : approches applicables avec UML/OCL/Alf 31

3.1 Critères pour la Couverture de code source . . . . . . . . . . . . . . . . . .

32

3.1.1 Représentation d"un algorithme par un graphe de contrôle . . . . .

33

3.1.2 Critères de couverture . . . . . . . . . . . . . . . . . . . . . . . . .

34

3.2 Modèles Pre/Post et Transition-based . . . . . . . . . . . . . . . . . . . . .

40

3.2.1 Notations de modélisation . . . . . . . . . . . . . . . . . . . . . . .

40

3.2.2 Critères de couverture de modèles . . . . . . . . . . . . . . . . . . .

41

3.3 Algorithmes de recherche pour la génération de tests . . . . . . . . . . . .

43

3.3.1 Recherche aléatoire et Optimisations . . . . . . . . . . . . . . . . .

43

3.3.2 L"algorithme génétique . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49
III

4 Environnement de modélisation et d"animation 51

4.1 Outils pour la modélisation . . . . . . . . . . . . . . . . . . . . . . . . . .

52

4.2 Développement du composant d"animation . . . . . . . . . . . . . . . . . .

52

4.2.1 Fonctionnement du module . . . . . . . . . . . . . . . . . . . . . .

53

4.2.2 Transformation de la structure statique . . . . . . . . . . . . . . . .

53

4.2.3 Transformation de la structure dynamique . . . . . . . . . . . . . .

55

4.2.4 Processus d"interprétation . . . . . . . . . . . . . . . . . . . . . . .

58

4.3 Cas pratique : modélisation et Animation d"un Cinéma . . . . . . . . . . .

59

4.3.1 Modélisation de l"application avec Papyrus MDT . . . . . . . . . .

59

4.3.2 Animation manuelle du modèle issu de l"application . . . . . . . . .

61

4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

5 Techniques de génération et expérimentations 65

5.1 Génération aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

5.1.1 Paramétrabilité et données d"entrée . . . . . . . . . . . . . . . . . .

66

5.1.2 Présentation de l"algorithme . . . . . . . . . . . . . . . . . . . . . .

67

5.1.3 Optimisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

5.1.4 Expérimentations avec ECinema . . . . . . . . . . . . . . . . . . . .

70

5.2 Algorithme génétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

5.2.1 Représentation génétique d"une suite de tests . . . . . . . . . . . .

74

5.2.2 Paramétrabilité et données d"entrée . . . . . . . . . . . . . . . . . .

74

5.2.3 Déroulement de l"algorithme . . . . . . . . . . . . . . . . . . . . . .

75

5.2.4 Opérateurs génétiques . . . . . . . . . . . . . . . . . . . . . . . . .

76

5.2.5 Expérimentations avec ECinema . . . . . . . . . . . . . . . . . . . .

79

5.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

6 Conclusion et perspectives 85

6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87
IV

Table des figures

1.1 Classification tri-dimensionnelle des approches de test . . . . . . . . . . . .

2

2.1 Diagrammes proposés par la notation UML . . . . . . . . . . . . . . . . . .

11

2.2 Exemple de diagramme de classes . . . . . . . . . . . . . . . . . . . . . . .

12

2.3 Exemple de diagramme d"Objet . . . . . . . . . . . . . . . . . . . . . . . .

13

2.4 Exemple de diagramme d"Etats-Transitions . . . . . . . . . . . . . . . . . .

13

2.5 Diagramme de classes de ECinema . . . . . . . . . . . . . . . . . . . . . .

26

2.6 Diagramme d"objets de ECinema . . . . . . . . . . . . . . . . . . . . . . .

27

2.7 Statechart de ECinema . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.1 Graphe de contrôle de la méthode foo . . . . . . . . . . . . . . . . . . . . .

33

3.2 Graphe de contrôle de la méthode foo vue comme un processeur . . . . . .

35

3.3 Hiérarchie des critères basés sur les décisions . . . . . . . . . . . . . . . . .

36

3.4 Hiérarchie des critères basés sur les chemins . . . . . . . . . . . . . . . . .

37

3.5 Hiérarchie des critères basés sur les données . . . . . . . . . . . . . . . . .

39

3.6 Graphe de contrôle annoté destiné à la couverture des données . . . . . . .

40

3.7 Hiérarchie des critères basés sur les modèles états/transitions . . . . . . . .

41

3.8 Exemple d"un système de transitions . . . . . . . . . . . . . . . . . . . . .

42

3.9 Opérateur génétique de croisement . . . . . . . . . . . . . . . . . . . . . .

48

3.10 Opérateur génétique de mutation . . . . . . . . . . . . . . . . . . . . . . .

48

4.1 Chaine d"exécution pour l"animation . . . . . . . . . . . . . . . . . . . . .

54

4.2 Vue d"ensemble de la chaine de transformation . . . . . . . . . . . . . . . .

55

4.3 Processus d"analyse et d"interprétation . . . . . . . . . . . . . . . . . . . .

57

4.4 Vue d"ensemble de la structure de graphe de flot de contrôle . . . . . . . .

58

4.5 Modélisation de ECinema avec Papyrus MDT . . . . . . . . . . . . . . . .

60

4.6 Ajouter une action Alf avec Papyrus MDT . . . . . . . . . . . . . . . . . .

61

4.7 Barre d"outils pour l"animation . . . . . . . . . . . . . . . . . . . . . . . .

62

4.8 Exécution d"une opération . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

5.1 Génération aléatoire, séquences de 10 pas, aucune optimisation . . . . . . .

71

5.2 Génération aléatoire, séquences de 20 pas, aucune optimisation . . . . . . .

72

5.3 Génération aléatoire optimisée, séquences de 20 pas . . . . . . . . . . . . .

73

5.4 Croisement de deux séquences de test . . . . . . . . . . . . . . . . . . . . .

76

5.5 Mutation d"une séquences de test . . . . . . . . . . . . . . . . . . . . . . .

77

5.6 Operateur génétique d"insertion . . . . . . . . . . . . . . . . . . . . . . . .

78

5.7 Operateur génétique d"ajout . . . . . . . . . . . . . . . . . . . . . . . . . .

78

5.8 Operateur génétique de suppression . . . . . . . . . . . . . . . . . . . . . .

79

5.9 Algorithme génétique, opérateurs basiques, aucune optimisation . . . . . .

80
V

5.10 Algorithme génétique, tous les opérateurs, aucune optimisation . . . . . . .81

5.11 Algorithme génétique, tous les opérateurs, avec optimisations . . . . . . . .

82
VI

Chapitre 1

Introduction

Contents1.1 Test logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2 Le Concept Model-Based Testing . . . . . . . . . . . . . . . . .

3

1.3 Problématique et contribution . . . . . . . . . . . . . . . . . .

7

1.4 Structure du document . . . . . . . . . . . . . . . . . . . . . . .

8 Alors que la complexité des systèmes informatisés ne cesse de s"accroître, leur part

logicielle est de plus en plus conséquente. De nombreuses catastrophes liées au logiciel sont survenues par le passé : le crash de la fusée Ariane 5, le bogue de carte de crédit en Allemagne, etc... Pour empêcher ce genre de catastrophes, la communauté scientifique concentre ses efforts sur l"amélioration des techniques de prévention d"erreurs. Une de ces techniques est la vérification formelle : l"objectif est d"établir la preuve, à l"aide de logique mathématique, que le système respecte un certain nombres de pro-

priétés. Cependant, la vérification formelle est extrêmement coûteuse (en ressources hu-

maines et matérielles), et n"est justifiable que pour des systèmes critiques (systèmes de transport, systèmes financiers, etc...). Une alternative à la preuve de programme est le test : le but n"est pas d"exécuter un logiciel avec toutes les valeurs d"entrées possibles, mais plutôt d"élire certaines valeurs comme représentants des différents comportements du programme. L"effort est moindre, et pour la plupart des systèmes, la confiance obtenue suffisante.

1.1 Test logiciel

Le test logiciel est une activité très vaste et il existe de nombreux types de test. Une classification élaborée par Tretmans [?] propose d"ordonner les différents types de tests

selon trois axes, représentés en figure 1.1. Il ne s"agit pas de réaliser un parcours exhaustif

de toutes les pratiques existantes, mais de mettre en exergue les principales familles de test connues. Le premier axe définit les différents niveaux sur lesquels intervient le test logiciel. Le test logiciel est présent sur quatre niveaux différents : •Le test unitaire et le test de module (ou test de composant) ont pour objectif de détecter un maximum de fautes d"une procédure, d"un module. 1 Figure1.1 - Classification tri-dimensionnelle des approches de test •Le test d"intégration aide à vérifier le bon comportement du système lors de laquotesdbs_dbs10.pdfusesText_16