我的团队正在开发用于客户端 - 服务器设置的桌面应用程序(混合C++/Tcl)。目前它只是Windows,但很快我们需要将它移植到Linux上。 CruiseControl.NET每晚都从SVN的源代码构建它并将其打包到NSIS安装程序中,但我们没有自动化测试来运行。
几乎不可能添加任何单元测试,但应用程序的集成测试很容易,因为它已经基于脚本。
主要任务是将应用程序安装到3台PC中,对其进行配置(包括复制一些文件),运行它,监控可能的崩溃,等待集成测试完成,收集摘要,发送电子邮件。这可能跟一帮自定义PowerShell脚本来完成,但客户端/服务器Windows桌面应用程序的自动集成测试
- 在将来,我们将要添加更多的功能和更多的测试,并 曾经被认为是一个简单的脚本很快炸毁(像往常一样),所以我想 最小化自定义脚本,如果我需要脚本的东西,我 喜欢bash/cygwin(我不熟悉Python或Ruby)。
- 我希望有一个网络信息中心将报告当前进展,如果 东西失败 - 显示日志
- 我需要一些导师,如果它挂起或崩溃,将监测被测应用程序和 报告
- 我们需要在Linux上进行测试
- 理想情况下,我希望在PC之间协调一些测试步骤(例如,在PC1上运行测试X和在PC2上运行测试Y,等待它们的 都完成,然后在PC1上运行测试Z ,同时监测PC2上没有任何 崩溃等)
所以,我正在寻找一个COTS工具/一套工具,它可以帮助我做到这一点,而且没有陡峭的学习曲线。理想情况下,免费,但如果它真的很好,价格合理,我公司可能会购买许可证。
当NSIS安装程序准备就绪时,应该从CruiseControl.NET触发该过程,然后执行上述所有操作。基本上,它应该至少允许远程安装软件,运行自定义脚本并拥有Web仪表板。
显然,可以使用像Chef这样的SCCM工具,但到目前为止,它们都不支持Windows服务器,仅支持节点。我想避免为此设置一个Linux VM,尽管我可以做到这一点,如果我没有其他选择。此外,厨师似乎有点矫枉过正 - 对于10k机器来说很好,但我未来只有3 ...也许5。我对编排分布式测试的机会特别好奇。
StackOverflow和互联网上的大多数类似问题都是关于Web应用程序,Java容器,Maven等,并且这些工具只有很多工具和插件才能评估。
在此先感谢。