【发布时间】:2015-06-02 08:10:57
【问题描述】:
我有一套 196 测试方法。这些测试用例的执行时间在我每次运行时都会有所不同。它已经在受控环境中运行,比如说,对于垃圾回收,我将null 包含在teardown() 中。
每次执行测试之前,我还要确保每次启动时 CPU 使用率、内存使用率、磁盘空间、系统负载都相同。
另外,时间变化没有任何特定的顺序。我需要知道为什么我们在再次执行相同的测试用例时没有获得 stable execution time?
我在课堂上设置了热身期,使 93 例病例稳定下来。其他情况与数据库连接(读取数据或更新数据库中的数据)有关。每次我运行这些测试用例时是否有可能有相同的执行时间。 (执行时间指junit测试用例执行时间)
【问题讨论】:
-
还有更多的参数和影响。例如。 CPU 缓存、操作系统缓存……最好重复测试多次并测量总时间。
-
此主题的必填链接:stackoverflow.com/questions/504103/…
-
40 秒中有多少?另外,当您说“应用程序服务器的连接”时 --- 是在攻击网络吗?
-
如果它访问网络,应用服务器的负载是否也是恒定的?您只使用本地网络还是通过 Internet 进行通信?即使它只使用本地网络,它仍然可能受到远程服务器负载/网络负载/交换机/路由器负载/...的高度影响...
-
@tps 你不应该把所有的东西都写在 cmets 中。它属于您的问题,只需编辑它。
标签: java performance junit4 performance-testing