Aller au contenu principal

AELION : 03. Qualité des applications

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Questionnaire d’évaluation des pré-requis avant le stage, de satisfaction en fin de stage, évaluation des acquis en fin de formation. Feuille de présence, attestation de 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.
3780€ 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é

DECRIRE LES BONNES PRATIQUES D’ECRITURE D’UN CODE INCLUANT LA MAINTENANCE DE L’APPLICATION

  • A l’issue de cette séquence, vous êtes capable de définir le cycle de vie complet d’une application logicielle. Vous identifiez et comprenez les enjeux qualité dans le domaine de l’ingénierie logicielle. Vous identifiez ce que représente la philosophie Devops, et comment elle sert le cycle de vie d’une application, notamment dans une démarche de projet Agile. Vous appréhendez les bonnes pratiques et outils à utiliser pour l’écriture d’un code en respectant des attentes qualité.
  • Cycle de vie complet d'une application (ALM et principes DEVOPS avec CI/CD)
  • Bonnes pratiques pour l’écriture et la structure d’un code source
  • Méthodes et outils de Linting
  • Méthodes et outils de documentation
  • Méthodes et outils d’organisation du code (structurer ses dossiers, espaces de noms)
  • Techniques de mutualisation de code
  • Utiliser et créer des librairies
  • Gestion des dépendances
  • Origine des défauts logiciels
  • Sensibilisation au coût d'un programme non testé Indicateur

UTILISER GIT POUR GERER LES CODES SOURCES

  • A l’issue de cette séquence, vous serez capable d’utiliser des commandes git pour initialiser un dépôt, travailler et utiliser les branches. Vous connaîtrez les bases du travail collaboratif sur git et a pu manipuler un workflow. Vous saurez comment utiliser une plateforme Git (Exemple GitHub ou Gitlab).
  • GIT pour gérer les codes sources
  • Installation et configuration
  • Principes de GIT
  • Approche décentralisée
  • Branches et commit
  • Les états Clear/stage/commit
  • Guide pratique de git
  • Récupérer un projet
  • Créer un commit
  • Gestion des branches
  • Branches locales et remotes
  • Merge et rebase
  • Flux de travail collaboratif avec Git (exemple du Gitflow workflow).

IDENTIFIER ET UTILISER LES OUTILS NECESSAIRES A LA FABRIQUE LOGICIELLE POUR PRODUIRE DES LIVRABLES DE QUALITE

  • A l’issue de cette séquence, vous êtes capable de d’identifier les possibilités offertes par les plateformes Git qui font office de forge logicielle. Vous connaîtrez les plateformes principales et les fonctionnalités attendues sur ce type d’outils.
  • Les outils des forges logicielles: ISSUES, WIKI, ETC.
  • Flux de travail collaboratif avec Git (exemple du Gitflow worklow)

IDENTIFIER L'OFFRE DES OUTILS DE TESTS DE PERFORMANCE ET DE CHARGE

  • A l’issue de cette séquence, vous êtes capable d’identifier les différents types de tests (TU, E2E, qualité, sécurité, performance et charge). Vous prenez conscience qu’il est nécessaire pour tout projet de mettre en place une stratégie de tests adaptée en fonction des enjeux ou des besoins. Vous savez que certaines méthodes peuvent aider à mettre en place les tests au sein d’un projet (TDD, etc.).
  • Les tests en agile ou cycle en V (TDD, BDD, ATDD)
  • Niveaux de tests : composants, intégration, système
  • Cible des tests : fonctionnels / non fonctionnels, architecture logicielle, non régression

UTILISER LES METHODES PUIS OUTILS POUR LES TESTS UNITAIRE, LES TESTS QUALITE, LES TESTS DE PERFORMANCE ET DE CHARGE

  • A l’issue de cette séquence, vous êtes capable d’utiliser des commandes GIT pour initialiser un dépôt, travailler et utiliser les branches. Vous connaissez les bases du travail collaboratif sur git et savez manipuler un workflow. Vous savez comment utiliser une plateforme Git (exemple Github ou Gitlab).
  • Ecriture de tests unitaires dans un langage de programmation
  • Présentation d’une librairie de tests
  • Ecriture d’un ou plusieurs tests unitaires
  • Utilisation de doublures (Mocks, Stubs, Spy, Fakes...)
  • Exécution des tests et génération de rapports
  • Tests qualités avec Sonar
  • Présentation de Sonar (fonctionnement, règles qualités et profils qualités)
  • Branchement d’un projet sur Sonar
  • Exécution des tests Sonar
  • Tests de performance et de charge avec Gatling
  • Présentation de Gatling
  • Branchement d’un projet sur Gatling
  • Exécution des tests Gatling

APPREHENDER LES OUTILS ET PHASES DE MISE EN œUVRE D’UNE INTEGRATION CONTINUE

  • A l’issue de cette séquence, vous êtes capable d’utiliser les pipelines Gitlab configurés en YAML. Vous saurez créer et configurer un pipeline. Vous saurez utiliser d’autres applications de CI et dont la configuration est similaire (Infra-as-code) : par exemple Jenkins. Vous identifiez les étapes nécessaires au déploiement continu. Vous savez quels outils utiliser pour mettre un place un déploiement continu.
  • Introduction a la CI avec GITLAB CI
  • Rappels sur les principes de CI/CD et Devops
  • Intégration Continue avec Gitlab CI
  • Configuration Gitlab CI/CD
  • Pipelines de CI/CD
  • Gestion des runners
  • Déploiement continu et Gitlab Runner
  • Mise en pratique des outils Gitlab ci
  • Définition d’un Pipeline Gitlab CI
  • Les tests dans la pipeline (Ajout des tests automatisés dans la pipeline)
  • Outils externes qui peuvent compléter Gitlab (Tests qualité avec Sonar, etc.)
  • Rappels sur les principes de CI/CD et Devops
  • Déploiement Continu avec GitLab CI
  • Dépôt de packages (Mise en place registre docker, déploiement d’image dans la pipeline)
  • Déploiement d’une MR dans un environnement de recette, déploiement en staging
  • Mise en pratique des outils gitlab ci
  • Définition d’un Pipeline GitLab CI/CD
  • Les déploiements dans la pipeline (Ajout d’un déploiement)
  • Outils externes qui peuvent compléter GitLab (Aperçu de Ansible)

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.