I mjukvarutestning står TLC för
testdriven inlärning . Det är ett relativt nytt tillvägagångssätt som betonar lärande genom testning. Istället för att skriva kod först och sedan skriva test efteråt (den traditionella testdrivna utvecklingen eller TDD-metoden) fokuserar TLC på att skriva tester * för att utforska * problemdomänen och driva inlärningsprocessen.
Så här skiljer sig det från TDD:
* TDD: Börjar med en tydlig förståelse av kraven och använder tester för att vägleda implementeringen av en känd lösning. Testerna är utformade för att verifiera att koden uppfyller de fördefinierade specifikationerna.
* TLC: Börjar med en mindre tydlig förståelse av problemet. Tester skrivs för att utforska problemutrymmet, upptäcka krav och lära sig att lösa problemet effektivt. Testerna fungerar som en form av experiment och återkopplingsslinga. Fokus ligger mindre på "testning" i traditionell mening och mer på "lärande".
I huvudsak är TLC iterativ och utforskande. Du kan skriva ett test som du förväntar dig att misslyckas, upptäcka oväntat beteende eller saknade krav på vägen. Denna process leder till en djupare förståelse av problemet och informerar utformningen av lösningen.
TLC är särskilt användbar för:
* komplexa eller dåligt förstått problem: Där kraven är vaga eller utvecklas.
* Att lära sig en ny teknik eller domän: Testerna hjälper till att förstå komplikationerna i systemet som testas.
* utforskande testning: När du vill avslöja oväntat beteende eller kantfall.
Medan TLC delar likheter med undersökande testning, är den mer strukturerad och involverar skrivkod (om än ofta liten, kastad kod) för att bevisa eller motbevisa hypoteser som representeras av testerna. Det betonar * lärande * aspekten mer uttryckligen.