接口分析

Posted hailin-521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口分析相关的知识,希望对你有一定的参考价值。

1.接口测试流程:类似于功能测试流程  

①需求分析与评审  

②测试框架和技术选型 

③测试计划与评审  

④测试设计和评审  

⑤测试实现和执行 

⑥持续集成  

典型  :

测试计划  

测试设计 

测试实现 

测试执行 

2.接口测试是集成测试的一种特殊测试类型  

简版测试计划 :

测试进度计划表 

任务    负责人   时间    工作量   目标  

测试脚本 :

python /java  纯代码 实现 

JMeter /SOAPUI  测试工具实现  

3.接口测试顺序 :

外部接口、优先级高的内部接口、优先级低的内部接口 

4.接口测试流程 :

①确定接口测试范围   测什么 接口文档 、代码分析统计 、线上日志分析统计、客户端抓包

②接口分析与设计    怎么测

③接口测试框架选择(可选)     手工、  半自动化  、全自动化

④接口测试脚本开发  构建请求 、参数化 、断言 、关联    

⑤测试执行与报告  定时任务 、  报告可以根据模板自动生成  

⑥持续集成 (可选)

5.接口类型分析 

a.按接口调用方式 :

同步 : 必须等到返回数据 ,阻塞 ,超时机制  ,怎样处理超时  

异步:非阻塞 , 相当于发短信 ,非实时    怎样去检测响应结果 ; 轮询 隔一段时间去检测  

回调:双向调用 

           A  ----------------------------->    B   method1()

method2() <------------------------- 双向 调用机制

b.按接口交互方式 :

实时 :要求响应速度高  测试的时候主要看性能 , 能否在规定时间内完成 

非实时:比如文件上传,处理接口可以等一段时间  

c.按接口数据量 :

大数据量 :批量数据 

小数据量 :一般指的是小于100K 的数据包 

d.按接口频率 :

周期 :定时任务 

非周期:查询 

e.按接口数据方向 :

单向 : 数据在接口中单向流动

双向:两个系统间数据有往来  

f. 按接口数据读写 :

单独读或写 : 查询接口  、新增接口

读写 : 比如注册  , 查询有没有注册 ?  保存注册信息  

g.按层级 :

直接接口 

间接接口 

h.按功能 :

功能接口 : 采购与库存    

系统接口: 不同系统间的接口   第三方接口   微信  支付宝  

i.按业务逻辑 :

业务接口 :关注业务是否实现 

数据接口:获取数据 保存数据  测试的时候关注数据格式 、编码 

j.按通信方式(协议)

各种协议接口 HTTP、   HTTPS 、FTP 

IP  

TCP      UDP 

HTTP    DNS  

SOAP   REST

Web  Service  

H5  WebSocket   

6.接口文档规范  :

①协议规范

②域名规范:每个接口都有一个唯一的域名跟端口

③版本控制规范 

④API 路径规范 

⑤命名规范 :域名规范 +API 路径规范 +版本控制规范 

⑥请求参数规范 : 

请求方法 :共有数据使用get  请求 ,私有数据使用POST 

请求首部 :Accept : application/json  

请求参数 :跟数据库字段名字保持一致   新增 、更新 、删除、逻辑判断 

⑦返回数据规范 

命名规范 :驼峰式 

list 

object  :实体数据   json 键值对 

status :sucess   error   

message :提示信息 

⑧接口文档规范 :

文档名称

版本

编写人 

修改日期 

baseURL 地址 

更新日志 

接口详情 

一个完整的接口有以下组成 :

请求地址 :

请求方式 :get  post 

请求参数 :id   name  

返回参数 :json .....

7.接口文档工具 :

开发人员可以使用word 编写  、

showdoc.cc    https://www.showdoc.com.cn/  注册账号登录进去写接口文档 

swagger UI   相对于showdoc  功能更强大 

8.接口侦听 、代理 、转发 (抓包:数据的截取)

常见的抓包工具 :WireShark   Fiddler   (代理 、抓http   https 数据包)

9.协议分析工具的功能 :

侦听 :监听 

代理:web客户端-----------------代理----------------------web 服务器 

  代理 :

  HTTP代理   HTPPS 代理 

  SOCK4代理   仅TCP协议簇      SOCK5 TCP   UDP协议簇 

  代理的作用 :模拟限速  、设置断点 (请求前 ,响应后 修改请求 响应 )

转发:

  映射: 让发往目标网站的请求返回指定内容 

  修改host  、 反向代理 nginx   

  www.baidu.com---------------------返回www.sina.com

  重写 :自动对请求和 响应进行篡改 

  比如修改请求的首部字段    User-Agent :  

 

以上是关于接口分析的主要内容,如果未能解决你的问题,请参考以下文章

接口测试用例设计思路-

Spring源码分析 ---- BeanFactory接口的设计分析

注册业务接口分析

接口分析(上)

接口分析(上)

登录接口实现细节分析与登录接口代码实现