Thomas Bandt, développeur et entrepreneur, a récemment écrit un billet de blog où il se demande pourquoi les gens qui parlent du développement dirigé par les tests (TDD : Test Driven Development) se partagent souvent en deux groupes : « les fondamentalistes qui exigent qu’aucune ligne de code ne doive être écrite sans un test, et les renieurs, ceux qui se refusent carrément à utiliser le TDD ».
Dans son article, il raconte son expérience personnelle, où il avait réalisé plusieurs projets, dont certains, avec un développement TDD, et d’autres sans TDD. Ce qu’il avait remarqué, c’est qu’aucun de ces projets n’avait échoué. « Pour que les choses soient testables, vous avez besoin de plus d'infrastructures et souvent un niveau d'abstraction plus élevé, même pour les choses les plus simples ». Toutefois, ceci même s’il est souhaitable dans certains cas complexes, n’est pas justifié pour les projets simples et moins ambitieux, continu-t-il.
Il explique ce point de vue par le rapport coût-bénéfice : « en couvrant des choses simples comme une action de contrôleur ASP.NET MVC qui retourne simplement une vue, ou une directive AngularJS qui vient manipuler un élément DOM, la valeur que vous obtenez en retour pour vos tests automatisés est beaucoup trop faible par rapport à l'énorme effort que vous avez à faire au lieu de simplement tester manuellement », surtout lorsque cela implique de « refactoriser le code d’un test à cause d’un changement de conception ».
Selon lui, il faudrait utiliser le développement piloté par les tests uniquement lorsque l’on veut valider des algorithmes ou des parties critiques d’une application, ou lorsqu’on a des dépendances dont on n’a pas confiance ou qu’on ne connaît pas encore comme, par exemple, une API tierce ou un nouveau provider de base de données.
« Je pense que s’était Steve Sanderson qui avait déclaré sur son blog qu'il utilisait les tests seulement lorsqu’il ne pouvait pas analyser [son code] facilement pour trouver un bug », déclare Thomas Bandt, « et je pense qu'il a raison » finit-il par avouer.
Source : Blog de Thomas Bandt
Et vous ?
Que pensez-vous du TDD ?
Êtes-vous d’accord avec l’avis de Thomas Bandt ?
Dans quel cas devrait-on utiliser le développement piloté par les tests ?
« TDD est un outil, pas une religion », déclare un développeur
Dans quel cas devrait-on utiliser le développement piloté par les tests ?
« TDD est un outil, pas une religion », déclare un développeur
Le , par Amine Horseman
Une erreur dans cette actualité ? Signalez-nous-la !