让开发自动化: 自动负载测试

发表于:2008-6-05 14:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Paul Duvall    来源:51Testing软件测试论坛

向 JMeter 传递参数

        根据您运行的测试类型,您可能想要传递参数和属性,以改变单个测试或一组测试执行的方式。例如,清单 4 展示了如何增加 JVM 内存并指定线程和循环的数量:


清单 4. 向 JMeter 传递可选参数和属性
<jmeter
  jmeterhome="${jmeter.home}"
  resultlog="${basedir}/target/JMeterResults.xml">
  <jvmarg value="-Xincgc"/>
  <jvmarg value="-Xmx128m"/>
  <jvmarg value="-Dproperty=value"/>
  <property name="request.threads" value="5"/>
  <property name="request.loop" value="50"/>
  <property name="jmeter.save.saveservice.assertion_results" value="all"/>
  <property name="jmeter.save.saveservice.output_format" value="xml"/>
  <testplans dir="${basedir}/tests/load" includes="BreweryTestPlan.jmx"/>
</jmeter>

        可以使用很多内置的其他参数和属性来修改 JMeter 测试运行的方式.

        在执行负载测试的方式上,使用参数和属性提供了一定的灵活性,但是它不能解决如何在不同的目标环境中运行负载测试的问题,比如测试和验证环境。要向测试计划添加特定于环境的信息,您需要在 .jmx 文件中放入一些记号,以便当负载测试在自动构建脚本中运行时可以对 .jmx 文件进行过滤和修改。

及时负载测试

        使用自动构建运行负载测试时,将其安排为按某个周期运行,比如每晚运行一次。您可以使用 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 和构建管理服务器也提供类似的报告集成功能。

结束语

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

更多相关的软件测试文章:负载测试—网站的“体能”测试loadrunner负载测试实例(含步骤)

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号