性能测试的一般流程:
收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优
在收集性能需求后,我们会思考:
负载测试时并发时需要多少数据?例:登录
DB数据是否和线上接近?
所以——我们需要在测试前批量造一批数据进行性能测试
性能数据有个重要的点: 数据必须带有特殊标记,方便与其他正常数据隔离并且在测试完成后销毁。
不同公司的性能数据不一样,这里我讲一下最常见的两种制造方式:
1、数据库直接插入性能测试数据
首先下载一个 mysql的jar包 放到jmeter安装目录的lib下或者直接在测试计划处引用
然后新建一个 jdbc connection configration ,连接目标数据库,需要填写数据库ip+端口号,用户名和密码(改用户需有修改的权限)
创建一个 jdbc request ,把需要插入的数据库语句附上,并且把需要动态修改的参数(类似用户名) 参数化 :
新增一个 用户自定义变量 ,将参数化的变量写入,并且通过函数助手生成随机数,变量我以 rac为标记 ,性能测试完成便于删除这些脏数据。
最后在 线程组 输入你需要创建的数据个数就可以啦~
我比较喜欢用 循环控制器 ,看起来比较简洁~
通过数据库插入的方式造数据的方式,sql厉害的童鞋也可以写 存储过程 。
2、批量轮询跑接口造数据
最简洁的版本,只跑一个接口造数据:
将自己需要创建的用户名+密码放在一个 csv 文件里面,通过 csv data config 参数化获取uname,pass
创建一个 http请求 ,在注册用户的接口data处参数化用户名和密码:
点赞关注!!加入我们,642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
最后一步, 线程组设置csv文件里的用户数 ,跑一遍后就创建了一批性能测试用户啦!
当然,这只是最基础版本的。 通常的测试数据都关联多张表 ,所以我们需要给每个用户跑多个接口,那么这个时候,我们就需要参数关联这个秘诀了——
首先同上,添加一个csv data config,将创建的性能测试数据的用户名,密码的csv文件添加进去
新建一个http请求,放登录接口,参数化登录名和密码,从性能测试用户的csv文件中动态获取
登录成功后,需要获取到token作为其他接口造数据的关键!常用postman调接口的开发大哥都知道token的重要性,通行证呀!
通过 正则表达提取器获取到token 后放到 公共信息头管理器 中。
最后添加几个http请求,将造数据需要的接口写入即可~
点赞关注!!加入我们,642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。