什么是性能回归测试的最佳工具

我们的组织正在寻找一种工具来帮助每个版本进行性能测试。 我们发布了大量新软件,我们希望确保自上次发布以来关键function的性能没有减慢。 我们有C#和Java代码。 这可以是以下任何内容:

  1. 当我运行此function时,它需要<2秒
  2. 当我运行这组function时总共<5秒
  3. 等。 。

最好是使用我们的基本unit testing持续集成(nunit,junit,team city)和手写性能检查,还是有专门的工具可以帮助专注于这个领域。

有什么建议么?

在我的项目(倾向于使用Spring)上,我使用了AOP和PerformanceMonitorInterceptor 。

虽然你可能不使用Spring,但它肯定是一些很好的代码,可以基于你自己的版本。 我发现AOP非常适合这种情况,因为它不会使实际的函数调用变得混乱。 如果您有分层应用程序,那么您可以将这些性能监视器放在每个级别。 (通常对于我的webapps,我把它作为我的数据访问层,以便我可以监视数据库查询性能。)

如果您的应用程序可以远程访问,您可以尝试使用soap ui:

http://www.soapui.org/userguide/loadtest/index.html

它将为您提供您之后的所有统计数据:

http://sofzh.miximages.com/c%23/loadtest_editor.gif

我们使用的是python来编写脚本+广泛的日志记录来生成XML日志,然后可以将其导入到电子表格中。

我一直在修补一个名为“Basher”的工具,它允许你编写系统选择的“任务”,然后运行一段可配置的时间(例如,允许JVM预热),然后执行运行,记录任务执行时间,平均值等。

1.0版本已经悄悄地存在了一段时间,如果你想看一看,可以在http://basher.sourceforge.net上找到它。

trunk版本包含一些改进 – 有maven集成,在pom.xml中指定配置,报告框架的基本内容等。