Formation Optimiser la qualité du développement avec Test Driven Development Améliorer sa pratique de développement logiciel par les tests

4.7 sur 5 étoiles

5 étoiles
66%
4 étoiles
33%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 3 avis
(3 avis)
Durée 3 jours
Niveau Fondamental
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 TDQD
Éligible CPF Non

Le Test Driven Development (TDD), développement dirigé par les tests est une technique de programmation simple, élégante et efficace. Cette pratique des équipes agiles consiste en un cycle de feedback court : écrire un test – le faire passer – refactorer le code.
Cette méthode combine la sécurité du code couvert par les tests automatisés à l’avantage d’une conception modulaire et lisible.

À l’issue de cette formation Optimiser la qualité du développement avec Test Driven Development, vous serez ainsi capable d’écrire des applications entières, étayées par du code opérationnel, facilement maintenables et évolutives.

Objectif opérationnel : 

Savoir optimiser la qualité du développement à l'aide de Test Driven Development.

Objectifs pédagogiques : 

Plus concrètement à l'issue de cette formation Optimiser la qualité du développement avec Test Drivent Dévelopment, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Connaîter les avantages du Test Driven Development sur les autres techniques de programmation (code puis T.U)
  • Développer une application simple avec TDD
  • Expliquer et illustrer les principes de cette démarche
  • Utiliser TDD sur un nouveau projet
  • Appliquer des techniques spécifiques de TDD sur un projet existant.

Public :

Ce stage s'adresse aux Chefs de projets en développement, Développeurs, Testeurs ayant une fibre développement, Architectes, Technical Leaders.

Prérequis :

Pour suivre ce cours dans de bonnes conditions, il vous faut avoir certaines connaissances de la programmation objet, ainsi qu'une expérience de base du développement de logiciel.

Introduction

Brainstorming : les pratiques de développement utilisées en entreprise
Les pièges à éviter lorsque l’on programme

Perception du Test Driven Development (TDD)

Mythes du TDD
Réalité du TDD

Exercices pratiques

Tester unitairement produit
Concevoir un produit via les tests unitaires

Gestion des exceptions - Refactoring

Définir un test

En génie logiciel
En TDD

Exercice pratique

Compréhension d’un code de tests

Définir le Test Driven Development

Mettre en évidence l’intention
Réfléchir avant chaque ligne de code
Bénéfice de la couverture de tests

Feedback et Agilité

Notions de base

Exercice pratique

Identifier tous les feedbacks que peut utiliser un développeur

Brève histoire du feedback entre le développeur et son code
Importance du feedback
Le coût croissant de correction des défauts
Information vs feedback

Exercice pratique

Echanges sur des situations analogues où le soin porté à l’outil favorise la vitesse de production

TDD et génie logiciel

Renversement du modèle industriel classique
Comparaison des modèles industriel et artisanal
Pratiques autour de la sphère TDD
Points d’attention
Obstacles à l’adoption de TDD

Bases de TDD : développement d’une application simple

Présentation générale

Exercice pratique

Conception par carte responsabilités / collaboration

Pattern TDD : test list

Exercice pratique

Lister les tests d’une des classes du projet

Le cycle de TDD
Des règles simples
Pattern : Assert First

Exercice pratique

Mettre en route son environnement et écrire un premier test

Trois patterns caractéristiques de TDD

Pattern TDD : “Fake it ‘til you make it”
Pattern TDD : « Triangulate »
Pattern TDD : « Obvious Implementation »

Exercice pratique

Manipuler ces 3 patterns sur une fonction simple

Pattern TDD : « Données de test »
Pattern TDD : « Tests isolés »

Exercices pratiques

Développement d’une classe simple (conteneur)
Développement d’une classe dotée de logique (règles métier)
Développement d’une collaboration entre 2 classes (application)

Bilan du jour 1

Connexion

Partager avec le groupe sa session de programmation / débogage la plus difficile

Principes de survie TDD

Pattern TDD : « Don’t Repeat Yourself »
Pattern TDD : “You Ain’t Gonna Need It”
Problème des dépendances extérieures
Pattern TDD : « Stub »

Exercice pratique

Créer un Stub pour résoudre un problème de données de tests

Pattern TDD : « Mock »

Exercice pratique

Créer un Mock pour simuler un appel de méthode

Développement d’une application (suite)

Exercices pratiques

Développement d’une collaboration entre plusieurs classes (cycle de vie de l’application)
Développement d’une classe dépendante aux effets de bords (ex. : horloge système)
Développement d’une collaboration entre plusieurs classes (sessions multiples)
Développement d’une application connectée (serveur)
Développement d’une application connectée (client)

Bilan du jour 2

Connexion

Partage d’expériences sur le code existant

Antipatterns TDD

Antipattern TDD : « Succès inattendu d’un test »

Exercice pratique

Analyse critique d’un test qui passe du premier coup

Antipattern TDD : « Ecrire des tests trop grands »

Exercice pratique

Analyse critique d’un test trop grand

Antipattern TDD : « Diagnostic trop long »

Exercice pratique

Analyse critique d’un test donnant lieu à un diagnostic long

Antipattern TDD : « Test sur une méthode privée »

Exercice pratique

Analyse critique d’un test d’une méthode privée

Antipattern TDD : « Echec intermittent »

Exercice pratique

Analyse critique d’un test qui passe de façon intermittente

Concept et présentation du code legacy

Le problème du code Legacy

Modifier et préserver le code
Le paradoxe : refactorer du code sans tests pour y ajouter des tests

Amener du code sous tests

Identifier un point de changement
Trouver les points de test
Casser les dépendances
Créer un raccord (seam)
Modifier le code et refactorer

Exercices pratiques

Ecrire des tests sur un code existant en vue de documenter le code
Ecrire des tests permettant de refactorer le code

Synthèse et rappel des points clés de la formation

Ce cours comporte des exercices pratiques, des échanges et retours d’expérience du formateur afin de favoriser l’acquisition de savoir-faire.

Date de mise à jour du programme : 05/04/2024

Dates et lieux

Du 24 au 26 juin 2024
Session garantie
Lieu
Distanciel
Durée
3 jrs
2070 € HT
Du 24 au 26 juin 2024
Session garantie
Lieu
Paris
Durée
3 jrs
2070 € HT

Avis des participants à la formation Optimiser la qualité du développement avec Test Driven Development

Note moyenne de 4.7/5(3)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

SIC
5/5

Mon avis sur le contenu du stage :

"Contenu très complet qui suit une ligne directrice logique et facile à suivre."

Mon avis sur le formateur :

"Le processus et les explications du TDD en lien avec la conception étaient très clairs et facile à suivre."

Ce que j'ai le plus apprécié :

"Les TP de conception."

NI
5/5

Mon avis sur le formateur :

"Pédagogie, compétences et prestation de qualité et de très haut niveau."

Ce que j'ai le plus apprécié :

"L'animateur est à l'écoute, le programme était respecté au mieux dans les délais."

Ce que j'ai le moins apprécié :

"RAS"

OR
4/5

Mon avis sur le contenu du stage :

"Les exercices sont assez concrets et on a utilisé une méthodologie de travail qui me semble facilement reproductible en entreprise."

Mon avis sur le formateur :

"L'animateur prends le temps de répondre aux questions. A améliorer : donner des réponses plus concises."


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