Même si je me suis sevré du réseau pendant ma semaine de vacances, j’ai vu passer régulièrement cette citation sur twitter :
Be humble about what tests can achieve. Tests don’t improve quality: developers do.
Et même si je suis absolument d’accord, elle m’a fait réfléchir à la signification que je donne aux tests.
J’ai commencé par me dire que si les tests ne permettaient effectivement pas d’améliorer la qualité du code, ils permettaient cependant à minima de la maintenir au cours du temps.
Ils sont en effet les garants du fait qu’une modification effectuée sur le code n’a pas altéré son fonctionnement, du moins en ce qui concerne les fonctionnalités qu’ils prennent en compte.
À première vue, les tests sont donc pour moi un indicateur prenant la forme d’une alarme visuelle telle qu’un gyrophare géant qui passe du vert au rouge lorsqu’elle détecte une anomalie dans le comportement du code.
Arrivé à ce point de mes réflexions, j’aurais pu m’arrêter là, mais j’ai cependant continué à réfléchir à la nature des tests, car intuitivement, je savais qu’ils étaient pour moi plus qu’un simple système d’alarme, notamment dans le cadre du développement par les tests.