标签:并发测试 集合点 人工 聚合 清除 模式 特殊 场景 服务
一、JMeter接口功能测试
1、概述
接口功能测试主要是测试系统中各个接口基本功能是否能够正常运行提交的数据(正向数据+逆向数据),模拟用户的多样性操作,检测程序的响应是否合情合理(符合预期)。
2、功能测试实现步骤
3、设计测试用例
(1)测试用例的设计规则
设计测试用例时,我们首先将用户的操作进行分类,分类原则为正向+逆向,其详细原则如下如所示:
(2)测试用例实现模板
一般来说,接口与功能测试测试用例的设计模板要包含标题描述、请求地址、请求方式、请求数据、预期响应等,具体格式如下图:
4、准备测试数据
测试数据是按照测试用例中请求数据的要求设计的一条条具体的用于测试的数据,其详细格式如下:
5、搭建测试框架进行测试
(1)搭建测试框架(创建测试计划、线程组、HTTP请求),设置线程组的循环次数为35(几条数据就设置几),如下图所示:
(2)线程组----右键----添加----配置元件----添加CSV Data Set Config,设置文件名,文件编码,变量名等信息。
(3)打开之前创建的HTTP请求,调用CSV中的变量名称。
(4)运行测试计划,查看结果树,验证比对响应信息是否符合预期,如下图所示:
二、JMeter接口自动化测试
1、概述
接口自动化测试就是由程序生成测试数据且让程序代替人工判断响应结果(程序代替人工)来进行测试,具有安全、高效、功能强大的特点,主要是用于接口功能测试已经通过后,每次版本迭代后进行验证性测试,确保本次迭代并未对其他接口产生影响。
2、接口自动化测试的原则
3、实现流程
4、操作数据库的流程
5、具体实现
(1)搭建框架:(抽取http请求默认值、http信息头管理器、结果树),创建SetUp线程组和添加数据的HTTP请求,添加数据时可借助counter函数实现,如下图所示:
(2)添加请求右键----添加----断言----响应断言,添加断言的信息,并运行测试计划,如下图所示:
(3)添加请求右键----添加正则表达式提取器,并设置变量名、正则表达式、模板、匹配数字等信息,如下图所示:
(4)利用setProperty和property函数实现跨线程传值,创建TearDown线程组和删除的HTTP请求,并在请求中使用property函数调用输入的全局变量id,通过 id进行删除如下图所示:
(5)HTTP请求02右键----添加----断言----响应断言,添加响应断言,并运行测试计划,查看测试结果树,验证是否断言成功,如下图所示:
(6)新建普通线程组,添加修改请求,根据dep_id修改提交数据中的信息,并断言、运行测试进行验证,如下所示:
(6)添加普通线程组,添加查询请求,根据dep_id进行查询(查询请求要注意分页,否则找不到断言信息会断言失败),并断言、运行测试进行验证,如下所示:
(7)直连数据库:测试计划中添加数据库驱动路径,创建JDBC connection configuration,设置数据库连接信息,如下图所示:
(8)新建JDBC线程组,在线程组下创建JDBC Request,选择查询类型,输入查询语句和查询结果保存的变量,如下图所示:
(9)在JDBC请求下新建HTTP请求,根据JDBC获取的dep_id值进行查询,运行测试,查看结果是否符合预期,如下图所示:
(10)在测试计划中勾选“独立运行每个线程组”,运行测试计划,查看测试结果和数据库数据(自动化测试前后数据库数据不发生改变)。
三、JMeter接口性能测试
1、性能压力测试概述
性能测试主要是为了模拟多种场景测试程序的响应时间,出错率等性能指标,可以测试测试程序的执行效率,执行效率直接关系到用体验。
2、性能测试的原则
四、性能测试之需求一:区间测试
1、需求
模拟10秒内开启30个虚拟用户,每个用户循环访问服务器资源10次,要求平均响应时间在30ms内且错误率为0。
2、实现步骤
(1)搭建测试框架(线程组、请求默认值、信息头管理、HTTP请求),设置线程数为30,Pamp-Up为10,循环次数为10.如下图所示:
(2)运行测试计划,查看测试结果,如下图所示:
五、性能测试之需求二:高并发测试
1、需求与分析
需求:模拟100个用户同时访问服务器资源,要求平均响应时间在30ms内,且错误率为0。
分析:100用户:使用线程数指定;同时访问:使用集合点。
2、实现步骤
(1)搭建测试框架(线程组、请求默认值、信息头管理、HTTP请求),设置线程数为100,Pamp-Up为1,循环次数为1.如下图所示:
(2)线程组右键,添加同步定时器,设置模拟用户组的数量为100,超时时间为0,如下图所示:
(3)运行测试计划,查看测试结果,如下图所示:
六、性能测试之需求三:高频率测试
1、需求与分析
需求:模2个用户都以20QPS的频率访问服务器资源,持续10秒,要求平均响应时间在30ms内且错误率为0
分析:2个用户:线程数指定;循环次数:QPS*持续时间;
2、实现步骤
(1)搭建测试框架(线程组、请求默认值、信息头管理、HTTP请求),设置线程数为2,Pamp-Up为1,循环次数为200.如下图所示:
(2)线程组右键,添加常量吞吐量定时器,设置目标吞吐量为1200(20*60转换为分钟),如下图所示:
(3)运行测试计划,查看测试结果,如下图所示:
七、总结
1、功能测试
(1)概述:
用户操作具有多样性,主要是测试接口的基本功能实现(正向+逆向)
(2)步骤:
2、自动化测试
(1)概述:
程序代替人工生成测试数据以及判断响应结果,高效安全
(2)实现原则:
3、性能测试
(1)概述:性能测试是直接关联到用户体验的,主要用于测试程序的响应时间、错误率或服务器的运行状态
(2)测试分类
JMeter基础016----JMeter接口功能、性能、自动化测试
标签:并发测试 集合点 人工 聚合 清除 模式 特殊 场景 服务
原文地址:https://www.cnblogs.com/geqiandeqingmu/p/13150400.html