Training centre logo

Notre Catalogue de Formation

Training representation : Test Driven Development TDD en .Net avec IA et Clean Code

Test Driven Development TDD en .Net avec IA et Clean Code

TDD-N

In-person training
Accessible
Duration: 21 hours (3 days)
Duration:21 hours (3 days)
Excluding VAT
Pre-register
Duration:21 hours (3 days)
Excluding VAT
Pre-register
Duration:21 hours (3 days)
Excluding VAT
Pre-register

Training created on 3/19/24. Last update on 7/8/24.

Programme version: 1

Training programme

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.

Objectives of the training

  • 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.

Profile of beneficiaries

For whom
  • Développeur, Chef de projet, Coach/ScrumMaster
Requirements
  • 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.

Training content

  • 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
Teaching team

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

Monitoring of implementation and evaluation of results
  • Évaluation lors des ateliers tout au long de la formation Évaluation des acquis en fin de formation
Technical and educational resources
  • Théorie : 30 % (support de cours et slides) Pratiques : 70 % (exercices + programmation)

Reception capacity

Between 2 and 8 learners

Accessibility

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