Estoy tratando de adoptar TDD en mi práctica de programación diaria. Lo uso en el trabajo de manera muy efectiva, pero tengo problemas con mis proyectos personales en los que uso algunos algoritmos complejos.
El algoritmo particular que me hace hacer esta pregunta es el filtro extendido de Kalman. Es lo suficientemente complejo como para no tener confianza en el código que he escrito, pero es lo suficientemente simple como para que sea difícil de romper.
Podría escribir una prueba para el algoritmo con una entrada y la salida esperada, pero haré un montón de codificación de escopeta en el medio porque no tengo confianza en esos pasos intermedios.
Si ha trabajado con algoritmos complejos razonables y utiliza TDD, ¿cuál es su enfoque?