目录
前言
本章节针对Jmeter自定义环境变量,CSV可变参数集合进行并发压测,以及在GUI环境和非GUI环境中,进行压测时需要区分变量和区别进行讲解,进一步了解互联网大厂项目的常规压测流程;以上内容将结合实际项目场景进行实战,以便更好的理解和运用在项目中;
全局参数和CSV可变参数
企业项目中,开发人员和测试人员需要各自的项目环境开展任务,以便在数据和服务器资源上能顺利开展工作,不被外部因素影响结果值;那么就需要将环境进行区分隔离,企业中一般将环境分为:开发环境,测试环境,预发布环境,生产环境(线上环境)
关于环境的区别参考:企业项目环境分类
开发人员可以在开发环境按开发计划进行开发和调试,不被测试人员产生的测试数据和压测占用资源影响开发进度;服务器资源,数据库资源等较低配;
测试人员可以在测试环境中,利用一些工具及数据所模拟出的、接近真实用户使用环境的环境,以便使测试结果更加真实有效。服务器资源,数据库资源等几乎接近于生产环境
实际项目中接口众多,导致会存在很多参数和变量,为了方便统一维护管理。Jmeter的“用户定义的变量”功能实现了此效果,定义好全局的接口变量,在接口中使用${变量名}进行引入,达到了“一处定义,多出可用”。
全局参数实战案例
场景:使用接口“课程列表”进行配置实战;
测试计划上右击:添加->配置元件->用户定义的变量
创建成功后,点击添加按钮,添加自定义变量;如:服务器IP,端口号,协议等抽离出来。
在“课程列表”接口中引入
接口测试结果和之前章节一直,可以正常请求服务器
CSV可变参数文件压测
测试过程中,需要模拟多个用户进行并发测试,我们可以用Jmeter的“CSV多个可变参数”功能进行测试;接口参数进行参数化,也就是通过csv文件入参;
- 模拟多个不同用户进行并发操作,测试同个接口中不同用户并发操作的准确率和异常情况
- 进行不同场景的测试用例编写,测试正常的通用性用例和异常的测试用例;
场景:课程详情接口查询,接口根据请求返回入参信息;
CSV文件准备,新建文本文件,后缀改为csv,之后可以使用记事本或是execl打开;csv文件必须改为UTF-8,否则出现中文会乱码。
id:课程编号,title:课程名称;
线程组—>添加—>配置原件—>CSV Data Set Config
说明:
文件名:指定csv文件路径;建议路径一般不要包含中文;
文件编码:选择UTF-8;否则会出现中文乱码。
变量名称:将被Jmeter识别并进行全局引用的变量名称,可自定义名称,如果csv有设置表头,建议名称保持一致;
忽略首行:如果csv文件首行设置了名称,则改为true,表示跳过第一行数据,从第二行读取数据;否则默认即可;
分隔符:csv文件通过记事本打开默认使用英文逗号进行风格,这里填“,”即可;
HTTP请求参数配置,之前地址参数都是固定,现在改为变量名;
发起请求结果,响应结果根据请求的变量进行返回;
至此,关于Jmeter的CSV可变参数基础认知与实战已结束;
常规项目压测流程
互联网企业中,常规的项目压测流程,通常是由测人人员在本地环境使用Jmeter编写压测脚本,以及修改脚本文件内的请求地址,csv文件位置为服务器地址,然后将脚本和csv文件一并上传到Jmeter独立不是的服务器;然后通过操作Jmeter压测机器去对Web项目服务器进行内网压测,最后在从 Jmeter压测机器下载测试报告到本地进行分析总结;
通常Jmeter压测机和Web项目服务器是独立开来,并且之前是允许内网通讯;其次Web项目服务器最好是非GUI环境,且停止其他无关资源进程,尽量避免不必要的资源争夺,如内存、CPU、磁盘IO、网络IO等;最终才能得出最标准的聚合报告。
项目接口压测,通常都是单个接口进行压测,然后再进行批量接口压测;比如有业务串联相关的功能;
本地编写的压测脚本上传服务器压测,需要修改:
- 请求地址,端口号,协议等
- 参数化CSV文件存放路径
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/64620.html