Test Driven Development TDD en Python avec IA et Clean Code

TDD-P_IA

Formation créée le 27/08/2025. Dernière mise à jour le 05/09/2025.
Version du programme : 1

Prochaine date

22/09/2025

Type de formation

Formation à distance

Durée de formation

21 heures (3 jours)

Accessibilité

Oui

Test Driven Development TDD en Python avec IA et Clean Code

TDD-P_IA


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, ou Python 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 Python : développement 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)

Qualité et satisfaction

Questionnaire de satisfaction et Evaluation des acquis en fin de formation

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 Online - Test Driven Development TDD en Python avec IA et...
du 22/09/2025 au 24/09/2025
On Line - Test Driven Development TDD en Python avec IA e...
du 22/06/2026 au 24/06/2026