关键词:JMeter性能测试
一、JMeter介绍
Apache JMeter™是Apache组织开发的一款开源软件,它是功能和性能测试的工具,是典型的纯Java开发的应用程序,可以在不同平台比如Windows、Linux或macOS系统上进行软件测试。
jmeter 能做哪些性能测试?
1、基准测试:
即单用户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标,为多用户并发测试和综合场景测试等性能分析提供参考依据。
我们在查看平均事务响应时间的时候,先看整体曲线走势,如果整体趋势比较平滑,没有忽上忽下的波动情况,取“Average Time”与“90 Percent Time”都可以;如果整体趋势毫无规律,波动非常大,我们就不用“Average Time”而使用“90 Percent Time”可能更真实些。详细分析
2、并发测试
主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。
是多用户执行某一操作,形成瞬时压力(精确到毫秒),是一种严格的测试,主要考察系统对瞬时较大压力的承受能力。
注:同步定时器 实现并发
3、负载测试
模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。
4、压力测试
又称为强度测试:是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。
压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
一直重复长时间给系统极限压力,看系统是否能承受
压力测试时,系统内存溢出解决方案:
修改 apache-jmeter-2.11\bin\jmeter.bat
5、稳定性测试:
主要测试持续一段时间访问接口,测试接口的稳定性。
主要涉及的配置为:
1)线程组设置循环次数永久,持续时间设置为15分钟(根据自己的项目要求而定)
2)必要的时候,添加统一随机定时器元件
主要有两个参数:
随机的最大时间(ms):在这个范围内进行随机
常量延时时间(ms):固定的延时时间
最后的延时时间=随机的时间+常量延时时间
6、业务场景测试:
主要测试多个接口联动,模拟真实接口的调用,增加统一随机定时器模拟用户真实操作
比如添加购物的流程涉及到:登录接口–搜索商品接口–浏览商品接口–添加到购物车接口
其中主要最难的是:登录接口提交的验证码处理,我之前的项目是开发给定了一个固定的万能验证,进行提交登录,添加HTTP Cookie管理器(用于自动保存登录之后的信息,下面的请求就可以使用同一个登录状态进行访问:https://blog.csdn.net/baidu_39372836/article/details/91442231)。
使用事务控制器元件(https://blog.csdn.net/baidu_39372836/article/details/99445618)进行管理这些接口,这些接口就属于一个事务流程,只要一个测试失败,则事务通过失败。
一般情况下JMeter元素按照如下顺序依次执行:
0.配置元件
1.定时器
2.前置处理器
3.取样器
4.后置处理器
5.断言
6.监听器
一个简单的例子:
其中①为取样器、②为配置元件、③为定时器、④为监听器、⑤为前置处理器、⑥为后置处理器、⑦为断言。
执行顺序为:②-->③-->⑤-->①-->⑥-->⑦-->④
参考资料:
https://blog.csdn.net/baidu_39372836/article/details/101194892
网友评论