我们正在使用VMWare和NUnit开发自动化回归测试。我们已经将测试分成几个步骤,现在我希望看到每个步骤都被检查性能回归。简单地为测试计时,就像NUnit一样,似乎并不可靠。我已经计算出了大约15%的接受系数,但我们的步骤有时可能不同到35%以上。在这样一个依赖于资源的测试环境中,有没有一致的测试性能的方法?“聪明”的计时系统是我唯一的选择吗?
发布于 2008-09-16 22:10:24
对于这种类型的性能测试,没有系统可以给出一个简单的通过/失败结果。在现实生活中,改变你的系统可能会让一些事情变得更快,而另一些事情变得更慢,所以它通常不是“更好”和“不是更好”之间的选择,而是不同类型的更好之间的选择。(当然,您希望避免出现严格情况更糟的情况。)
我在过去所做的就是保持一段时间的统计数据。每次运行测试时,将带有修订号和测试时间的结果放入SQL数据库中。然后,您可以随时随心所欲地绘制它们(理想情况下,在一个小的web applet中,这样团队中的每个人都可以查看它们),并查看您的性能是上升还是下降,或者自特定修订以来,性能是否一直在下降。
然而,这里的关键是它需要是一个图。这样,人类的眼睛就可以看到它,并找到趋势。你可以花一整周的时间试图想出一种人工智能算法来对数据进行数值分析,但它永远不会超过人类的模式识别能力。
发布于 2008-09-16 21:57:49
您可能会查看Ants Profiler等工具提供的功能,因为它确实提供了方法执行/运行时间,但我不确定它在重复测试方面提供了什么。
发布于 2008-09-16 21:58:26
关于性能测试,我一直对使用vmware或其他虚拟化进程持怀疑态度。我们过去处理这个问题的方法是让构建的一部分在静态机器上安装最新版本并运行测试。在虚拟化之外,您应该会看到更一致的结果。
https://stackoverflow.com/questions/77603
复制相似问题