Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests
Référence : TDR
Durée : 2 jours (14 heures)
Le recueil des besoins et les tests de vérification sont des activités dont la complémentarité a été mise en avant dans de nombreux modèles de développement logiciel. Pour autant ces activités n'en demeurent pas moins problématiques et coûteuses pour de nombreux projets car elles sont symptomatiques de la présence de silos organisationnels et sont alors très souvent un frein à l'agilité.
L'objectif de ce cours est de montrer qu'on peut aller très loin dans l'intégration de ces deux activités en supprimant la frontière entre l'analyse et les tests. Vous apprendrez à éviter la déperdition d'informations dans le processus de recueil de besoins en appliquant les principes du développement dirigé par les tests aux activités de spécifications et d'analyse. Au travers de techniques innovantes, vous apprendrez à écrire des dossiers de spécifications efficaces et interprétables automatiquement par des outils de validation. Vous apprendrez également à mettre en place dans votre organisation les éléments essentiels pour tirer le meilleur bénéfice d'une telle approche.
Ce cours est destiné à ceux qui se posent les questions suivantes : "Peut-on tester fonctionnellement un logiciel sans en attendre le déploiement et sans passer par l'interface graphique ?", "Comment écrire les spécifications pour faciliter le développement et les tests ?", "Peut-on réellement substituer un dossier de spécifications par des cas de test de recette ?", "Quels sont les risques et les limites de cette pratique ?".
Vous allez apprendre à :
- Spécifier par l'exemple
- Découvrir les principes du pilotage par les tests
- Évaluer l'impact sur le fonctionnement d'un projet
- Découvrir les outils accompagnant cette démarche
- Suivre une méthodologie appliquée sur de nombreux projets
- Comprendre comment cette activité s'insère dans une démarche agile
Méthode pédagogique :
50% de travaux pratiques
Audience :
Chefs de projet ou d'équipe, analystes fonctionnels, testeurs, développeurs
Pré-requis :
- Connaissance des concepts objets ou avoir suivi le cours IOT
- La connaissance d'un langage objet (Java) est un plus
Programme :
- Recueil du besoin et gestion des tests
- Les techniques de recueil du besoin
- Le cycle de tests
- Pourquoi aller plus loin ?
- Liens entre tests fonctionnels et tests unitaires
- Qu'est-ce que le Test Driven Development (TDD) ?
- Impact sur la conception
- Parallèle avec l'Acceptance Test Driven Development (ATDD)
- Impact sur l'analyse et la gestion de projet
- Comment faire de l'ATDD ?
- Les grandes étapes
- Les principales techniques
- Les pièges à éviter
- Le Behaviour Driven Development (BDD)
- Outils et mise en oeuvre
- Tour d'horizon des solutions du marché
- FitNesse et GreenPepper
- Création des classes de test
- Liens entre tests et agilité
- Les cycles de développement
- Les méthodes agiles et l'importance des tests
- Comment piloter l'ensemble de son processus par les tests
- Que sont les principes Lean ?
- Changements d'organisation à prévoir
- Quelques critères pour choisir la technique ATDD adaptée
- Quelles modifications par rapport à l'existant ?
- Quels rapprochements au sein des équipes ?