性能测试Jmeter工具基础培训
一、测试准备
1、确定测试目标并制定测试方案
做性能测试, 我们首先要启动会议明确“性能测试需求和性能测试目标和测试环境和场景”等,随后要完成性能测试方案文档的输出,并经过项目经理、开发、运维、测试等多方评审通过后,开始着手测试脚本的开发。其中方案中要明确本次性能测试的场景和接口,通过对场景和接口进行脚本开发。
说明:有比较完善的测试方案模板,测试方案中要明确本次测试的所有内容:如测试时间,测试工具,测试平台(如阿里云PTS),测试环境,测试目标,测试用例,测试策略,测试场景及接口以及其它需要说明的地方。
2、测试数据准备
- 利用脚本自动生成数据:性能测试中会用到很多基础数据,比如会员下单,需要大量的会员信息,那么我们需要开发脚本来造上万条的会员数据,这种是针对系统本身限制了密码不能破解的情况下。
- 连接数据库获取数据:不过也可以通过连接到数据库中获取会员表数据,但是这种前提你得知道会员表的会员登录密码。
- 利用测试工具生成数据:jmeter中提供的相关函数,或者引入第三方jar包生成数据
二、性能测试工具Jmeter
1、jmeter工具安装
Jmeter的安装非常简单,下载到本地后,解压就可以了。但是使用的话,需要在电脑上安装JDK,并配置好环境变量。如下图:
2、jmeter的配置(windows和linux)
如果仅仅是单台压测机压测,基本上不需要什么配置,根据个人使用习惯可以配置窗口以及字体显示等,如果要做分布式压测,相对就需要进行一些配置,请参考分布式压测机配置资料文档
3、测试脚本的开发
当明确了测试场景和测试用例之后,我们需要着手测试用例的脚本开发,比如我们拿店铺代客开卡场景这个脚本来讲解吧。
包括【插件安装、连接数据库、CSV数据变量、添加全局变量、添加请求头、数据参数化、返回结果数据提取、添加断言、引入第三方jar包】
4、测试脚本验证调试
脚本开发完成后,我们首先需要在本地电脑上调试是否通过,如果不通过,可以通过查看输出日志以及查看结果树等进行排查错误的原因。
三、测试脚本执行与监控
1、确定压测模式
传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页、H5 的压测;而 RPS模式主要是为了方便直接衡量系统的吞吐能力 TPS而设计的
下面的图是阿里云PTS的两种压力模式(并发模式和RPS模式),Jmeter工具的RPS模式需要下载对应的插件。
2、执行测试脚本
- 单机命令执行:jmeter -n -t miaosha-APP.jmx -l /root/miaosha-APP.jtl -e -o /root/miaosha-APP
- 分布式命令:jmeter -n -t miaosha-APP.jmx -r -l /root/miaosha-APP.jtl -e -o /root/miaosha-APP
3、性能测试监控
- CPU和内存监控:在华为云上应用运维管理中配置UAT环境的应用容器监控,可以实时查看CPU以及内存等的使用率情况
- Redis以及RDS监控:在华为云上云服务监控监控面板中配置监控的项
- Skywarking监控:用于辅助开发人员进行进行接口调用关系分析,定位测试过程中的性能问题
4、Jmeter的HTML测试报告
测试结束后,会自动输出一份HTML的性能测试报告,把我们测试结果的数据进行统计,在以后的测试中,针对优化前和优化后进行对比。
四、测试总结和报告输出
1、沟通和反馈
测试过程中,实时与开发及架构师的建立沟通和反馈,尽量避免重复测试,第一时间将问题和数据记录起来并反馈给对应开发人员,并做好流程和规范。
2、报告输出和评审
当完成了性能的优化并进行复测后给出最终的性能测试结果(复测的过程可能会反复多次),并编写最新的性能测试报告,这个测试报告在原有报告的基础上逐步的进行优化和修改,并做好报告文档管理,发给内部人员进行查看。
当测试报告中的结果已经满足实际生产或测试目标要求时,那么尽快的组织多方人员进行报告评审。
正文到此结束