关于总结接口测试的知识
jmeter如何去做接口测试?做接口测试的必备知识。
一、接口的定义与本质?
1、前后端链接的桥梁,是数据传递的通道。就是一个函数,是函数间的检验。
二、什么时候做接口测试?
1、单元开始,集成较多
三、没有需求文档怎么办?
找开发要
四、我们使用那些工具做接口测试?
1、jmeter、postman、soapui、fiddler
五、HTTP请求包含那些内容?http://www.runoob.com/http/http-tutorial.html
1、请求头
2、请求参数
3、响应头
4、响应内容
5、状态码
jmeter做接口自动化测试
1、jmeter录制脚本,使用代理功能
2、jmeter手动添加脚本,学会简单的参数化
3、学会使用fiddler抓包并分享包内包含的数据含义。
4、jmeter做单接口的测试。
利用jmeter 做自动化测试
cookie请求
前后之间的这些请求有关联怎么办?
使用fiddler+jmeter
如果说后续的请求需要先登录在操作,我们该怎么办?
添加http cookie 管理器
运行结果
ps:可以有多种方式显示结果
常用的是用表格形式和聚合报告
属性说明:
Sample:每个请求的序号
Start Time:每个请求开始时间
Thread Name:每个线程的名称
Label:Http请求名称
Sample Time:每个请求所花时间,单位毫秒
Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
Bytes:请求的字节数
样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数
平均:每个线程请求的平均时间
最新样本:表示服务器响应最后一个请求的时间
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
聚合报告如下图:
Label:每个JMeter的element的Name值。例如HTTP Request的Name
#Samples:样本数量。多少个请求
Average:平均响应时间(单位:)。默认是单个Request的平均响应时间,当使用了TransactionController时,也可以以Transaction为单位显示平均响应时间
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间
注:为什么要有*%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事物响应时间是不够的。假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?
我们可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;如下图则是最低响应时间的值出现几率是很小的,实际99%的用户请求响应时间都要20000+。
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量。默认情况下标示每秒完成的请求数(具体单位如下图)
KB/sec:每秒从服务器端接收到的数据量。