Solo un FYI: las pruebas unitarias no son equivalentes a TDD. TDD es un proceso en el que las pruebas unitarias son un elemento.
Dicho esto, si estaba buscando implementar pruebas unitarias, hay varias cosas que podría hacer:
Todos los nuevos códigos / mejoras son probados
De esta manera, no tiene que pasar y probar la unidad todo lo que ya existe, por lo que el obstáculo inicial de implementar la prueba de la unidad es mucho menor.
Probar piezas individuales de datos
Probar algo que puede contener grandes cantidades de datos puede generar muchos casos extremos y lagunas en la cobertura de la prueba. En cambio, considere la opción 0, 1, muchos. Pruebe un 'lote' con 0 elementos, 1 elemento y muchos elementos. En el caso de 1 elemento, pruebe las diversas permutaciones en que pueden estar los datos para ese elemento.
A partir de ahí, pruebe los casos límite (límites superiores al tamaño de los elementos individuales y la cantidad de elementos en el lote). Si ejecuta las pruebas regularmente y tiene pruebas de ejecución prolongada (¿lotes grandes?), La mayoría de los corredores de prueba permiten la categorización para que pueda ejecutar esos casos de prueba por separado (¿todas las noches?).
Eso debería darte una base sólida.
Usando datos reales
Introducir datos 'reales' previamente utilizados como lo está haciendo ahora no es una mala idea. Simplemente complételo con datos de prueba bien formados para que conozca de inmediato puntos específicos de falla. Si no se manejan los datos reales, puede inspeccionar los resultados del proceso por lotes, producir una prueba unitaria para replicar el error y luego volver a estar en rojo / verde / refactor con casos de regresión útiles.