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

4.8 sur 5 étoiles

5 étoiles
75%
4 étoiles
25%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 4 avis
(4 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 en Java, Python, C#, C++, etc., 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 pratiquesTester unitairement produit
Concevoir un produit via les tests unitaires

Gestion des exceptions - Refactoring

Définir un test

En génie logiciel
En TDD
Exercice pratiqueCompré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 baseExercice pratiqueIdentifier tous les feedbacks que peut utiliser un développeurBrè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 pratiqueEchanges 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éraleExercice pratiqueConception par carte responsabilités / collaborationPattern TDD : test listExercice pratiqueLister les tests d’une des classes du projetLe cycle de TDD
Des règles simples
Pattern : Assert First
Exercice pratiqueMettre 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 pratiqueManipuler ces 3 patterns sur une fonction simplePattern TDD : « Données de test »
Pattern TDD : « Tests isolés »
Exercices pratiquesDé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 pratiqueCréer un Stub pour résoudre un problème de données de testsPattern TDD : « Mock »Exercice pratiqueCréer un Mock pour simuler un appel de méthode

Développement d’une application (suite)

Exercices pratiquesDé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 pratiqueAnalyse critique d’un test qui passe du premier coupAntipattern TDD : « Ecrire des tests trop grands »Exercice pratiqueAnalyse critique d’un test trop grandAntipattern TDD : « Diagnostic trop long »Exercice pratiqueAnalyse critique d’un test donnant lieu à un diagnostic longAntipattern TDD : « Test sur une méthode privée »Exercice pratiqueAnalyse critique d’un test d’une méthode privéeAntipattern TDD : « Echec intermittent »Exercice pratiqueAnalyse critique d’un test qui passe de façon intermittenteConcept 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 pratiquesEcrire 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. 
A votre convenance les travaux pratiques peuvent être réalisés en Python, Java, C# ou C++.

Date de mise à jour du programme : 24/06/2024

Dates et lieux

Du 16 au 18 octobre 2024
En bonne voie de maintien
Lieu
Distanciel
Durée
3 jrs
2070 € HT
Du 16 au 18 octobre 2024
En bonne voie de maintien
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.8/5(4)

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