1
Cycle de vie et projets agiles
- Les opportunités offertes par le développement agile de logiciels et de produits.
- Motivation de l'Agilité. Valeurs et principes, accepter le changement des besoins clients.
- La démarche agile, itérative et incrémentale.
- Le test dans le développement Agile.
Mise en situation
Atelier en groupe permettant de comprendre la démarche du test Agile.
2
Expression du besoin dans le projet Agile
- Identifier la valeur du point de vue des utilisateurs, tester ses idées, Lean Startup.
- Bien connaître ses utilisateurs, tester les catégories d'utilisateurs, créer des Personas, UX.
- Faire un impact, relier les actions des acteurs du projets à ses objectifs et utilisateurs, Impact Mapping.
- Découper les besoins sous la forme d'histoires utilisateurs, User Stories.
- Simplification, priorisation, rédaction et organisation des histoires utilisateurs.
Travaux pratiques
Elaborer l'expression du besoin d'une application à développer (Story Mapping). Prioriser les histoires utilisateurs.
3
Le modèle ATDD, les spécifications exécutables
- Le principe d'ATDD (Acceptance Test Driven Development) : développement piloté par les tests d'acceptation.
- BDD (Behavior Driven Development) : développement piloté par les comportements.
- Spécifications par l'exemple, spécifications executables, tests de non-régression, tests fonctionnels.
- Cycle du projet pour les spécifications exécutables.
Travaux pratiques
Découverte d'un domaine métier et rédaction de spécifications par l'exemple. Démonstration de l'outillage.
4
Définition et principes du TDD, développement piloté par les tests
- Typologie des tests.
- Origine du TDD (Test Driven Development).
- Cycle de développement du TDD. Red Green Refactor, baby steps.
- Refactoring et conception émergente.
- Couverture de tests.
Démonstration
Démonstration d'un développement en Java piloté par les tests. Démonstration de refactoring sur un code complexe.
5
Intégration continue
- Les différents composants de l'intégration continue.
- Mise en place de la plateforme d'intégration continue.
- Intégration continue et métrique.
Travaux pratiques
Démonstration de Jenkins et de SonarQube.