【发布时间】:2009-02-25 11:04:18
【问题描述】:
我工作的所有项目都与一个硬件接口,这通常是该软件的主要目的。有什么有效的方法可以将 TDD 应用到适用于硬件的代码?
更新:抱歉,我的问题没有更清楚。
我使用的硬件是从相机捕获图像的图像采集卡。然后我处理这些图像,显示它们并将它们保存到磁盘。我可以使用存储在磁盘上的先前捕获的图像来模拟捕获图像后发生的所有处理。
但我要测试的是与硬件的实际交互。例如,当没有连接相机时,我的软件是否正确处理,它是否正确启动和停止抓取等。但这与硬件紧密相关,我不知道当硬件不存在时如何测试它或如果我什至应该尝试这样做?
第二次更新:我也在寻找一些具体的例子来说明人们是如何处理这种情况的。
【问题讨论】:
-
您的问题只是关于测试与硬件接口的代码,还是关于以这种方式测试硬件?
-
我猜两者都是,但我与硬件交互的代码是相当薄的一层。它只是调用实际控制硬件的第 3 方库。
-
这个问题的真正症结在于,如果所讨论的硬件能够完全用软件描述,那么你就不需要硬件了。 :P