什么是性能回归测试的最佳工具
我们的组织正在寻找一种工具来帮助每个版本进行性能测试。 我们发布了大量新软件,我们希望确保自上次发布以来关键function的性能没有减慢。 我们有C#和Java代码。 这可以是以下任何内容:
- 当我运行此function时,它需要<2秒
- 当我运行这组function时总共<5秒
- 等。 。
最好是使用我们的基本unit testing持续集成(nunit,junit,team city)和手写性能检查,还是有专门的工具可以帮助专注于这个领域。
有什么建议么?
在我的项目(倾向于使用Spring)上,我使用了AOP和PerformanceMonitorInterceptor 。
虽然你可能不使用Spring,但它肯定是一些很好的代码,可以基于你自己的版本。 我发现AOP非常适合这种情况,因为它不会使实际的函数调用变得混乱。 如果您有分层应用程序,那么您可以将这些性能监视器放在每个级别。 (通常对于我的webapps,我把它作为我的数据访问层,以便我可以监视数据库查询性能。)
如果您的应用程序可以远程访问,您可以尝试使用soap ui:
http://www.soapui.org/userguide/loadtest/index.html
它将为您提供您之后的所有统计数据:
我们使用的是python来编写脚本+广泛的日志记录来生成XML日志,然后可以将其导入到电子表格中。
我一直在修补一个名为“Basher”的工具,它允许你编写系统选择的“任务”,然后运行一段可配置的时间(例如,允许JVM预热),然后执行运行,记录任务执行时间,平均值等。
1.0版本已经悄悄地存在了一段时间,如果你想看一看,可以在http://basher.sourceforge.net上找到它。
trunk版本包含一些改进 – 有maven集成,在pom.xml中指定配置,报告框架的基本内容等。