在我的工作中,我们正在运行一组测试,其中包含大约 3,000 个单独的测试用例。以前我们在一台机器上运行整个测试套件,大约需要 24-72 小时才能完成整个测试运行。我们现在已经创建了自己的系统,用于在大约三台不同的机器上对测试进行分组和分配,并且测试优先级,以便首先运行核心测试以获得更直接的结果,并在有可用机器时运行额外的测试。
我很好奇是否有人找到了一种在多台机器上分配测试以减少完整运行的总测试时间的好方法,以及使用了哪些工具来实现这一点。我做了一些研究,看起来 TestNG 正在朝着这个方向发展,但看起来它仍然处于相当多的发展阶段。
我们不打算重写任何测试,但是当我们添加新测试和测试新产品或附加组件时,我希望能够处理我们正在处理大量测试的事实。另一方面,如果我们能找到一个工具来帮助分发我们的 Junit3.x
测试,即使是以非常基本的方式,那也会很有帮助,因为我们不必维护自己的工具来做到这一点。