Je relis Refactoring par Martin Fowler. Dans le chapitre 4, Building Tests, je suis tombé sur le passage suivant.
En fait, l'un des moments les plus utiles pour écrire des tests est avant de commencer la programmation. Lorsque vous devez ajouter une fonctionnalité, commencez par écrire le test. Ce n'est pas aussi arriéré qu'il y paraît. En écrivant le test, vous vous demandez ce qui doit être fait pour ajouter la fonction. L'écriture du test se concentre également sur l'interface plutôt que sur l'implémentation (toujours une bonne chose). Cela signifie également que vous avez un point clair auquel vous avez fini de coder - lorsque le test fonctionne.
Bien que je sois maintenant un partisan du développement piloté par les tests, je ne me souvenais pas d'avoir été initié au concept lorsque j'ai lu ce livre il y a près de 5 ans.
Selon Amazon.com, ce livre a été initialement publié le 8 juillet 1999. Est-ce la première référence publiée à la programmation test-first ou y a-t-il quelque chose encore plus tôt?
Réponses:
Le développement piloté par les tests est similaire à la conception par contrat, où vous avez des conditions préalables, des invariants et des post-conditions.
Les méthodes formelles datent d'au moins 1983 et ont été utilisées pour des systèmes critiques pour la sécurité tels que le métro parisien sans conducteur utilisant la méthode B:
Celles-ci pourraient être certaines des choses à partir desquelles Kent Beck "a aidé à lancer ... la redécouverte de la programmation test-first".
Plus précisément: Apparemment, le projet Mercury de la Nasa au début des années 1960 était le premier projet logiciel utilisant un développement piloté par les tests et d'autres pratiques agiles. Je n'ai trouvé aucune documentation préliminaire, mais voici un rapport de 2003 qui cite la communication des membres du projet:
Le reste du rapport est également intéressant, il poursuit:
En plus des tests automatisés, le rapport de 1968 préconise le codage et les tests parallèles, sinon les tests en premier:
la source
Jon Bently dans Programming Pearls (publié à l'origine en 1986) ne mentionne pas spécifiquement la programmation Test-First. Mais dans le chapitre "Writing Correct Programs", il décrit l'écriture d'un algorithme en définissant d'abord les conditions préalables, les invariants et les post-conditions, et dans le chapitre suivant décrit un cadre de test automatisé.
Ce n'est pas tout à fait un test d'abord, mais il préparait définitivement une partie du terrain.
Également,
CIO Magazine, mars 1993, Bug Busters , par Lucie Juneau, p. 84 :
la source
C'était Kent Beck , dans son livre Extreme Programming , également publié en 1999 .
la source