软件测试中JMeter和Ant实现自动负载测试

本文介绍如何利用JMeter和Ant实现自动化负载测试,并将其集成到持续集成流程中,以确保系统在高负载下的稳定性和性能。文章详细说明了设置过程,包括创建测试计划、驱动测试执行、结果报告生成及在CI环境中的集成。

软件测试中JMeter 和Ant实现自动 负载测试 Load testing(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,

软件测试中JMeter和Ant实现自动负载测试

Loadtesting(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

Stelligent公司CTO PaulDuvall在“人性自动化(Automation for the people)”系列文章中提到,如何把JMeter和Ant跟持续集成服务器集成到一起,让开发者快速地决断开发的系统在特定负载条件下的行为是否正确,及其是否适应所做的修改。Duvall首先列举了一些这类测试所能度量的标准:

有多少并发用户能够访问你的软件系统?

可以加载多少数据而不会导致性能下降?

系统的吞吐量需求是怎样的?

这些需求的测试周期有多久?

如果你能确定并验证每天至少满足一次负载和性能的需求,那会怎样?

   Duvall补充道,CI(持续集成)服务器计划执行的自动化测试每天可以在机器利用率较低的时候运行,同时,这也可以“减少当你依赖个人来配置和运行这些测试时所导致的瓶颈和错误”。他描述了建立这样一个环境所需的主要步骤有:

1. 运行JMeter并创建一个测试计划

   JMeterApache项目,是用来负载功能测试性能测试Java工具。它同时提供GUI和命令行两种调用方式,可以执行由测试计划定义的各种负载测试。它附带的测试计划范例包括Web测试计划,FTP测试计划,Webservice测试计划等等。这些测试计划可以通过GUI接口搭建,最后以XML格式的保存。这样一来,它将所需配置的值进行参数化,用户因此可以定制运行测试的方式。

2. 使用Ant驱动JMeter测试。

   在已经写好的实现的基础上,定义一个JMeterAnt任务,比如"<taskdef name="jmeter"classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>",然后从Ant运行JMeter的负载测试。Duvall提供了一个在BreweryTestPlan.jmx文件(测试计划的XML格式)中定义的测试搭建示例:

<jmeter

jmeterhome="${jmeter.home}"

resultlog="${basedir}/target/JMeterResults.xml">

<testplansincludes="BreweryTestPlan.jmx"dir="${basedir}/tests/load">

</testplans>

</jmeter>

3.通过XSLT和HTML修饰测试结果报告。

   Duvall接着演示了测试的输出结果——JMeterResults.xml——它可以通过JMeterextras目录中提供的XSLT脚本将该结果转换成HTML报告。生成的报告上显示了每次负载测试运行的结果,包括测试状态、时间、集合状态以及所有测试花费的时间。

4. 定制JMeter测试。

   运行测试的方式可以通过修改参数和属性来进行定制。为了让测试适应特定环境的需求

(比如测试或者分段),用户可以在.jmx文件中标记一些记号,然后在运行该测试之前,根据环境需要对这些记号进行过滤和修改。Duvall还演示了如何增加JVM内存并指定线程和循环的数目。

5. 在CI环境中集成JMeter测试。

   Duvall提供了一个与持续集成服务器CruiseControl集成的例子:在每天上午11点时运行build

...<modificationset>

<svnrepositorylocation="${svnrepo.location}">

<timebuildtime="2300"/>

...

  </svn>

</modificationset>

   如果在CruiseControlconfig.xml文件中添加几行适当的代码,JMeter的测试结果报告就可以在CruiseContrl项目的dashboard中看到。

   Krik PepperdineInfoQ上的文章迭代、自动化和持续性能(Iterative, Automated and Continuous Performance)中谈及了持续性能[测试]ContinuousPerformance),Steve Haines的持续性能管理(continuous performance management presentation,可下载ppt)中也涉及到了这个话题。

 

源文档 <http://www.ltesting.net/ceshi/open/kyxncsgj/jmeter/2010/1027/198988.html>

【永磁同步电机】基于模型预测控制MPC的永磁同步电机非线性终端滑模控制仿真研究(Simulink&Matlab代码实现)内容概要:本文围绕永磁同步电机(PMSM)的高性能控制展开,提出了一种结合模型预测控制(MPC)与非线性终端滑模控制(NTSMC)的先进控制策略,并通过Simulink与Matlab进行系统建模与仿真验证。该方法旨在克服传统控制中动态响应慢、鲁棒性不足等问题,利用MPC的多步预测滚动优化能力,结合NTSMC的强鲁棒性有限时间收敛特性,实现对电机转速电流的高精度、快速响应控制。文中详细阐述了系统数学模型构建、控制器设计流程、参数整定方法及仿真结果分析,展示了该复合控制策略在抗干扰能力动态性能方面的优越性。; 适合人群:具备自动控制理论、电机控制基础知识及一定Matlab/Simulink仿真能力的电气工程、自动化等相关专业的研究生、科研人员及从事电机驱动系统开发的工程师。; 使用场景及目标:①用于深入理解模型预测控制与滑模控制在电机系统中的融合应用;②为永磁同步电机高性能控制系统的仿真研究与实际设计提供可复现的技术方案与代码参考;③支撑科研论文复现、课题研究或工程项目前期验证。; 阅读建议:建议读者结合提供的Simulink模型与Matlab代码,逐步调试仿真环境,重点分析控制器设计逻辑与参数敏感性,同时可尝试在此基础上引入外部扰动或参数变化以进一步验证控制鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值