20.06.2015 Views

Développement Web Développement mobile ... - Youblisher

Développement Web Développement mobile ... - Youblisher

Développement Web Développement mobile ... - Youblisher

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Test Driven Development ou la programmation<br />

pilotée par les tests en Java<br />

3 jours<br />

21 heures<br />

Les objectifs de qualité ambitieux fixés en début de projet résistent rarement aux contraintes<br />

du quotidien. Comment maintenir la qualité d’un code qui tend naturellement à diminuer, si<br />

les tentatives d’amélioration se traduisent par des régressions incontrôlées ? Le développement<br />

piloté par les tests (TDD) propose une solution radicale pour reprendre la maîtrise du code<br />

et de la conception : les tests systématiques sont écrits avant le code à tester ! Le retour sur<br />

investissement peut être important (qualité du code, non régression, évolutivité, maintenabilité).<br />

Encore faut-il éviter les écueils d’une mise en œuvre inadaptée de la démarche.<br />

Après ce cours, vous saurez utiliser des tests automatisés comme moyen de spécification,<br />

de conception et bien sûr de test. Vous saurez développer des tests pour du code existant<br />

hérité. Vous connaîtrez les techniques et outils, tels les doublures et Mocks, pour développer<br />

efficacement en TDD.<br />

Vous verrez le TDD à l’œuvre au travers d’exemples concrets et d’outils disponibles sur la plateforme<br />

Java. Une étude de cas réaliste vous permettra d’acquérir les réflexes du TDD, d’aborder<br />

les divers problèmes qui se posent aux développeurs en TDD et de mettre en œuvre les bonnes<br />

pratiques, des plus simples aux plus élaborées.<br />

Vous allez apprendre à :<br />

- Découvrir les principes fondamentaux et les bonnes pratiques du TDD<br />

- Utiliser JUnit dans une approche TDD<br />

- Mettre en œuvre les divers types de tests automatisés<br />

- Utiliser des techniques avancées d’écriture de tests<br />

- Mettre en œuvre le TDD en présence de code hérité (legacy)<br />

- Appliquer le TDD dans des contextes spécifiques (bases de données, IHM)<br />

- Pratiquer le Refactoring d’un code développé en TDD<br />

Référence<br />

TDDJ<br />

Audience<br />

Développeurs Java, responsables<br />

tests, chefs de projet,<br />

responsables qualité<br />

Pré-requis<br />

Pratique de la conception objet<br />

Pratique du développement avec<br />

Java ou avoir suivi le cours JOD<br />

(p. 76) ou IJOP (p. 77)<br />

Méthode pédagogique<br />

60 % de travaux pratiques<br />

Disponible également<br />

en intra-entreprise<br />

Prix interentreprises 2011 :<br />

1 675 € HT<br />

Inscriptions et informations :<br />

www.valtech-training.fr<br />

ou +33 (0)1 41 88 23 00<br />

Contenu<br />

Le test dans le processus<br />

de développement<br />

- Processus, qualité, tests<br />

- Tests et agilité<br />

- Tests et spécifications<br />

Tests automatisés avec<br />

le Framework JUnit<br />

- Le besoin d’un Framework<br />

de test<br />

- Le Framework JUnit<br />

- Les Matchers Hamcrest<br />

- Bonnes pratiques associées<br />

à JUnit<br />

Principes fondamentaux<br />

du TDD<br />

- Le cycle de développement<br />

du TDD<br />

- Test First<br />

- Refactoring<br />

Stratégies de Test First<br />

- Tests comme moyen<br />

de spécification<br />

- Tests comme moyen<br />

de conception<br />

- Tests indépendants<br />

Écrire du code testable<br />

- Composition plutôt qu’héritage<br />

- Éviter le code statique<br />

- Inverser les dépendances<br />

Mocks et doublures<br />

- Quand les utiliser<br />

- Types de doublures<br />

- Bibliothèques de Mocks<br />

Techniques d’écriture des tests<br />

- Langage universel<br />

- Object Builder<br />

Tests fonctionnels<br />

avec FitNesse<br />

- Tests fonctionnels et TDD<br />

- Écriture de tests fonctionnels<br />

exécutables avec FitNesse<br />

Styles de TDD<br />

- Tests basés sur l’état ou le<br />

comportement<br />

- Utilisation de doublures<br />

- Outside-In vs. Inside-Out<br />

Couverture des tests<br />

- Les axiomes sur la couverture<br />

des tests<br />

- Combien de tests faut-il<br />

écrire ?<br />

- Outils de couverture<br />

Le Refactoring en TDD<br />

- Quelques « mauvaises odeurs »<br />

- Techniques de Refactoring<br />

en TDD<br />

Méthodes et pratiques agiles<br />

Test de code hérité<br />

- Qu’est-ce que du code hérité ?<br />

- Cycle d’évolution du code<br />

hérité<br />

2010 2011<br />

SEPT OCT NOV DEC JAN FEV MARS AVRIL MAI JUIN JUILL AOUT SEPT OCT NOV DEC<br />

PARIS 07 05 02 07 11 08 08 26 14 30 27 25 29<br />

TOULOUSE 28 30 25 03 13<br />

TDD dans des situations<br />

particulières<br />

- Tests en présence d’interface<br />

utilisateur<br />

- Tests en présence de bases de<br />

données<br />

LYON 20 29 21 06 26 28<br />

GRENOBLE 18 24 09 29 17<br />

GENÈVE 11 15 11 26<br />

LUXEMBOURG 04 25 18 05 04<br />

38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!