Bei Software-Tests steht TLC für
Test-gesteuerte Lernen . Es ist ein relativ neuer Ansatz, der das Lernen durch Tests betont. Anstatt zuerst Code zu schreiben und anschließend Tests anschließend zu schreiben (die traditionelle testgesteuerte Entwicklung oder TDD-Ansatz), konzentriert sich TLC auf das Schreiben von Tests *, um die Problemdomäne zu untersuchen und den Lernprozess voranzutreiben.
So unterscheidet es sich von TDD:
* tdd: Beginnt mit einem klaren Verständnis der Anforderungen und verwendet Tests, um die Implementierung einer bekannten Lösung zu leiten. Die Tests sollen überprüfen, ob der Code den vordefinierten Spezifikationen erfüllt.
* tlc: Beginnt mit einem weniger klaren Verständnis des Problems. Tests werden geschrieben, um den Problemraum zu untersuchen, die Anforderungen zu entdecken und zu lernen, wie das Problem effektiv gelöst werden kann. Die Tests wirken als Form der Experimente und Rückkopplungsschleife. Der Fokus liegt weniger auf "Tests" im traditionellen Sinne als vielmehr auf "Lernen".
Im Wesentlichen ist TLC iterativ und explorativ. Sie können einen Test schreiben, von dem Sie erwarten, dass Sie auf dem Weg zu scheitern sind, unerwartetes Verhalten oder fehlende Anforderungen entdecken. Dieser Prozess führt zu einem tieferen Verständnis des Problems und informiert das Design der Lösung.
TLC ist besonders nützlich für:
* komplexe oder schlecht verstandene Probleme: Wo die Anforderungen vage oder sich weiterentwickeln.
* Eine neue Technologie oder Domäne lernen: Die Tests helfen dabei, die Feinheiten des getesteten Systems zu verstehen.
* Erkundungsuntersuchungen: Wenn Sie unerwartetes Verhalten oder Randfälle aufdecken möchten.
Während TLC Ähnlichkeiten mit explorativen Tests aufweist, ist es strukturierter und beinhaltet das Schreiben von Code (wenn auch oft klein, wegwerfbar), um Hypothesen zu beweisen oder zu widerlegen, die durch die Tests dargestellt werden. Es betont den Aspekt des * Lernens * explizit.