Le TDD (Test Driven Developement) par la pratique

Alors le TDD est certainement le sujet qui fait couler le plus d'ancre dans le domaine du développement logiciel c'est dernières années avec cette question de base : Faut-il faire du TDD ?

Test Driven Development
Test Driven Development

Il s'agit des Tests et de faire des Tests de façon à ce que ces Tests Drivent (dirigent) le Développement. Les pratiques du TDD sont pratiqués autour d'outils comme les Frameworks de Tests Unitaires

Au delà de TDD, je trouve "Crafts" avec "Craft Developer, software craftsmanship (l'artisant du logiciel).

Wikipédia - Software craftsmanship

Vous trouverez l'historique de la méthode Software Craftsmanship, vous découvrirez également l'Uncle Bob (Robert Cecil Martin) qui en 2008 proposa une cinquième valeur au Manifeste Agile :

"craftsmanship over execution" En français: "l'artisanat plus que l'exécution".

Cette fois lorsque l'on évoque l'amélioration continue, il s'agit de l'amélioration des humains qui deviennent meilleurs en partageant leurs pratiques, en travaillant conjointement et de manière collaborative. Ainsi chaque développeur devient artisan développeur en améliorant ses compétences et en devenant soucieux de délivrer de la vraie valeur.

On remarque l'imbrication du TDD de l'Agilité et de Crafts pour mener vers une méthode logicielle complète et globale, coder comme art de vivre. Le Software Craftsmanship est complémentaire à l'Agilité.

Ils ont tous les deux un manifeste, une somme de travaux réunie dans un document cours et réalisé par les meilleurs professionnels du domaine.

D'après ChatGpt voici les grands principes Software Craftsmanship :

  1. Code propre, facilement compréhensible, bien structuré et maintenable en suivant les principes SOLID.
  2. Test Driven Development (TDD), les artisans logiciels écrivent d'abord des tests automatisés avant de coder la fonctionnalité correspondante.
  3. Pair programming : Deux programmeurs travaillent ensemble pour favoriser l'apprentissage mutuel, le partage des connaissances, l'amélioration des compétences et la qualité du code.
  4. Amélioration continue : Les Softwares Craftsmanship participent à des communautés, assistent à des conférences et partagent leurs connaissances avec d'autres développeurs.
  5. Livraison régulière et itérative : Chercher à fournir des fonctionnalités de manière régulière et fréquente, en se basant sur les commentaires des utilisateurs.

Collaboration et communication : avec les clients, les utilisateurs et les membres de l'équipe.

► Pour une présentation de la méthode TDD :

Blog de Jean-Baptiste Vigneron - TDD ou le développement piloté par les tests

Dans un développement classique on ajoute du Code et puis on ajoute de Test permettant de tester ce code. Dans la méthode TDD on écrit d'abord le Test puis le code qui doit vérifier ce Test.

► Pour en terminer avec cette question de ; faut-il faire du TDD, je vous laisse avec le Podcast de Benoit Gantaume :

Artisan Développeur - TDD sous stress avec Khaled Souf

Et voilà, en partant de TDD, on est passé par l'Agilité, on a poursuivit avec Crafts et Software Craftsmanship, nous avons fait un tour des nouveautés sur les méthodologies modernes de développement logiciel.

N'hésitez pas à commenter.