GLAO-Soutenance2_Tools-20060517

publicité
http://www.sigl.epita.net
Soutenance GLAO #2
Formation aux outils
Groupe Bewitched
18 Mai 2006
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 1
Plan
•
•
Contexte et objectifs
Formation sur les outils avec un fil
rouge
–
–
–
–
–
–
–
•
Eclipse
EclipseUML
TestGen4J
Junit
JUnitScenario
Hansel
Solex
Conclusion
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 2
Contexte et
objectifs de la phase
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 3
Contexte et Objectifs
• Contexte
– Projet GLAO d’intégration d’Outils de Génie Logiciel
• Objectifs
– Maîtriser les outils de notre AGL
– Former les intervenants présents aux outils de notre AGL
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 4
Java, principale contrainte
• Fournit le Middleware
• Imposé par les contraintes techniques du projet
• Installation simplifiée sur les plates-formes (Win, OSX,
UNX) par des installateurs automatiques
• Peu de configuration nécessaire (Pareto)
• Utilisation de la version JDK 1.5
– Amélioration des boucles pour les collections
– Templates
– Enum
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 5
Formation
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 6
Eclipse (1/2)
• IDE Java le plus populaire
• Couvre la partie développement de l’AGL
• Installation simple par décompression de l’archive
• Approche
– IDE composés de vues (Explorer, code, warnings, etc.)
• Des dizaines de vues sont disponibles
– Notion de Perspectives
• Utilisation
– L’utilisation nécessite d’appréhender l’interface visuelle
– Les actions de l’utilisateurs sont guidés par les menus
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 7
Eclipse (2/2)
• Avantages
– Une aide aux développeurs intelligente et intuitive
– Une compilation temps réel des sources pour détecter
d’éventuelles erreurs
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 8
EclipseUML
• Plugin Eclipse pour la modélisation
• Couvre la partie conception de l’AGL
• Installation simplifiée sur les plates-formes (Win, OSX, UNX) par des
installateurs automatiques
• Utilisation
– A travers le standard UML2, concevoir/enrichir le projet.
– Permet de générer du code
• Avantages/Inconvénients
– Reverse Engineering puissant
– Profils
– Format de fichier non normalisé
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 9
TestGen4J
• Framework de génération de tests
• Génère automatiquement les tests unitaires Junit du
projet
• Installation par modifications des variables
d’environnement
• Utilisation
– Principes
• Examine les classes Java pour en tirer des méthodes de tests Junit
• Création des classes Junit du projet
– Sorties
• Les sorties sont des classes Junit prêtes à être lancées
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 10
JUnit (1/2)
• Framework
• Couvre la partie des tests unitaires de l’AGL
• S’utilise à partir :
– D’Eclipse
– De BWI pour l’insertion de tests par la MOA et la MOE et la
visualisation des résultats
• Installation
– Outil Open Source disponible en téléchargement sur
www.junit.org
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 11
JUnit (2/2)
• Installation (suite)
– Ajout des variables d’environnements via le shell de l’OS
– Vérification de l’installation
• Utilisation
– Principes
• Une classe de test par classe à tester
• Utilisation de méthodes assert()
– Ajout de tests
• Ajout du .jar de Junit au classpath du projet
• Ajout de tests dans le projet
– Sorties
• Les sorties peuvent être choisies avec l’outil de compilation (maven)
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 12
JUnitScenario (1/2)
• Framework OpenSource
• Couvre la partie des scénarios de tests de l’AGL
• Installation
– Exécution du script d’installation fournit dans l’archive (Pareto)
• Utilisation
– Principes
• S’utilise avec les classes crées pour Junit
• Un fichier XML spécifie les scénarios, enchaînement d’appels à des
méthodes Junit
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 13
JUnitScenario (2/2)
• Utilisation (suite)
– Exécution
• Lancement via un script ou avec une invite de commande
» …
– Sorties
• Résultat sous forme de fichier texte
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 14
Hansel (1/2)
• Extension de JUnit
• Prend en charge la partie des tests de couverture de
l’AGL
• S’utilise à partir :
– D’Eclipse via JUnit
• Installation
– Ajout des variables d’environnements via le shell de l’OS
• Ajout du hansel.jar et bcel.jar au classpath du projet
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 15
Hansel (2/2)
• Utilisation
– Principes
• Ajoute une méthode dans chaque classe de JUnit
• Utilisation de la fonction CoverageDecorator(ClassJUnit, Class[])
– Ajout de tests
• Ajout de méthodes dans la classe JUnit du projet (manuel ou BWI)
– Sorties
• Les sorties peuvent être choisies avec l’outil de compilation (maven)
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 16
Solex (1/2)
• Outil de test d’application web
• Couvre la partie test d’IHM de l’AGL
• Installation
– Configuration du proxy au sein du navigateur et d’Eclipse
• Utilisation
– Principes
•
•
•
•
Plug-in Eclipse
Proxy entre le navigateur et le serveur web
Enregistre les requêtes et compare les réponses
Assertions permettent de valider un scénario
– Entrées
• Scénario joué sur un navigateur web
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 17
Solex (2/2)
• Utilisation (suite)
– Sorties
• Format de type XML
• Avantages
– Automatise la phase de tests « graphique »
– Scénarios métier finaux du client possible
– Prend en compte les contraintes web (navigateurs, etc.)
• Inconvénients
– Création manuelle des scénarios
– Fonctionnalités de tests limitées
• Assertions
• Remplacement de variables
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 18
Conclusion
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 19
Questions ?
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 20
BWI
• Cœur de la stratégie de l’AGL
• Permet d’insérer
– Les tests unitaires Junit
– Les scénarios de tests
JUnitScenario
• Permet de visualiser le résultat
des tests
• Accès sécurisé pour la MOA,
MOE
Soutenance GLAO #2
BEWITCHED
18/05/2006
slide 21
Téléchargement