Bij het testen van software staat TLC voor Test-Driven Learning . Het is een relatief nieuwe aanpak die de nadruk legt op leren door middel van testen. In plaats van eerst code te schrijven en daarna tests te schrijven (de traditionele Test-Driven Development- of TDD-aanpak), richt TLC zich op het schrijven van tests *om het probleemdomein te verkennen* en het leerproces aan te sturen.
Hier ziet u hoe het verschilt van TDD:
* TDD: Begint met een duidelijk begrip van de vereisten en gebruikt tests om de implementatie van een bekende oplossing te begeleiden. De tests zijn bedoeld om te verifiëren dat de code voldoet aan de vooraf gedefinieerde specificaties.
* TLC: Begint met een minder duidelijk begrip van het probleem. Tests zijn geschreven om de probleemruimte te verkennen, vereisten te ontdekken en te leren hoe u het probleem effectief kunt oplossen. De tests fungeren als een vorm van experimenteren en feedbackloop. De focus ligt minder op ‘testen’ in de traditionele zin en meer op ‘leren’.
In essentie is TLC iteratief en verkennend. U kunt een test schrijven waarvan u verwacht dat deze niet zal slagen, waarbij u onderweg onverwacht gedrag of ontbrekende vereisten ontdekt. Dit proces leidt tot een dieper begrip van het probleem en vormt de basis voor het ontwerp van de oplossing.
TLC is met name nuttig voor:
* Complexe of slecht begrepen problemen: Waar de vereisten vaag zijn of in ontwikkeling zijn.
* Een nieuwe technologie of domein leren: De tests helpen bij het begrijpen van de fijne kneepjes van het systeem dat wordt getest.
* Verkennende tests: Wanneer u onverwacht gedrag of randgevallen wilt ontdekken.
Hoewel TLC overeenkomsten vertoont met verkennend testen, is het meer gestructureerd en omvat het het schrijven van code (hoewel vaak kleine, wegwerpcode) om de door de tests vertegenwoordigde hypothesen te bewijzen of te weerleggen. Het benadrukt het *leeraspect* explicieter. |