嵌入式系统的单元测试

时间:2012-04-25 05:32:51

标签: c++ unit-testing

我有一个在最终产品硬件上运行Vxworks的产品。但是在Visual Studio中使用交叉编译器进行开发并下载到硬件进行测试。我打算为产品编写单元测试用例。我的问题是因为我的开发是在Windows上完成的,我如何运行单元测试用例,因为它不会影响实际情况?

欢迎任何输入

3 个答案:

答案 0 :(得分:1)

我怀疑你有通过系统调用与VxWorks进行大量交互的代码。在那里放一层抽象将很难。

您使用的是c还是c ++?

如果您使用的是c ++,则可以识别以下系统的部分:

  • 经常变更;和
    • 主要处理内部数据;或
    • 只涉及周围系统的预定义/形式化子集(例如协议处理或单个PLC控制逻辑模块)。

然后你应该首先在模块和系统的其余部分之间注入c ++接口。该模块应仅与接口/适配器相关。然后你有一个孤立的作品,可以绑在一个视觉工作室测试工具。

然后,您应该尝试识别系统中容易出错的区域,并经常(经常)更改或审核。您可能永远不会在目标系统上达到甚至50%的覆盖率,但是您可以实现一个系统,其中90%的日常编码发生在覆盖的40%的代码库中。

答案 1 :(得分:0)

没有额外的努力是不可能的(新项目;编译两次;对于您的主机并让它在您的主机上运行)在这种情况下,搜索支持您的单元测试目标的开发环境,例如http://www.parasoft.com/jsp/products/embedded_cpptest.jsp

继续阅读parasoft C++ unit test question

答案 2 :(得分:0)

你就像其他任何系统一样:

  • 编写单元测试
  • 编译并加载到目标系统
  • 运行单元测试
  • 验证结果

它运行的地方并不重要。最大的困难在于具有有限输出能力的嵌入式系统。但即使只有一个LED,仍然可以发出成功和失败的信号。只有它比显示“通过”更抽象。