| Lieu | Date | # de jours | Formateur(s) | Prix | |
| Paris | 04/04/2012 | 3 jours | Patrice Petit, CST & Coach Agile | 1490 €HT | ![]() |
| Paris | 06/06/2012 | 3 jours | Patrice Petit, CST & Coach Agile | 1490 €HT | ![]() |
| Paris | 08/10/2012 | 3 jours | Patrice Petit, CST & Coach Agile | 1490 €HT | ![]() |
| Précisions techniques | |
Référence | TCP |
Public | Développeur, Chef de projet, Coach/ScrumMaster |
Moyens pédagogiques | Théorie : 30% - Pratique : 70% |
Sessions | 8 stagiaires maximum |
Pré-requis | 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. |
Thème
Présentation du sujet
Cette formation est recommandée à 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 avec pour objectif de contrôler chaque ligne ou chaque fonctionnalité contenu dans son code. Et, 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 par exemple à faire de la conception simple, du refactoring, de la conception émergeante, à implémenter des Mock et à utiliser le Test Driven Requirement ou le Behaviour Driven Development.
Remarques :
- Pour le langage comme C++, des techniques spécifiques de sécurité logicielle (ou anti-hacking) seront étudiées afin de prendre en considération la complexité de certain système telle que : OLE, DLL, Plug-In.
- Pour le langage comme Java/J2ee, des techniques spécifiques côté serveur seront étudiées en détail.
- Pour le langage comme .Net, des techniques spécifiques côté serveur et application seront étudiées en détail et des principes de logiques proposées.
Objectif
- 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.
Programme indicatif
- Introduction
- Origine du TDD
- L'agilité et les tests
- Les limitations du débogueur
- Etat de l'art
- Industrialiser, c'est tester !
- Le besoin de tester : Les types de tests
- Définition et Principes du TDD
- Théorie
- Cycle de développement
- La bibliothèque CppUnit,
- Les 3A
- Gestion des Exceptions
- Refactoring et Conception émergeante
- Composition d'un projet contenant des tests
- Problématique d'exhaustivité des tests
- Gestion des scénarii
- Les meilleures pratiques de développement agiles
- Gestion des conditions limites
- Framework de tests
- Techniques avancées avec le TDD
- TDD sans limite : les techniques de « Hook »
- Corriger des anomalies
- Gérer la montée en charge et la sécurité des produits NTIC
- Gestion de la sécurité logicielle
- Gestion de la performance
- Stress tests
- Les objects Mock et Stub
- La théorie
- Application de la théorie sans utiliser de bibliothèque
- Découverte des bibliothèques du marché
- Les Outils
- Les outils OpenSource et commerciaux
- Architecture matérielle de tests
- Etude d'un outil d'intégration continue
- Etude et comment choisir un intégrateur continu (parmi lesquels, CruiseControl)
- Etude d'un outil de couverture de test
- Etude d'un outil de gestion des tests et de communication entre MOA et MOE : Fitnesse
- Les qualités du TDD
- Gains du TDD ?
- Description des cas d'utilisation
- Description des différents scénarii
- Intérêt de l'industrie, des NTIC et des autres R&D
- Les nouveaux enjeux industriels
- Conclusion

Patrice Petit, CST & Coach Agile