接口测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成能实现低成本高收益。
性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取
系统响应时间、TPS(Transaction Per Second)、吞吐量、资源利用率等性能指标,以期保证生产系统的性能能够满足用户需求的过程。
Jmeter可以实现接口测试和性能测试。
Jmeter收发requests,设计checkpoint,加上断言便能实现接口测试。在收发的requests上加上负载,便可以实现性能测试。
以下是用Jmeter处理移动接口的请求过程。
1. 建立”Test Plan”
可以像前文一样录制。
也可以手动编辑:
加上“Test Plan” –>”Threads”–>”Thread Group”.
加上 “Thread”–>”Sampler”–>”HTTP Request”.
然后就可以编辑各个请求了。
加上“User Defined Variables” 来定义全局变量。
加上“HTTP Header Manager” 来定义请求类型,如json:
Content-Type : application/json; charset=utf-8
2. 参数化
有的时候,某个接口的返回是后面接口的输入(如:cookie,session),我们要提取出来。加上“Post Processors”–>”Regular Expression Extractor”
参数化会用到CSVRead
3. 断言验证
有时候即使我们测试返回的response code为200,也不能保证该测试是正确的,这时候,我们可以用到响应断言,通过对比响应的内容来判断返回的页面是否是我们确定要返回的页面。
选择我们要判断的页面,点击添加断言——响应断言,将会出现如下图:
4. 添加监听器
我们做性能测试的时候,经常需要各种数据来验证我们的测试结果,Jmeter里面也提供了相关的功能,这里主要说一下Aggregate Report聚合报告。
点击添加—-监听器,选择:查看结果树,和聚合报告,如果需要看到断言信息也可以选择断言结果,将设置的一切保存之后,然后点击启动,系统将会运行,将结果在监听器中表现出来。
5. 分析结果
查看结果树
如图所示:成功的为绿色,失败则显示为红色。
聚合报告
其中:
· Label:标签,即我们上面的请求名称。
· #Samples:本次场景中一共发出了多少个请求。
· Average:平均响应时间。
· Median:中位数,也就是50%的用户的响应时间。
· 90%Line:表示90%的用户的响应时间,如果最小值和最大值相差很大的话,我们一般选择这个作为最终测试结果。
· Min:最小响应时间。
· Max:最大响应时间。
· Error%:出错率,本次测试中出现错误的请求的数量/请求的总数。
· Throughput:吞吐量。
· KB/sec:每秒从服务器端接受到的数据量。
OK, 可以保存文件了。
用命令运行:
<div> jmeter -n -t test.jmx -l test.jtl</div><div></div>
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理