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.
- La bibliothèque NUnit.
- Les 3A.
- Gestion des Exceptions.
- Refactoring.
- Conception émergente.
- Test Driven Design.
- Gestion des scénarii.
Travaux pratiques
Conception et intégration de tests dans le cycle de développement d?un projet.
Les meilleures pratiques de développement agiles
- Gestion des conditions " limites ".
- Framework de tests.
- TDD et gestion des données SGBDR.
- TDD et gestion des données de type Fichier et Repository.
- TDD et gestion des interfaces graphiques.
Travaux pratiques
Mise en oeuvre des différentes pratiques.
Techniques avancées avec le TDD
- 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.
Travaux pratiques
Gestion des anomalies. Tests de performance.
Les objets Mock et Stub
- La théorie.
- Application de la théorie sans utiliser de bibliothèque.
- Découverte des bibliothèques du marché.
Travaux pratiques
Utilisation des objets Mock.
Techniques d'écriture de tests
- Fixtures.
- Qualités d'un code de test.
- Tests basés sur la responsabilité.
- Tests basés sur l'implémentation.
- Styles de TDD.
Travaux pratiques
Amélioration de la qualité des tests écrits.
Couverture des tests
- La bibliothèque MSTest et ses principales fonctionnalités.
- Les axiomes sur la couverture des tests.
- Types de couverture.
- Combien de tests faut-il écrire ?
- Tests en présence d'héritage.
- Tests de régression.
- Outils de couverture.
Travaux pratiques
Définition d'une politique de couverture de tests. Application.
Test de code hérité
- Qu'est-ce que du code hérité ?
- Cycle d'évolution du code hérité.
- Tests fonctionnels avec Fit et FitNesse.
- Tests fonctionnels et TDD.
- Écriture de tests fonctionnels exécutables avec FitNesse.
Les outils
- Les outils Open Source et commerciaux.
- Architecture matérielle de tests.
- L'intégration continue (SVN, CVS, Sourcesafe).
- Intégrateur continu (parmi lesquels, CruiseControl).
- Couverture de test.
- Etude d'un outil de gestion des tests et de communication entre MOA et MOE : Fitnesse.
Travaux pratiques
Mise en oeuvre de plusieurs outils.
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.