Les fondamentaux
- Les étapes du cycle de vie du logiciel (Conception, développement, recettage, mise en production).
- Le modèle de développement logiciels : modèle en V, modèle incrémental et itératif.
- Usine logicielle, intégration continue.
- Les différents types d'environnements (développement, recette, production).
- L'usine au quotidien. Les principaux outils utilisés.
Gestion des versions
- Les fonctionnalités.
- Les différents gestionnaires de sources : centralisé ou distribué.
- Les problématiques d'intégration des changements.
- Le rôle des branches et tags.
Travaux pratiques
Manipulation d'un dépôt GIT.
Mise en place et automatisation du build
- Mise en place d'un serveur de build, les différents outils et types d'installation.
- Configuration : page principale de la configuration, configuration de GIT/SVN, serveur de mail.
- Jenkins et le build, les meilleures pratiques et méthodes recommandées.
- Stratégies et techniques de notification.
- Fixer les dépendances entre les travaux de build.
- Jenkins et Maven : rappel sur Maven, configuration du build Maven, déploiement dans un repository Maven.
Travaux pratiques
Création et configuration d'un Projet Maven Jenkins basé sur un référentiel (repository) GIT.
Automatisation des tests
- Quels tests et pour faire quoi ?
- Les environnements de tests.
- Automatisation des tests unitaires et d'intégration. Les librairies PHPUnit, JUnit, ...
- Configuration des rapports.
- Mesurer la couverture de test.
- Automatisation des tests d'acceptation.
- Automatisation des tests de performance avec JMeter.
- Optimiser les temps d'exécution des tests.
Travaux pratiques
Adaptation du projet Jenkins pour inclure JUnit et suivi des tests de performance avec JMeter.
Les tests de validation
- Les besoins en test de validation.
- Les référentiels de test et leur mise en œuvre.
- Les générateurs de données de test.
- Les fonctionnalités des robots de test.
- Les robots de test d'IHM.
- Les robots de test d'applications Web.
Travaux pratiques
Mise en œuvre d'un référentiel de test, d'un générateur de données de test, de robots de test d'IHM, de robots de test d'applications Web.
Automatisation du déploiement
- Mise en place du script de déploiement.
- Mise à jour des bases de données.
- Tests minimaux. Retour en arrière.
Travaux pratiques
Adaptation du projet Jenkins pour automatiser le déploiement.
Les métriques
- La génération de rapports.
- Les outils d'analyse et de reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle, Jira Software...).
- La publication des résultats.
Travaux pratiques
Mise en place des outils de métriques.
Qualité
- Réduire les risques grâce à l'intégration continue.
- Appréhendez le travail collaboratif dans une équipe. La contribution des utilisateurs aux outils.
- Travailler avec les utilisateurs finaux.
- Interaction avec les outils de gestion des anomalies, Bugzilla, Mantis, Bug Tracking...
- Gérer un projet de migration à l'Open Source : étude des outils du marché, risque, avantage.
Travaux pratiques
Utilisation d'outils de gestion des anomalies.