Просто к вашему сведению: модульное тестирование не эквивалентно TDD. TDD - это процесс, в котором модульное тестирование является элементом.
С учетом вышесказанного, если вы хотите внедрить модульное тестирование, вы можете сделать несколько вещей:
Весь новый код / улучшения протестированы
Таким образом, вам не нужно проходить и модульное тестирование всего, что уже существует, поэтому начальный уровень внедрения модульного тестирования намного меньше.
Проверьте отдельные фрагменты данных
Тестирование чего-то, что может содержать большие объемы данных, может привести ко многим крайним случаям и пробелам в покрытии теста. Вместо этого рассмотрим вариант 0, 1, много. Протестируйте «пакет» с 0 элементами, 1 элементом и множеством элементов. В случае 1 элемента проверьте различные перестановки, в которых могут быть данные для этого элемента.
Оттуда проверьте граничные случаи (верхние границы для размера отдельных элементов и количества элементов в пакете). Если вы регулярно запускаете тесты и у вас есть длительные тесты (большие партии?), Большинство организаторов тестов допускают категоризацию, чтобы вы могли запускать эти тесты отдельно (ночью?).
Это должно дать вам прочную базу.
Используя фактические данные
Подача «фактических» ранее использованных данных, как вы делаете сейчас, не плохая идея. Просто дополните его хорошо сформированными данными испытаний, чтобы вы сразу узнали конкретные точки отказа. Если вы не можете обработать фактические данные, вы можете проверить результаты пакетного процесса, произвести модульный тест для репликации ошибки, а затем вы вернетесь к красному / зеленому цвету / рефактору с полезными случаями регрессии.