Я работаю с манипуляциями с аудио, как правило, используя Matlab для прототипирования и С++ для реализации. Недавно я читал TDD. Я рассмотрел несколько основных примеров и довольно восторженно отношусь к парадигме.
В настоящий момент я использую то, что я бы назвал глобальным подходом, основанным на тестах. Для этого я пишу блок обработки сигналов в С++, а затем создаю простой файл с текстом Matlab, который может взаимодействовать с моими классами. Я впоследствии добавляю функциональность, проверяя, что результаты совпадают с эквивалентным Matlab script, когда я иду. Это работает нормально, но тесты быстро устаревают по мере развития системы. Furtermore, я тестирую всю систему, а не только единицы.
Было бы неплохо использовать установленную инфраструктуру TDD, где у меня может быть набор тестов, но я не вижу, как я могу проверить функциональность блоков обработки без тестов, которые столь же сложны, как и тестируемый код. Как я могу сгенерировать опорные сигналы в тесте С++ для проверки блока обработки без проверки, являющейся формой самоисполняющегося пророчества?
Если у кого-то есть опыт в этой области или вы можете предложить некоторые методологии, которые я мог бы прочитать, тогда это было бы здорово.