如何在一个环境中检查测试套件运行速度慢得多的原因

时间:2010-11-16 19:53:53

标签: java junit teamcity

我们已经配置了teamCity,我们在其上运行构建以进行测试。问题是,有几个测试用例(谈论一个具有5-15个测试方法的特定类),当我们在TeamCity上运行时需要将近45分钟。

我一直在尝试在本地机器上测试相同的情况,并且它们不需要超过6-7分钟。

你们可以向我推荐一些可以帮助我找出这些测试用例的可能原因的最佳实践吗?现在我将日志语句放在每个带时间戳的地方。还有什么我可以做的吗?

2 个答案:

答案 0 :(得分:1)

我会看看这两种环境之间是否存在差异:

  • 它是相同的操作系统和文件系统吗?
  • 机器的CPU负载是多少?
  • 机器的I / O负载是多少?
  • 系统日志中是否显示了某些内容,例如: a(网络或身份验证)超时可能导致性能极度下降
  • 测试用例是否使用外部资源(例如数据库,网络),这些资源可能具有与慢速计算机所在位置不同的访问路径?
  • TeamCity在每次测试后都会生成大量报告,这可能是什么慢?也许这不是实际的测试用例执行,而是在测试之间或测试之后执行的另一个操作。
  • TeamCity环境是否执行未在本地执行的任何设置或拆卸功能?比如建立测试数据库或修剪现有的测试数据库?
  • 慢速计算机是集群构建服务器,必须通过主服务器和从服务器之间的线路进行通信吗?测试是在主设备还是从设备上执行的?

另外,您是否也在TeamCity中本地运行测试用例?

答案 1 :(得分:0)

我之前使用YJP(yourkit java profiler)来分析应用程序。我认为在他们购买许可证之前的前15天左右是免费的。