« Introduction à TDD et BDD » : différence entre les versions

De Wiki Agile
Aucun résumé des modifications
Ligne 23 : Ligne 23 :
[[Fichier:Write-failing-test.png|border|800px]]<br/>
[[Fichier:Write-failing-test.png|border|800px]]<br/>
<br/>
<br/>
C'est le cycle TDD classique, popularisé dans le livre de Nat Pryce et Steve Freeman [https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627 Growing Object-Oriented Software, Guided by Tests]. On le décrit généralement comme "écrire un test qui échoue" et ensuite faire passer le test avec succès et ensuite refactorer ; vous continuez à tourner dans cette boucle. C'est le cycle du TDD, c'est très simple. Il y a trois petits titres ; il y a des flèches colorées entre elles. Mais à l'intérieur de ce schéma, il y a beaucoup de complexité ou du moins beaucoup de subtilités.<br/>
C'est le cycle TDD classique, popularisé dans le livre de Nat Pryce et Steve Freeman : [https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627 Growing Object-Oriented Software, Guided by Tests]. On le décrit généralement comme "écrire un test qui échoue" et ensuite faire passer le test avec succès et ensuite refactorer ; vous continuez à tourner dans cette boucle. C'est le cycle du TDD, c'est très simple. Il y a trois petits titres ; il y a des flèches colorées entre elles. Mais à l'intérieur de ce schéma, il y a beaucoup de complexité ou du moins beaucoup de subtilités.<br/>
<br/>
<br/>
[[Fichier:Tdd-bullet-points.png|border|800px]]<br/>
[[Fichier:Tdd-bullet-points.png|border|800px]]<br/>
Ligne 38 : Ligne 38 :
  ''Le refactoring, par définition, ne modifie pas le comportement du code observable de l'extérieur.''
  ''Le refactoring, par définition, ne modifie pas le comportement du code observable de l'extérieur.''
<br/>
<br/>
==Qu'est-ce que le BDD ?==
==Qu'est-ce que le BDD ?==
Comme je l'ai expliqué assez rapidement, le TDD est bien limité, circonscrit, confiné. Le BDD, cependant, ne l'est pas ; c'est un peu bizarre. Personne ne sait exactement ce que cela signifie. Matt Wynne, qui travaille avec moi chez Cucumber Limited et qui travaille en BDD depuis un certain temps, a essayé d'en distiller les principes. C'est lui qui a trouvé cette phrase :<br/>
Comme je l'ai expliqué assez rapidement, le TDD est bien limité, circonscrit, confiné. Le BDD, cependant, ne l'est pas ; c'est un peu bizarre. Personne ne sait exactement ce que cela signifie. Matt Wynne, qui travaille avec moi chez Cucumber Limited et qui travaille en BDD depuis un certain temps, a essayé d'en distiller les principes. C'est lui qui a trouvé cette phrase :<br/>