03 Janvier 2012 - Séance nº1: Compilation sous Maven 2
- Présentation de l'outil Maven2 [wikipedia]
- Introduction du processus de compilation modulaire
- Présentation du mécanisme de plugins
- Installer l'outil Maven2 (n'oubliez pas de définir la variable d'environnement JAVA_HOME)
- Créer d'un projet calculatrice en utilisant les archetypes Maven2:
- Mettre à jour le fichier ~/.m2/settings.xml pour ajouter le proxy du FIL (cache-etu.univ-lille1.fr:3128)
- Utiliser la commande mvn archetype:generate pour créer un nouveau projet
- Utiliser l'archetype maven-archetype-site-simple pour créer le module parent
- Utiliser le numéro de version 1.0-SNAPSHOT pour votre projet
- Positionner vous dans le module créé et exécutez de nouveau la commande mvn archetype:generate
- Utiliser la version 1.0 du plugin maven-archetype-quickstart
- Repositionner vous dans le module parent et exécutez la commande mvn archetype:generate
- Utiliser le plugin maven-archetype-webapp
- Configurer le plugin maven-jetty-plugin pour démarrer le serveur d'application depuis Maven2
10 Janvier 2012 - Séance nº2: Tests avec JUnit / Cobertura / Selenium
- Intégrer des tests unitaires dans le projet (via JUnit) [wikipedia]
- Utiliser le plugin Surefire pour exécuter les tests automatiquement
- Utiliser le plugin Cobertura pour estimer la couverture du code métier
- Introduction au test d'intégration (via Selenium)
- Installer le plugin Selenium IDE dans Firefox
- Créer et exécuter plusieurs scénarios de test pour l'interface Web
- Utiliser le plugin Failsafe pour intégrer le WebDriver dans Maven2
17 Janvier 2012 - Séance nº3: Gestion de la documentation et des livrables
- Générer le site de développement de votre projet en utilisant le plugin site
- Personnaliser le site générer pour y intégrer une description du projet et régénérer le site
- Intégrer la Javadoc et les rapports de tests dans le site généré
- Intégrer le plugin Checkstyle et inclure le rapport associé dans le site web
- Utiliser le plugin Assembly pour produire un livrable de votre projet
24 Janvier 2012 - Séance nº4: Gestion des versions et dépôts d'artefacts
- Vérifier que le numéro de version de votre projet est bien 1.0-SNAPSHOT.
- Importer votre projet calculatrice dans votre dépôt SVN.
- Renseigner votre descripteur pom.xml avec les informations du dépôt SVN.
- Télécharger un dépôt Maven Nexus depuis le site Internet.
- Installer et configurer le dépôt Nexus en local sur votre machine.
- Compléter votre descripteur settings.xml pour y ajouter l'url ainsi que les clés d'accès à votre dépôt Nexus.
- Utiliser la cible deploy de Maven pour déployer vos artefacts compilés dans Nexus.
- Utiliser la cible release de Maven pour créer une release de votre projet.
- Créer un compte sur CloudBees pour utiliser leur offre de développement dans les nuages.
31 Janvier 2012 - Séance reportée
07 Février 2012 - Séance nº5: Intégration continue
- Télécharger l'application Jenkins [wikipedia].
- Installer et configurer Jenkins sur votre machine.
- Configurer un job pour compiler déployer un artefact sur Nexus à partir du code source stocké dans un SVN.
- Configurer le job pour qu'il se déclenche pour toute modification du code source dans le SVN.
- Tester votre processus de compilation en committant un code qui fait échouer les tests.
- Installer le plugin Green Balls pour utiliser une balle verte pour représenter les jobs réussis.
14 Février 2012 - Séance nº6: Finalisation des tests unitaires et d'intégration
- Validation des tests unitaires pour la 1ere livraison.
- Validation des tests d'intégration pour la 1ere livraison.
- Rédaction de la spécification des tests livrés.
- Mise en place des tests unitaires pour la 2eme livraison.
- Mise en place des tests d'intégration pour la 2eme livraison.
21 Février 2012 - Séance nº7: Serveur de qualité du logiciel
- Télécharger le service Sonar [wikipedia].
- Installer et configurer Sonar sur votre machine.
- Exécuter sonar depuis votre projet maven en utilisant le plugin Sonar.
- Configurer votre job Jenkins pour que la tâche Sonar soit exécutée automatiquement quand la compilation du projet réussit.
- Lire la documentation pour mieux comprendre la signification des métriques produites par Sonar.
- Installer Visuwall pour afficher l'état de votre projet sur un écran partagé.
- Petit rappel sur le test unitaire: les 10 commandements du test unitaire
28 Février 2012 - Interruption pédagogique
06 Mars 2012 - Interruption pédagogique
13 Mars 2012 - Séance nº8: Métriques de qualité du logiciel
- Répondez aux questions du formulaire suivant.
- Exploitez les métriques produites pour votre projet PEPIT pour améliorer sa qualité.
20 Mars 2012 - Séance nº9: Tests de performances
- Télécharger l'outil JMeter [wikipedia].
- Réaliser au moins les étapes 1,2,3 du tutoriel JMeter
- Appliquer JMeter sur le projet PEPIT.
27 Mars 2012 - Séance nº10: Évaluation des projets
- Évaluation des méthodes et outils de Qualité Logiciel utilisés dans le projet PEPIT.
- Chaque groupe présente ses méthodes de développement et ses outils devant les autres groupes.
- Prévoir un scénario (et éventuellement un support) de présentation des outils.
- Bilan sur le cours de QL.
Références complémentaires
1. Maven 2. maven.apache.org2. Better Builds with Maven. repo.exist.com/dist/maestro/1.7.0/BetterBuildsWithMaven.pdf
3. Maven Definitive Guide. sonatype.com/products/maven/documentation/book-defguide
4. Maven Cookbook. sonatype.com/books/mcookbook/reference
Projet PEPIT: Livrable QL
1/ Charte de qualité
Échéance: Proposition de réponse au cahier des charges (17/01/2012)Nature: document
Contenu:
- Description succincte des outils et des méthodes employées par l'entreprise pour garantir la qualité du logiciel développé
2/ Spécification de qualité
Échéance: Proposition fonctionnelle et architecture v1 (17/02/2012)Nature: document
Contenu:
- Description détaillée des outils utilisés par l'équipe de développement
- Méthodologie de développement adoptée
- Infrastructure de développement déployée
- Spécification des tests unitaires et d'intégration de la solution développée