Aperçu du cours
L’Usine logicielle est la construction d’un développement logiciel autour d’une plateforme qui en garantit la qualité et la fluidité.
Prérequis
- Connaissance en développement logiciel
- Notions de base en Java EE et en langage Java (souhaitable)
Objectifs pédagogiques
- Intégrer les étapes du cycle de vie logiciel
- Bâtir et mettre en place une infrastructure développement
- Déployer des outils de construction et des tests d’intégration
- Intégrer les Best practices de l’intégration continue
- Maîtriser les méthodes de travail collaboratif et communautaire
- Être capable d’analyser les risques et d’entretenir les liens avec les utilisateurs finaux
Public ciblé
- Développeurs, chefs de projet…
Programme de formation
-
Introduction
-
Le cycle de vie logiciel
-
Le modèle de développement logiciel
-
Usine logicielle & intégration continue
-
Les divers environnements
-
Les outils fondamentaux
-
L’usine dans son fonctionnement journalier
-
-
La gestion des versions
-
Les fonctionnalités
-
Les gestionnaires de sources: Centralisé, Distribué
-
L’intégration des changements
-
Les branches & les tags
-
Travaux pratiques: Découverte d’un dépôt Git
-
-
Initialisation & automatisation du Build
-
Installation du serveur
-
Paramétrage du serveur
-
Jenkins et le Build : best practices & méthodes
-
Notification : stratégies et techniques
-
Fixer les dépendances entre travaux de Build
-
Jenkins & Maven
-
Travaux pratiques: Construction et paramétrage d’un projet Maven Jenkins
-
-
Automatisation des tests
-
Introduction aux tests
-
Les environnements de tests
-
Automatisation des tests ; unitaires et d’intégration
-
Les librairies
-
Paramétrage des rapports
-
Mesure de la couverture de test
-
Automatisation: Des tests d’acceptance, Des tests de performance (JMeter)
-
Amélioration des temps d’exécution des tests
-
Travaux pratiques: Inclusion de JUnit et JMeter au sein du projet Jenkins
-
-
Tests de validation
-
Les besoins en test de validation
-
Référentiels de tests
-
Générateurs de données de test
-
Fonctionnalités des robots de test: Robot d’IHM, Robot d’application Web
-
Travaux pratiques: Mise en pratique des référentiels de test et des notions abordées
-
-
Automatisation du déploiement
-
Installation du script de déploiement
-
MAJ des bases de données
-
Tests minimaux & retour en arrière
-
Travaux pratiques: Automatisation du déploiement de l’artefact
-
-
Les métriques
-
La génération de rapports
-
Analyse et reporting : les outils
-
Publication des résultats
-
Travaux pratiques: Mise en pratique des notions abordées au sein du projet
-
-
Qualité
-
Atténuation des risques par l’intégration continue
-
Le travail collaboratif
-
Coordination du travail avec les utilisateurs finaux
-
Combinaisons avec les outils de gestion des anomalies
-
Gestion d’un projet de migration à l’Open Source
-
Travaux pratiques: Manipulation d’outils de gestion des anomalies
-