Estou tentando adotar o TDD na minha prática diária de programação. Uso-o no trabalho com muita eficiência, mas estou tendo problemas com meus projetos pessoais, onde estou usando alguns algoritmos complexos.
O algoritmo específico que me faz fazer essa pergunta é o Extended Kalman Filter. É complexo o suficiente para não estar confiante no código que escrevi, mas é simples o suficiente para dificultar a divisão.
Eu poderia escrever um teste para o algoritmo com uma entrada e a saída esperada, mas vou fazer muita codificação de espancamento e espingarda no meio, porque não tenho confiança nessas etapas intermediárias.
Se você trabalhou com algoritmos complexos razoáveis e usa TDD, qual é a sua abordagem?