03 Janvier 2012 - Séance nº1: Compilation sous Maven 2

  1. Mettre à jour le fichier ~/.m2/settings.xml pour ajouter le proxy du FIL (cache-etu.univ-lille1.fr:3128)

  2. Utiliser la commande mvn archetype:generate pour créer un nouveau projet

  3. Utiliser l'archetype maven-archetype-site-simple pour créer le module parent

  4. Utiliser le numéro de version 1.0-SNAPSHOT pour votre projet

  5. Positionner vous dans le module créé et exécutez de nouveau la commande mvn archetype:generate

  6. Utiliser la version 1.0 du plugin maven-archetype-quickstart

  7. Repositionner vous dans le module parent et exécutez la commande mvn archetype:generate

  8. Utiliser le plugin maven-archetype-webapp

  9. 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


24 Janvier 2012 - Séance nº4: Gestion des versions et dépôts d'artefacts


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


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.org
2. 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