我们有一个数据采集系统,由许多程序和脚本组成,这些程序和脚本在不同的机器上顺序,大多数并行运行。
我们使用Jenkins构建和运行单元测试。
我们现在想要通过使用数据生成器作为系统的输入并检查数据采集链的输出来整体测试系统。
测试系统的步骤的简化视图:
理想情况下,我们将使用不同的配置和输入来运行它。
你会用什么工具来做?或者你会尝试直接在詹金斯做?
答案 0 :(得分:2)
我不认识Jenkins,但我很确定你可以将Robot Framework与它集成。它就像运行Python脚本一样简单。
答案 1 :(得分:2)
根据系统的复杂程度,您可以使用多种工具。通常,您需要某种工作流程,最后可以看到结果。我没有给出一个明确的答案,而是指向一些工具/插件。
詹金斯:
Vagrant:Vagrant基本上是VirtualBox VM上的命令行界面。您可以使用它同时启动多个VM(甚至可以从Jenkins完成)。使用Puppet,Chef,SaltStack等配置程序来设置数据库,配置等。
构建流程工具,例如Run-Time Design Automation(RTDA)提供的工具。商业。这很可能是一种过度杀伤。
答案 2 :(得分:2)
您没有告诉我们您的设置,以便为您提供具体答案。它在很大程度上取决于您使用的语言/环境。您可能需要以下一项或多项的组合:
您很可能遇到慢速测试问题,因为您必须填充数据库,并且可能必须拆分测试作业。一般来说,使这个工作的反馈循环太慢了,你可能需要非常有创意才能获得可接受的循环时间。
在不同的环境中,有不同的工具,有多个堆栈并不是很有趣。 Jenkins在Java堆栈上运行,Puppet& Ruby堆栈上的Chef,并且有类似的Python工具,c& perl堆栈。如果你想拥有最佳的集成问题,或者你自己编写一个堆栈并编写代码,你必须自己决定。两者都可以工作,也不是微不足道的。团队经验很可能是那里的决定因素。
DevOps中的反馈循环比现代CI开发环境差很多,所以你必须做更多的规划和工作。前期研究。你可以在一天内完成的实验次数要低得多,至少20左右,所以第一次工作会很困难。确保你有经验的人这样做。
答案 3 :(得分:1)
如果您的测试服务器具有OpenSSH或其他一些SSH服务器服务,您可以通过SSH Chanel开始测试。
例如,在Java语言中: