Formation Qualité des applications (cours dédié aux actions collectives Atlas)

Durée 3 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DQAA
Éligible CPF Non

Industrialiser la production logicielle, c’est définir précisément le cycle de vie d’un projet et les outils nécessaires à l’automatisation et l’amélioration de la qualité. Quels que soient les technologies, langages ou frameworks, les différentes étapes et les outils associés sont similaires :

  • Les outils de gestion des sources (SCM) et de collaboration, directement intégrés dans les IDE, permettent la collaboration au sein des équipes de développement quelquefois géo-dispersées
  • Les outils de construction (build) permettent d’automatiser et d’uniformiser le processus de fabrication à partir des sources du projet. Il gère également les dépendances du projet vers les autres librairies d’artefacts permettent de contrôler le processus de release d’un logiciel.
  • Les outils de tests permettent de valider qu’un artefact est conforme à ses spécifications fonctionnelles et techniques
  • Les outils d’analyse qualité permettent de contrôler la maintenabilité du code, de maitriser sa complexité
  • Les dépôts d’artefacts permettent de conserver les différentes releases produites afin de pouvoir les déployer à tout moment
  • Enfin, la plateforme d’intégration ou de déploiement continue permettent d’exécuter tous les précédents à chaque ajout de code source dans le SCM.

Cette formation Qualité des applications a vocation à donner une vision claire aux participants du cycle de production du logiciel, des prérequis et outils nécessaires à l’amélioration de la qualité de production.
En dehors des présentations des concepts et des outils, un projet complet servira de fil conducteur pour illustrer le propos et pour alimenter les ateliers effectués par les participants.

Objectif opérationnel :

Connaître les outils, méthodes et bonnes pratiques pour développer une application de qualité (à travers la mise en place d'une usine logicielle).

Objectifs pédagogiques :

À l'issue de cette formation Qualité des applications, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Connaître les outils intervenant dans le cycle « Code, Build, Deploy » selon le principe d’intégration continue
  • Comprendre les apports d’un outil de build et des dépôts d’artefact pour produire des livrables de qualité
  • Connaître les workflows de collaboration autour de Git
  • Connaître les principaux outils de tests et la typologie des tests
  • Comprendre la démarche qualité et le support de SonarQube
  • Comprendre le rôle d’une plateforme de CI/CD dans le cadre d’une fabrique logicielle

Public :

Ce cours Qualité des applications s’adresse aux développeurs et architectes cherchant à améliorer la qualité de leur code et de leur méthodologie de développement en vue de livrer une application stable et maintenable. Ces chargés de développement ont déjà participé ou conduit des projets de développement, seuls ou en équipe, et ont été confrontés aux coûts et problématiques engendrés par un code perfectible.

La formation intéressera également tout développeur poursuivant ce même objectif et cherchant un focus plus particulier sur les phases de tests : les techniques, les niveaux, cibles, l’automatisation…

Prérequis :

Les participants à cette formation Qualité des applications possèdent nécessairement la maîtrise d’un langage de programmation (idéalement orienté objet) et ont déjà participé à plusieurs projets de développement. Cette expérience professionnelle préalable est indispensable pour comprendre et échanger sur les difficultés soulevées par un mauvais code et par la prolifération de bugs.

J1

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’artefactLe rôle d’un dépôt d’artefact
L’exemple de Nexus
Release d’un logicielNumé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
J2

Les tests

IntroductionTypologie des tests, types de tests et phases de construction
Les méthodes centrées sur les tests. Principes de l’XP Programming
Les tests unitairesPrincipes 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égrationPrincipes 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, end2endL’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 performanceMise 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’acceptationObjectifs 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
J3

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
Date de mise à jour du programme : 10/05/2023

Dates et lieux

Du 12 au 14 juin 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 12 au 14 juin 2024
Lieu
Paris
Durée
3 jrs
1995 € HT
Du 16 au 18 octobre 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 16 au 18 octobre 2024
Lieu
Paris
Durée
3 jrs
1995 € HT
Du 11 au 13 décembre 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 11 au 13 décembre 2024
Lieu
Paris
Durée
3 jrs
1995 € HT

Logo partenaire action collective de l'OPCO Atlas Votre formation Qualité des applications prise en charge jusqu'à 100% des coûts pédagogiques ! * 

Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++. 
-  Sessions inter-entreprise sur Paris et Lille. 
-  Sessions intra-entreprise sur toute la France. 

* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB