Pratiquer le développement piloté par les tests en JavaScript
Cette formation vous plonge dans l'univers concret du développement piloté par les tests, ou TDD, en JavaScript : de l'analyse et la démystification de ses principes fondateurs à la pratique intensive sur des exercices emblématiques, chaque étape est pensée pour ancrer durablement les réflexes du TDD.
Après avoir configuré son environnement et dompté le célèbre FizzBuzz, la personne stagiaire explorera la manière dont le TDD façonne l'architecture du code. Elle découvrira aussi l'art subtil du refactoring et apprendra à injecter la pratique du TDD dans le code legacy, progressivement, sans tout casser, et à faire évoluer ses pratiques. Discussions, ateliers collaboratifs, et retours d'expérience rythment la formation, pour que chaque participant reparte avec des outils concrets pour transformer sa façon de coder au quotidien.
(14 heures)
6 mois d'expérience en JS
Accessible aux personnes en situation de handicap
DélaiLe cours peut être organisé dans un délai d'un mois.
Objectifs
A l'issue du cours vous saurez :- Savoir mettre en oeuvre le TDD dans toutes les situations;
- Configurer un environnement de développement adapté au TDD;
- S'approprier une manière plus sure et durable de coder;
- Adapter la pratique du TDD en fonction du contexte: architecture spécifique, legacy, etc.
Prérequis
- Avoir une expérience de 6 mois en développement JavaScript et Node.js;
- Avoir réalisé des tests en JS et Jest, idéalement avoir suivi la formation Construire un patrimoine de tests automatisés en JavaScript;
- Le/la stagiaire peut se connecter sur Internet et a créé un compte sur gitlab.com.
Méthodes pédagogiques
- Explication, pour chaque concept, du problème qu'il prétend résoudre.
- Mise en pratique d'un concept immédiatement après qu'il ait été présenté.
- Ateliers pratiques de type kata favorisant la collaboration et pour consolider les acquis.
- QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Programme détaillé
Compréhension du TDD
- Définir le TDD et son cycle Red-Green-Refactor.
- Démystifier le TDD : ce qu'il est et ce qu'il n'est pas.
- Identifier les avantages et limites du TDD dans le développement logiciel.
Mise en pratique: atelier d'example mapping sur un cas simple.
Configuration de l'environnement
- Préparer l'IDE en adoptant les bonnes pratiques.
- Rappeler les dépendances JavaScript nécessaires pour les tests.
- Structurer un projet JavaScript pour le TDD.
Mise en pratique: écrire un premier test simple pour valider l'environnement.
Les premiers cas concrets du TDD
- Résoudre un ou plusieurs katas d'introduction au TDD.
- Application du cycle TDD pas à pas.
- Discussions et retours sur les difficultés.
Mise en pratique: résoudre le Fizzbuzz et un autre kata d'introduction.
Améliorer sa pratique du TDD
- Se faire guider sur l'écriture des tests avec ZOMBIES.
- Les bonnes pratiques sur l'étape de refactoring.
Mise en pratique: pratiquer un kata dont les exigences évoluent (String Calculator ou équivalent)
TDD et architecture logicielle
- Comprendre comment le TDD influence l'architecture du code.
- Identifier les patterns architecturaux favorisés par le TDD (Clean Architecture, Hexagonal Architecture).
- Rappeler l'utilisation des doublures de tests.
Mise en pratique: ajout d'une nouvelle fonctionnalité en TDD dans une application existante.
Le TDD et les autres pratiques
- Intégrer le TDD avec du code legacy.
- Intégrer les TDD en lien avec les besoins fonctionnels.
- Associer TDD et le développement piloté par le comportement (BDD).
Mise en pratique: ajout d'une fonctionnalité dans un code legacy à partir d'un scénario utilisateur.
Prix et financements
2 12
Réduction de 50% pour les associations reconnues d'utilité publique.Sources de financements pour les organisationsfrançaises:
- prise en charge tout ou partie du coût de la formation par votre opérateur de compétence (OPCO);
- Le dispositif FNE formation si votre organisation est éligible.
- Le plan de développement des compétences de votre entreprise (renseignez-vous auprès de votre service RH).