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