我从事音频处理工作,通常使用Matlab进行原型设计,使用C++进行实现。最近,我一直在阅读有关TDD的资料。我查看了一些基本示例,并对这种编程范式非常热衷。
目前,我使用的是我认为是全局“测试辅助”方法。为此,我用C++编写信号处理模块,然后制作一个简单的Matlab mex文件,可以与我的类进行接口交互。随后,我添加功能,检查结果是否与等效的Matlab脚本匹配。这种方法还算可以,但随着系统发展,测试很快就变得过时了。此外,我正在测试整个系统,而不只是单元。
使用一个已经建立起来的TDD框架会很好,因为我可以拥有一个测试套件,但我不知道如何在没有与被测试代码同样复杂的测试的情况下,验证处理块的功能。如果测试成为自我实现预言的形式,那么如何生成C++测试中的参考信号来验证处理块呢?
如果有人在这个领域有经验,或者可以建议我一些方法论,那就太好了。