让开发自动化: 自动负载测试(3)

发表于:2014-11-27来源:uml.org.cn作者:Paul Duvall点击数: 标签:自动负载测试
安排 CruiseControl 每天运行负载测试 使用 CI 服务器的目的在于,只要向项目的版本控制存储库应用了更改,就运行一个自动构建。您也可以将其配置为按特

  安排 CruiseControl 每天运行负载测试

  使用 CI 服务器的目的在于,只要向项目的版本控制存储库应用了更改,就运行一个自动构建。您也可以将其配置为按特定次数运行构建。由于负载测试通常需要较多的计算资源,在这些资源未被占用时运行测试(例如深夜或清早)会比较好。

  在 清单 5 中,一个自动构建被安排在晚上 11:00 点 (2300) 使用 CruiseControl(请参阅 参考资料)运行。您可以修改 CruiseControl 配置文件,以使用一个特定的 Ant 目标运行一个委托构建,比如一个给定的 run-load-tests 构建。

  清单 5. 使用 CruiseControl 运行预定的负载测试

  ...
  <modificationset>
    <svn RepositoryLocation="${svnrepo.location}"/>
    <timebuild username="admin" time="2300"/>
  </modificationset>
  ...

  通过将负载测试安排在晚上运行(如清单 5 中一样),您将不会听到有关加班、休假或忘记运行测试等借口 — 它们会自动运行。

  在 CruiseControl 中显示报告

  您已经看到了如何使用 Ant 显示 JMeter 测试报告。但是,JMeter 报告只能与单个机器上的一个开发人员通信。负载测试会影响整个应用程序,所以整个团队都会希望看到结果。好处在于,您可以轻松配置您的 CI 服务器,以显示这些报告。因为已经使用 Ant 生成了这些报告,所以只需要使 JMeter HTML 报告可以从 CruiseControl 项目仪表板访问。您可以向 CruiseControl 的 config.xml 文件添加几行代码来实现这个目的,如清单 6 所示:

  清单 6. 配置 CruiseControl 来显示 JMeter 报告

<project name="brewery">
...
<log>
  <merge dir="merge dir="projects/${project.name}/reports/jmeter" />
</log>
...
</project>

  现在,团队中的每个人都可以(真正地)共享这些信息了。很多其他 CI 和构建管理服务器也提供类似的报告集成功能。

  结束语

  在本文中,我展示了如何向您的开发工具箱添加自动化负载测试。通过使用自动构建运行负载测试,然后将测试安排为定期运行,您可以在系统容量问题出现之前及时发现它们。这种方法使得评估架构和数据更改的影响变得更加容易。当与本文章 系列 中描述的其他技术结合使用时,开发团队常常能够交付更高质量的软件。

  下载

描述 名字 大小 下载方法
本文的示例 Ant 脚本
j-ap04088-jmeter-example.zip
6KB

  参考资料

  学习

  您可以参阅本文在 developerWorks 全球站点上的 英文原文 。

  JMeter:访问 JMeter 项目网站获取文档、教程和社区资源。

  “利用 Apache JMeter 测试 WebSphere 性能”(Greg Herringer,developerWorks,2004 年 5 月):JMeter 是测试 Interactive Financial eXchange (IFX) 消息传递中间件的不错选择。

  “Using JMeter”(Budi Kurniawan,onjava.com,2003 年 2 月):一篇基本的 JMeter 指导文章。

  “Load Testing with Apache JMeter”(Kulvir Singh Bhogal 和 Javid Jamae,devx.com,2003 年 12 月):另一篇 JMeter 入门文章。

  “JMeter tips”(Chi-chang Kung,javaworld.com,2005 年 7 月):提高 JMeter 脚本的质量。

  “Load Testing your Applications with Apache JMeter”(Keld H. Hansen,Java Boutique):一个关于使用 JMeter 的教程。

  让开发自动化 (Paul Duvall,developerWorks):阅读整个系列。

  “持续测试”(2007 年 3 月):每次对代码库进行更改后就运行自动化测试。

原文转自:http://www.uml.org.cn/Test/200806101.asp