1

I am having a product which runs on Vxworks on end product hardware. But development is done in Visual studio using cross compiler and downloaded to hardware for testing. I am planning to write unit test cases for product. My question is because my development is done on windows and how can I run unit test cases as it is not resemebling real scenario?

Any inputs are welcome

4

3 回答 3

1

我怀疑您的代码通过系统调用与 VxWorks 进行了很多交互。在那里放置一个抽象层会很困难。

你用的是c还是c++?

如果您使用的是 c++,并且您可以识别系统的某些部分:

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

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

然后,您应该尝试识别系统中容易出现错误、受到(频繁)更改或审核的区域。您可能永远无法在目标系统上实现 50% 的覆盖率,但您可以实现一个系统,其中 90% 的日常编码发生在覆盖的 40% 的代码库中。

于 2012-04-25T06:41:53.600 回答
0

您可以像任何其他系统一样执行此操作:

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

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

于 2012-04-25T06:44:34.960 回答
0

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

继续阅读parasoft C++ 单元测试问题

于 2012-04-25T06:08:39.760 回答