Aller au contenu principal

PLB CONSULTANT : 03. Qualité des applications

Organisme

PLB CONSULTANT
3-5 RUE MAURICE RAVEL
92300 LEVALLOIS PERRET
Voir toutes ses formationsAutres organismes proposant cette formation

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Travaux pratiques. Auto-évaluation en début et en fin de formation.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
882€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
3528€ HT / groupe
4 stagiaires minimum

Public

Architectes, développeurs, analystes, chefs de projets…

Pré-requis

Disposer d’une première expérience de développement et maîtriser un langage de programmation (C#, Java ou C++)

Objectifs pédagogiques

- Connaître les bonnes pratiques d’écriture d’un code incluant la maintenance de l’application 

- Connaître les outils nécessaires à la fabrique logicielle pour produire des livrables de qualité 

- Appréhender l'offre des outils de tests de performance et de charge

- Appréhender les outils et phases de mise en œuvre d’une intégration continue 

- Savoir utiliser Git pour gérer les codes sources

Programme détaillé

 

Introduction

Qu’est-ce la qualité logicielle ? 

Modèles qualité du logiciel, les efforts de standardisation, les normes SquaRE

Le concept de l’usine logicielle

Cycle de vie d’un projet : de la spécification à la production

Les apports du CI/CD, prérequis sur la qualité

Relations avec les méthodes agiles, avec DevOps

 

L’outil SCM

Les outils de gestion de sources : rôles et apports

La solution Git est ses particularités

Modèles de collaboration Gitflow et Fork. Leur contexte d’utilisation

Les outils les plus répandus : GitLab et GitHub

Atelier 1 :

Objectif : Apprendre les commandes de base de Git et un workflow de collaboration typique autour de la notion de Merge Request

Description : 

Initialisation de dépôt

Prise en charge d’une issue sur Gitlab

Création de Branche et de Merge Request

Intégration dans la branche stable

 

Les outils de build et les dépôts d’artefacts

Outil de build

Les apports d’un outil de build

Les principaux outils, l’exemple de Maven

Dépôt d’artefact

Le rôle d’un dépôt d’artefact

L’exemple de Nexus

Release d’un logiciel

Numérotation des versions, gestion des tags

Branche de préparation de release, Publication des artefacts

Automatisation des releases avec Git/Maven/Nexus

Atelier 2 :

Objectif : Identifier un plan de build, Comprendre les rôles d’un dépôt d’artefact d’entreprise, Appréhender les tâches de release

Description : 

Visualisation d’un plan de build Maven

Publier des SNAPSHOT et des version stable vers Nexus

Effectuer une release via le plugin Maven

 

Les tests

Introduction

Typologie des tests, types de tests et phases de construction

Les méthodes centrées sur les tests. Principes de l’XP Programming

Les tests unitaires

Principes du test unitaire, Rôle du moteur d’exécution

Cycle d’un test : setUp, Invocation, Assertions, tearDown

Rapport des tests, les format xUnit

Isolation:Fake Object, Mocking et Stub

Atelier 3 :

Objectif : Comprendre le cycle d’un test, Isoler du code pour effectuer un test unitaire

Description : 

Visualisation d’une classe de test, explication du Mocking

Exécution du test dans l’IDE et exécution par l’outil de construction

Les tests d’intégration

Principes du test d’intégration

Les systèmes embarqués (bases de données et serveurs)

Mock Serveurs, exemple WireMock

Atelier 4 :

Objectif : Savoir initialiser une base de données embarquées avant chaque test, Utiliser un serveur HTTP mocké

Description : 

Test de la couche de persistance

Test de la couche web

Exécution par l’outil de construction

Les tests fonctionnels, end2end

L’approche boîte noire des tests fonctionnels

Prérequis aux tests fonctionnels

Difficulté des tests fonctionnels

Exemple de Selenium

Atelier 5 :

Objectif : Comprendre l’exécution d’un test Selenium

Description : 

Visualisation de la classe de test

Exécution du test fonctionnel

Les tests de performance

Mise en place des tests de charge

Modélisation de charge, préparation d’un banc de test

Rapport des tests de performance, principales métriques

Exemple de JMeter

Atelier 6 :

Objectif : Comprendre les métriques d’un rapport de performance standard

Description : 

Visualisation de la classe de test

Exécution du test fonctionnel

Les tests d’acceptation

Objectifs des tests d’acceptation, le BDD et la syntaxe Gherkin

Les acteurs du tests d’acceptation

L’exemple de Cucumber

Atelier 7 :

Objectif : Comprendre les implications des tests d’acceptation

Description : 

Visualisation des scénarios de texte via la syntaxe Gherki

Visualisation du code plomberie

Exécution du test d’acceptation

 

Mise en place d’une démarche qualité

Les règles de codage, règles standard, règle propre à un langage, spécifique à un projet

Les transgressions : typologie, classification et sévérité

Notion de dette technique, workflow de résolution des transgressions, rôles projet

Concepts pour adapter la démarche :  profils qualité, leak periods, indicateurs, métriques et portes qualité

Recommandation pour la définition des objectifs et amélioration continue

Atelier 8 :

Objectif : Comprendre les concepts de la qualité présents dans Sonarqube

Description : 

Paramétrage d’une analyse puis exécution

Interprétation des résultats

Adaptation d’une porte qualité

 

Plateforme de CI/CD

Rôle d’une plateforme de CI/CD

Notion de pipeline, rôle des branches dans la pipeline

Intégration, Livraison, déploiement continue

Automatisation des déploiements, les différents outils en fonction des infrastructures cibles

Les tests de post-déploiement

Atelier 9 :

Objectif : Comprendre le rôle et l’apport de la plateforme CI/CD

Description : 

Description d’une pipeline multi-branche Jenkins de Continous Delivery

Exécution de la pipeline sur une branche de feature

Merge dans une branche Stable

Exécution de la pipeline sur la branche stable et publication d’une release

Approbation manuelle pour un déploiement automatisé en production

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.