Développement piloté par les tests (TDD)

Les avantages du développement piloté par les tests (Test-Driven Development) sont les suivants :
  • développer un logiciel plus proche des besoins de l'utilisateur;
  • encourager l'équipe à développer du logiciel supporté par une bonne conception orientée objet : forte cohésion et faible couplage;
  • favoriser la confiance de l'équipe pour maintenir le logiciel grâce à un jeu de tests de non-régression;
  • avoir une documentation toujours à jour sur le comportement du logiciel (tests).
Sommaire
1. Développement piloté par les tests (TDD)
1.1. Définition
1.2. Des références sur le TDD
1.2.1. Livres
1.2.2. Blogues et comptes Twitter
1.2.3. Vidéos
1.2.4. Articles
1.2.5. Outils, cadriciels (frameworks) et bibliothèques
1.2.6. Nos offres de formation
1.2. Extensions du TDD
1.2.1. Développement piloté par le comportement (BDD) 
1.2.2. Spécifications éxécutables

Le développement piloté par les tests (TDD) est une technique de conception et d'évolution logicielle.

Il s'appuie sur la répétition d'un cycle de développement court :
  1. écrire un test automatisé qui définit l'amélioration désirée. Ce test doit échouer;
  2. écrire le code qui permet de faire passer le test;
  3. enfin, remanier le code en vue de le porter vers un standard de qualité acceptable.
Les concepts abordés dans Growing Object-Oriented Software, Guided by Tests couvrent une grande partie de la connaissance associée au TDD :
  • développement logiciel comme un processus d'apprentissage;
  • maintien du cycle de développement piloté par les tests;
  • faux objets (mock objects);
  • conception orientée objet;
  • cadriciels de test (JUnit, jMock);
  • l'architecture hexagonale d'Alistair Cockburn;
  • appui sur du code tiers (third-party code);
  • gestion des erreurs;
  • lisibilité des tests;
  • tests d'interface graphique;
  • tests de persistence;
  • tests asynchrones.

Les extensions du TDD incluent : 

  • Le développement piloté par le comportement (Behavior-Driven Development ou BDD) : Les tests sont écrits dans un langage naturel que les non-programmeurs peuvent comprendre.
  • Les spécifications exécutables (executable specifications) : Les tests sont écrits dans un langage naturel que les non-programmeurs peuvent comprendre et écrire.
  • Le développement piloté par les tests d'acceptation (Acceptance Test-Driven Development ou ATDD) : Les critères spécifiés par le client sont automatisés sous forme de tests d'acceptation qui pilotent ensuite le cycle traditionnel de développement piloté par les tests unitaires (Unit Test-Driven Development ou UTDD).

1.3.1. Livres

1.3.2. Blogues et Twitter

1.3.3. Vidéos

1.3.4. Articles

1.3.5 Outils, cadriciels (frameworks) et bibliothèques

1.3.6 Notre offre de formation





Le développement piloté par le comportement (BDD) est une méthode Agile qui encourage la collaboration entre les développeurs, les responsables de la qualité, les intervenants non techniques et les entreprises participant à un projet de développement logiciel. Il a été conçu en 2003 par Dan North comme une réponse au Développement piloté par les tests

Articles
Vidéos Outils

L'équipe de Pyxis