一、概述
此处记录使用JMeter对抢红包业务进行压力测试的过程,涉及的内容包括:
1.抢红包业务压力测试需求分析;
2.创建JMeter测试计划,根据业务执行逻辑设计测试脚本;
3.设置检查点;
4.回放脚本,根据业务逻辑判断检查点设置是否有效;
5.脚本参数化;
6.虚拟批量用户执行抢红包业务;
7.测试结果分析;
二、测试需求分析
1.验证批量用户抢红包时的响应时间是否满足300ms以内;
2.验证相同红包每个用户只能抢1次;
3.每个红包最多只能被抢9次;
4.用户抢红包的业务:
1)使用手机访问红包,请求验证码;(参数包含手机号码和验证码)
2)(验证码下发成功),使用手机抢红包;(参数包含手机号码和验证码)
5.测试手机号码和测试红包有限;
三、创建测试计划、设计测试脚本
步骤如下:
1.新建测试计划,右击测试计划-->【添加】-->【Threads(Users)】-->【线程组】,创建名为“抢红包测试”的线程组;
2.右击“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】,添加名为“请求验证码”的HTTP请求;
1)填写“请求验证码”的HTTP请求信息;
2)为“请求验证码”请求【查看结果树】,监听测试结果;
3.右击“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】,添加名为“抢红包”的HTTP请求;
1)填写“抢红包”的HTTP请求信息;
4.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【查看结果树】,看测试结果、请求信息、响应信息;
5.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【聚合报告】,查看测试的请求数、响应时间和成功率等信息;
6.按上述步骤创建测试脚本,效果如下:
四、设置检查点
步骤如下:
1.使用一组正确的测试数据,验证请求验证码、抢红包成功的提示信息:
1)请求验证码成功的提示信息为“短信验证码下发成功!”
2)请求验证码成功后,抢红包成功的提示信息为“成功”
2.设置检查点
1)右击“请求验证码”请求-->【添加】-->【断言】-->【响应断言】;
2)点击【添加】按钮,编辑断言信息,该例中检查响应数据是否包含“短信验证码下发成功!”
3)右击“抢红包”请求-->【添加】-->【断言】-->【响应断言】;
4)点击【添加】按钮,编辑断言信息,该例中检查响应数据是否包含“成功”;
1..使用失效数据模拟用户请求,确认检查点是否生效;
1.)使用失效数据请求验证码时,测试失败,因没有检查到指定信息;
2.)使用失效数据抢红包时,测试失败,因没有检查到指定信息;
2.使用正确信息请求时,测试通过;
六、脚本参数化
步骤如下:
1.右击“抢红包测试”线程组-->【添加】-->【配置元件】-->【CSV Data Set Config】;
2.编辑【CSV Data Set Config】信息,如下图:
3.修改“请求验证码”和“抢红包”请求中需要参数化的参数值,和步骤2中定义的变量属性一致;
4.参数文件示例:()
七、虚拟批量用户执行抢红包业务
前置条件:
1.检查点生效、测试脚本调试成功;
2.测试参数化的测试数据准备完成;
步骤:
1.设置测试计划循环次数;
2.点击启动按钮(),开始执行测试
八、测试结果分析
1.查看结果树:测试结果与实际结果一致,成功118次,失败7次(调试脚本时已使用的信息,为失效信息)
2.查看聚合报告:
注:本文属于原创,本博客下所有内容,凡注明"来源:laofashi2015"的所有文字、图片和音视频资料,版权均属laofashi2015所有,任何媒体、网站或个人未经本人协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本人协议授权的媒体、网站,在下载使用时必须注明"稿件来源:laofashi2015",违者本人将依法追究责任。