Mokona Guu Center

Quand démarrer les tests ?

Publié le

Les lecteurs de mes articles l'auront probablement deviné : je suis profondément convaincu que les tests automatiques forment un moyen très efficace de développer rapidement des programmes corrects.

Autour de cette conviction, qui vient de mes expériences, se greffent des questions sur comment mettre en place les tests de manière efficaces, comment les écrire, dans quelles conditions et à quel moment.

C'est cette dernière question dont je vais discuter dans cet article : à quel moment commencer à écrire des tests dans l'élaboration d'un projet ?

La réponse rapide est assez simple et directe : dès le début !

Quel est le premier test ?

Quand je dis, dès le début, je parle vraiment du début. Si, en C++, vous partez de zéro avec un main() quasi vide, vous allez créer un exécutable. La création de cet exécutable doit être testé.

Si vous êtes dans un mood TDD, c'est même un test que vous devriez écrire avant même la génération de l'exécutable.

C'est quand plus tard, lorsque votre chaîne de compilation sera cassée et que malgré l'absence d'erreur de compilation, votre exécutable ne sera pas installé, que vous vous remercierez d'avoir mis ce test en place.

Cela fonctionne aussi dans un environnement non compilé. Il y a un moment où vous générer des artefacts ou déployer des éléments. Testez ça le plus tôt possible.

Dans le même ordre d'idée

Si votre projet est sensible aux performances, testez les dès le début. Ajouter de la vérification de performance a posteriori est plus coûteux et complexe que de le faire au fur et à mesure.

De plus, pour peu que l'évolution des performances soit tracée, vous obtenez un historique qui vous permettra de comprendre le moment où les performances ont été problématiques.

Corollaire

Lorsque vous abordez un nouveau projet, ou découvrez un nouvel environnement, la première chose à vérifier est l'existence d'un framework de tests.

Et la deuxième chose est de le mettre en place.

Heureusement, à peu près tous les environnements sérieux disposent de ce genre d'outils, plus ou moins facile à utiliser.