使用物理设备进行持续集成测试

时间:2012-01-12 10:17:14

标签: continuous-integration

我一直在想你在处理物理设备时如何进行CI式测试。

我想你有一套测试,以及可以运行它们的设备池。 此外:

  • 某些测试可能需要特定的设备型号。
  • 某些测试可能需要使用多个设备。

哪些CI服务器支持此功能?

我仍然对那些有本地或通过插件获得部分支持的人感兴趣,因为我对它是如何完成感兴趣。

3 个答案:

答案 0 :(得分:1)

持续集成使团队能够整合和扩展。经常测试他们的工作。自动构建旨在编译,链接和运行单元测试。您希望CI快速运行,尤其是在每次办理登机手续时都要运行它。这就是为什么您希望将CI活动限制为仅对构建和单元测试进行简单确认。在质量保证(QA)测试中,您所提出的问题似乎更多......并且将质量保证失败混合到您的CI工作中会削弱开发工作的进展。

因此,我更多地认为与CI相关的活动并不依赖于最终物理机,所述工作最终可能会迁移到。

现在......这并不意味着你不能接受CI编译的软件包并针对某些最终的目标机器运行....但是再次......这实际上被认为是一个单独的活动。

这似乎在以下article by Martin Fowler中得到了强制执行。

请注意,他没有谈论最终目标设备......只讨论构建机器。

答案 1 :(得分:1)

我可以建议测试管理器是微软TFS套件的一部分。虽然我知道有许多连接器,但我没有尝试过与Windows不同的许多不同环境。对于基于Windows的环境,我相信它可以满足大多数需求。

我将它用于夜间构建以进行烟雾测试(打开它,看看是否有烟雾出现)但你必须小心保持测试小,以便在几小时而不是几天完成它们,如果你想让它成为CI的一部分。

然后,当您的质量足够好时,您可以根据需要进行回归测试和集成测试。

答案 2 :(得分:1)

我不会太熟悉CI系统应该做什么或不做什么。相反,我会专注于你试图解决的问题。听起来这个问题是为了促进多平台上的开发。您可以使用持续集成的概念并添加到它成功解决该问题。我知道,因为我过去做过。

我为需要在4个不同平台(nt,wince,linux-arm,linux-x86)上成功编译和测试的代码实现了构建系统。 CI服务器将:

  • 使用linux和winnt构建服务器编译(和交叉编译)
  • 然后将编译的测试和支持库复制到适当的设备并执行自动测试运行。
  • 测试套件完成后,日志将被复制回来,(或者它被写入网络安装的fs)
  • 如果测试套件成功,我们会标记源代码,并打包lib和可执行文件。

在提交之前,这个平台被重新用于开发人员验证。开发人员将运行部分构建并测试(仅重新编译更新的源并重新运行这些测试)。 CI将执行完整的构建(从头开始)

我们的构建非常快,因为我们有一个适当的DAG用于构建依赖项。这允许在平台构建中进行并发编译。每个平台构建也是并发的。因此,部分构建需要几秒钟,完整构建需要约30分钟。我们的构建服务器非常强大(针对快速编译进行了优化),代码库大小适中(我不记得统计数据)