接口测试:验证前后端交互的过程结果是都正确完善。
jmeter:
如何开展接口测试:
1.设计接口用例,一个正向用例对应很多反向用例,验证接口。
前言:
1:接口测试主要测试后端的业务逻辑是否有问题,容错机制是否有问题。
即使前做了校验,但前端也只是做一些简单的格式校验,对于业务逻辑的校验,需要跟数据库交互。 所以就必须通过后端来校验。
如果有人使用抓包工具去拦截数据,篡改数据的时候,那整个系统就会产生严重的BUG。
2.请求和响应在传递的过程中可能会丢失或亏损,因此这种情况也要考虑到。
我们需要准确无误的将请求和响应发给对方,这时候就会需要一些机制,比如:交换机,路由器等(网络控制软件)分工合作实现。
3.DNS服务:提供域名到IP地址之间的解析服务。
DNS协议提供通过域名查找ip地址,或你想从ip地址反查域名的服务。
4.浏览器生成消息:
a:浏览器解析输入的网址,生成请求数据
b:浏览器委托系统向WEB服务器发送请求
(浏览器需告诉系统接收方的ip地址,所以需要查出web服务器的IP地址)(web只有域名,因此浏览器需要向DNS服务器查询域名对应的IP地址)
c:DNS相互接力完成ip地址的查询 d:查询到ip地址后,浏览器将消息委托给操作系统发给web服务器
【生成HTTP请求消息----DNS服务器查询web服务器IP地址----DNS接力查询ip地址----委托协议栈发送消息】
2.接口文档的重点(基本组成):
a:接口的功能,作用。 接口功能的详细信息
**b:接口地址 如果不是拼接好得完整地址,就需要自己去拼装。
接口地址的研究方式,看接口文档的第一接口的说明,推理,调试.
C:返回格式 **JSON/XML
d:请求方式
e:请求参数 是否必填,类型,说明
f:返回的数据 返回的数据格式
说明:接口用例的设计,都是根据接口文档的入参进行的。不仅要从正常,还要考虑异常的情况。
根据入参的是否为必填的,类型,约束条件,参数与参数之间的关联,从而设计用例。
3.设计用例:
正常/正向:输入正常的类型参数
异常/反向:输入特殊字符,空值,边界值,无效类型等。
从正常,异常两个当面去进行验证后台的接口的逻辑处理是否正确,容错机制是否健全。
用例值的设计:
Key:
正常:正确的key
value:
正常:正确的值
异常:错误的值
空值
过期的值(时效)
无请求权限
被禁止的
需要尽可能的熟悉需求/接口文档,还是要基于业务,功能之上
4.jmeter内一个模块为一个线程组。
5.检查数据:
后台返回的数据如何检查?
a;返回的状态码。 200:成功。 反映的是请求有没有发送成功 b: 响应信息 OK:成功。一般都是这个 c:
响应body(**)
返回码 --由后台接口定义的
返回说明(提示信息)
具体返回的正文信息 d:检查返回数据是否存入数据库,数据库是否返回完全
6.接口测试的流程:
a:后台开发接口,定义接口文档。或者根据接口文档开发接口 --如果文档不全,使用工具自己抓取或者找后台要
b:分析接口文档,需求分析 --每个接口的功能要求
c:设计接口用例,使用工具编写接口测试脚本,检查接口是否有问题
d:检查接口返回的数据,检验响应数据、9断言)
e:分析结果