安排 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