|
Dans le domaine des tests logiciels, TLC signifie Test-Driven Learning. . Il s'agit d'une approche relativement nouvelle qui met l'accent sur l'apprentissage par les tests. Au lieu d'écrire d'abord du code, puis d'écrire des tests ensuite (l'approche traditionnelle de développement piloté par les tests ou TDD), TLC se concentre sur l'écriture de tests *pour explorer* le domaine problématique et piloter le processus d'apprentissage.
Voici en quoi il diffère du TDD :
* TDD : Commence par une compréhension claire des exigences et utilise des tests pour guider la mise en œuvre d’une solution connue. Les tests visent à vérifier que le code répond aux spécifications prédéfinies.
* TLC : Commence par une compréhension moins claire du problème. Les tests sont rédigés pour explorer l'espace du problème, découvrir les exigences et apprendre à résoudre le problème efficacement. Les tests agissent comme une forme d’expérimentation et de boucle de rétroaction. L'accent est moins mis sur les « tests » au sens traditionnel du terme que sur « l'apprentissage ».
Essentiellement, TLC est itérative et exploratoire. Vous pouvez rédiger un test qui devrait échouer et découvrir un comportement inattendu ou des exigences manquantes en cours de route. Ce processus conduit à une compréhension plus approfondie du problème et éclaire la conception de la solution.
TLC est particulièrement utile pour :
* Problèmes complexes ou mal compris : Lorsque les exigences sont vagues ou évolutives.
* Apprendre une nouvelle technologie ou un nouveau domaine : Les tests aident à comprendre les subtilités du système testé.
* Tests exploratoires : Lorsque vous souhaitez découvrir des comportements inattendus ou des cas extrêmes.
Bien que TLC partage des similitudes avec les tests exploratoires, il est plus structuré et implique l'écriture de code (bien que souvent petit, du code jetable) pour prouver ou réfuter les hypothèses représentées par les tests. Il met l’accent plus explicitement sur l’aspect *apprentissage*.
|