Nos testes de software, o TLC significa
aprendizado orientado a testes . É uma abordagem relativamente nova que enfatiza o aprendizado através dos testes. Em vez de escrever o código primeiro e depois escrever testes posteriormente (o desenvolvimento tradicional orientado a testes ou abordagem de TDD), o TLC se concentra em escrever testes * para explorar * o domínio do problema e direcionar o processo de aprendizado.
Veja como isso difere do TDD:
*
tdd: Começa com um entendimento claro dos requisitos e usa testes para orientar a implementação de uma solução conhecida. Os testes foram projetados para verificar se o código atende às especificações predefinidas.
*
tlc: Começa com um entendimento menos claro do problema. Os testes são gravados para explorar o espaço do problema, descobrir requisitos e aprender a resolver o problema de maneira eficaz. Os testes atuam como uma forma de experimentação e loop de feedback. O foco está menos em "testes" no sentido tradicional e mais em "aprendizado".
Em essência, o TLC é iterativo e exploratório. Você pode escrever um teste que espera falhar, descobrindo comportamento inesperado ou faltando requisitos ao longo do caminho. Esse processo leva a uma compreensão mais profunda do problema e informa o design da solução.
TLC é particularmente útil para:
*
problemas complexos ou mal compreendidos: Onde os requisitos são vagos ou evoluindo.
*
Aprendendo uma nova tecnologia ou domínio: Os testes ajudam a entender os meandros do sistema que está sendo testado.
*
Teste exploratório: Quando você deseja descobrir comportamentos inesperados ou casos de borda.
Embora a TLC compartilhe semelhanças com testes exploratórios, ele é mais estruturado e envolve o código de escrita (embora muitas vezes pequeno e descartável) para provar ou refutar hipóteses representadas pelos testes. Ele enfatiza o aspecto * aprendizado * mais explicitamente.