Test Driven Development en Java/J2EE

Présentation & Objectifs

Présentation

agilbee test driven developpment tdd 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çu 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. 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

Lors de cette formation, vous découvrirez :
  • 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
  • Et situer la pratique du développement piloté par les tests dans le contexte de la gestion de projet en général.

Le Formateur

agilbee patrice petit agilbee patrice petit Patrice Petit est Agile Coach et Certified Scrum Trainer de la ScrumAlliance. Il a fondé et gère deux organisations apprenantes : Agilbee, une entreprise dédiée à la Formation Agile et au Coaching Agile et Agilii, une entreprise de Conseil en Management de Projet. Patrice a plus de 20 années d'expérience dans un variété de domaines liés au développement logiciel et à la recherche et il pratique l'Agile depuis l'année 2000. Spécialiser à aider les entreprises à adopter et à améliorer leur utilisation des processus et des techniques agiles, Patrice créa en 2005 la première entreprise en France sur le sujet du Coaching Agile. En tant que Pionnier Agile, il a créé et organisé les premiers évènements Agile en France : Agile Tour Paris, Chaos and Agile In Action, XP Day France (devenu Agile France Conférence) et il a présenté Scrum pour la première fois en France au travers de l'évènement SIG en décembre 2005. Il a aussi fondé Agile France en 2008 et plus récemment Agile Paris.

Avis d'Expert d'Agilbee

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é en France en 2005, elles restent d'actualité et intègrent toutes les dernières nouveautés dans les différents languages.

Coaching Individuel

Pour appliquer plus efficacement la formation, il est possible de recourir à une assistance individuelle concrète par notre Coach-Formateur pour la mise en place de ce qui a été enseigné dans votre environnement.

Formation Sur Mesure

Pour répondre au mieux à vos besoins d’accompagnement de vos collaborateurs, nous concevons des solutions de formation sur mesure.

Coach

Au delà des travaux pratiques de la formation, notre coach est disponible pour une action d'accompagnement collective.




Programme indicatif

I. 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)

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

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

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

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

Précisions Techniques

Il est demandé aux participants de connaître les notions de base d'un langage de développement. Aucune notion d'UML est nécessaire.
Précisions techniques

Référence

TDJ0701

Public

Développeur, Chef de projet, Coach/ScrumMaster

Moyens pédagogiques

Théorie : 30% - Pratique : 70%

Sessions

8 stagiaires maximum

Pré-requis

Aucun

Prochaine étape

Agile Dojo ou Coaching


Toutes les dates & Réservation

LieuDate# de joursPrix
Paris07/09/20163 jours1 790 €HT
Paris07/12/20163 jours1 790 €HT
Mots-Clefs : Développement piloté par les tests, Test Driven Development, Programmation Pilotée par les tests, TDD, tests unitaires, tests de recette, tests d'intégration, conformité des spécifications, testabilité, automatisation des tests, agilité, scrum, extreme programming, test unitaire, test de recette, refactoring, remaniement de code, usine de tests, industrialisation, cruisecontrol, anthill, fitnesse, xunit, cppunit, junit, httpunit, simpletest, Programmation Orientée Objet, Architecture, conception émergeante, simplicité.

Newsletter

Entrer votre Email pour rejoindre notre mailing list

Désinscription