Test Driven Development TDD en Java avec IA et Clean Code

TDD-J

Formation créée le 19/03/2024. Dernière mise à jour le 18/03/2025.
Version du programme : 1

Prochaine date

10/12/2025

Type de formation

Formation présentielle

Durée de formation

21 heures (3 jours)

Accessibilité

Oui

Test Driven Development TDD en Java avec IA et Clean Code

TDD-J


Cette formation est recommandée pour tous ceux qui cherchent un moyen efficace d’améliorer la qualité de leur logiciel. Elle consiste à développer un logiciel en l’enveloppant judicieusement d’une série de tests unitaires et à faire émerger une architecture au fil des tests en l'alignant avec la vision changeante du périmètre fonctionnel recherché.Cette formation a aussi été conçue pour ceux qui vivent avec un bugtracker rempli à craquer, ils verront comment désendetter techniquement leur application au cours du temps tout en faisant évoluer le logiciel à la demande des clients. Le Test Driven Development reste selon nous l'une des rares techniques agiles encore très mal appliquées dans l'entreprise. Ces formations de TDD en C++, Java, .Net et bien d'autres ont été les premières à être présentées en France en 2005, elles restent d'actualité et intègrent toutes les dernières nouveautés dans les différents langages. Au cours de la formation, vous découvrirez de nombreuses techniques ; vous apprendrez à faire de la conception simple, du refactoring, de la conception émergeante, à implémenter des Mocks et à utiliser le Test Driven Requirement et/ou le Behaviour Driven Development.

Objectifs de la formation

  • Concevoir et réaliser des produits logiciels autour de tests unitaires et de recette
  • Comprendre l'importance des tests dans la production de logiciels
  • Remanier et consolider vos applications existantes en introduisant des tests
  • Situer la pratique du développement piloté par les tests dans le contexte de la gestion de projet en général.

Profil des bénéficiaires

Pour qui
  • Développeur, Chef de projet, Coach/ScrumMaster
Prérequis
  • Maîtrise de JAVA : développement JAVA depuis 4 ans minimum
  • Maîtrise d'Eclipse (installation et configuration de JRE, divers plugins, création de nouvezux projets, configuration du classpath) et de Maven (gestion des dépendances, les modules)
  • Avoir son propre ordinateur avec les droits "admin" pour installer des outils et des plugins.

Contenu de la formation

TOUR DE TABLE & INTRODUCTION : LES TESTS UNITAIRES AUTOMATISÉS
  • Pourquoi tester ?
  • Propriétés des tests automatisés
  • i. Acteur, Action, Assertion (3A)
  • ii. Rapides, Indépendants, Reproductibles, ...
  • iii. Principe d’isolation des tests pour la reproductibilité
  • Quels sont les faux obstacles pour faire des tests? Stratégies de test
  • i. Tester les conditions limites
  • ii. Tester relation croisée et inverse
  • iii. Tester les cas d’erreurs et les exceptions
  • iv. Tester la performance
  • Où s’arrêter ?
  • i. Doit-on tester les méthodes privées ?
  • ii. Est-ce que les tests doivent être exhaustifs ?
  • Tests et méthodes agiles
II. XUNIT PATTERNS : LES FONDAMENTAUX
  • JUnit et TestNG
  • Assertions et Programmation par Contrat
  • Organisation des tests
  • i. Conventions pour les tests en Java
  • ii. Suites de test et exécutions
  • Travaux Pratiques : Mise en œuvre de tests unitaires avec JUnit ou TestNG
III. XUNIT PATTERNS : INDÉPENDANCE AVEC LES DOUBLURES
  • Principe de fonctionnement des doublures
  • Définition : Mocks, Fakes, Stubs and Dummies
  • Travaux Pratiques : Mise en œuvre des mocks sans framework et avec Mockito
IV. TEST DRIVEN DEVELOPMENT
  • Cycle de développement
  • Remaniement de code : Refactoring
  • Conception émergeante
  • Travaux Pratiques : Kata du bowling
V. MODÉLISATION ET TEST DRIVEN DRIVEN DEVELOPMENT
  • Modélisation en mode TDD : Quick Design Session
  • Best Practices : Programmation Orientée Objet
  • i. Open Close Principle : O.C.P.
  • ii. Don’t Repeat Yourself : D.R.Y.
  • iii. Single Responsability Principle : S.R.P.
  • iv. Liskov Substitution Principle : L.S.P.
  • Atelier : Quick Design Session
VI. REFACTORING POUR LA TESTABILITÉ
  • Loi de Demeter
  • Expressions conditionnelles (switch) et polymorphisme
  • Construction simple : Injection de dépendance
  • Travaux Pratiques : Mise en œuvre refactoring de code existant (Guice ou Spring framework)
VII. TESTS D’INTÉGRATIONS
  • Tester unitairement les bases de données
  • Tester une application concurrente
  • Travaux Pratiques : Mise en oeuvre avec JDBC ou Hibernate et DBunit
VIII. TESTS FONCTIONNELS
  • Tester les applications Web
  • i. Test par analyse HTML (httpunit, ...)
  • ii. Test des servlets
  • iii. Test des contrôleurs
  • Tester les interfaces graphiques
  • Travaux Pratiques : Spring MVC, Playframework et GWT
  • Travaux Pratiques : Mise en oeuvre Swing / Selenium / FEST-Swing
IX. SPÉCIFICATION PAR L’EXEMPLE
  • Behaviour Driven Development (BDD) avec JBehave
  • Test Driven Requirement
  • Acceptance Test Driven Development (ATDD)
  • Travaux Pratiques : Mise en œuvre avec JBehave ou Fitnesse
X. INTÉGRATION CONTINUE
  • Pratiques et organisation
  • Outils et indicateurs qualité
  • Travaux Pratiques : Utiliser Jenkins/Husdson, Cobertura, PMD, Checkstyle, Sonar
  • Travaux Pratiques : Organiser les packages avec JDepend
CONCLUSION
  • Test First vs Test After
  • Pair programming vs Side by Side Programming
  • Adoption du TDD
  • Le Coding Dojo de l’AgileDojo
  • Questions - Réponses

Équipe pédagogique

Nos intervenants sont des "Coach Agile & Formateur" expérimentés

Suivi de l'exécution et évaluation des résultats

  • Évaluation lors des ateliers tout au long de la formation Évaluation des acquis en fin de formation

Ressources techniques et pédagogiques

  • Théorie : 30 % (support de cours et slides) Pratiques : 70 % (exercices + programmation)

Capacité d'accueil

Entre 2 et 8 apprenants

Accessibilité

Vous pouvez vous inscrire au plus tard la veille de la formation Personne en situation de handicap : Nous contacter pour répondre à votre besoin par email à rh@agilbee.com ou par téléphone au 06 19 81 31 03

Prochaines dates

8 places restantes ON LINE - Test Driven Development en Java
du 10/12/2025 au 12/12/2025 distance