Objectifs de la formation
Le participant à cette formation aura acquis des bases solides pour travailler en TDD et designer son code, en particulier : Ecrire des tests maintenables Couvrir du code non testé avec tests Refactorer pour une bien meilleure qualité de code Travailler en TDD dans le contexte professionnel Évaluer et concevoir la stratégie de test de son équipe en découpant les tests selon la pyramide des tests Et finalement vous apprendrez à utiliser votre IDE comme un ninja
Contenu de la formation
TDD sur code neuf : Commençons par la base de la pratique. Introduction, allons à l'essence, le pourquoi. Démo de l'approche avec plein d'astuces de codeur Mise en place de l'environnement (auto-watch … ) et exercices de TDD Retrospective de l'itération Savoir accueillir de nouvelles demandes Savoir accueillir incréments fonctionnels non prévus Rendre les tests maintenables et lisibles Refactorer le code pour plus de flexibilité et testabilité Utiliser les test en tant que documentation Conclusion et introduction de la pyramide des tests, discussion sur les parallèles avec nos tests des projets Mocks et stubs Apprendre à manipuler un framework de mocks pour tester avec dépendances et tester des méthodes "void". Bonnes pratiques de mocking et les pièges du mocking Tests et legacy Reprendre du code sans tests Comment rapidement écrire des tests de "caractérisation" Refactorer pour lisibilité puis améliorer encore sa conception grâce aux indications des tests Techniques : extraire et surcharger, introduire paramètre, tester par la gauche, refactorer par la droite Démo, couvrir du code existant, 5 astuces de tests sur legacy Ecrire des tests qui expriment le métier Mise en place de l'outil de couverture et exercice Démo de refactoring, les 5 astuces de refactoring efficace Rendre le code lisible comme un livre Considérations architecturales. Les tests nous montrent des problèmes (Code Smells) analysons-les. Démo des techniques, dont le remplacement de l'héritage par la composition et injection des dépendances Exercice TDD avec des dépendances non testables Architecturer pour la testabilité et la production Etablir une stratégie des tests performants. Présentation de l'architecture hexagonale Une première séance de développement puis discussion des problématiques rencontrés et élaboration d'une stratégie de testabilité suivies de la mise en épreuve de la stratégie, y compris: Construire du code en TDD en présence de code non testable, tels que les webservices externes et les bases de données. Comment tester le "non testable" quand même. Découper en plusieurs suites de test
Résultats de la formation
Attestation de formation
Conditions spécifiques d'accès à la formation
Cette formation vise les developpeurs confirmes ayant une bonne maitrise d au moins un langage de programmation (oriente objet ou fonctionnel), en terme de syntaxe, environnement de travail (nous pouvons vous aider sur Java, JS/TS, C#, PHP et Python). La formation contient une part importante de pratique. Les sessions sont realisees avec un maximum de 10 personnes, pour nous permettre d adapter le deroulement de la formation et de contextualiser les exercices, en fonction des participants et de leurs specificites, tout en garantissant l acquisition des competences visees par la formation.