什么是API接口:
接口是前端和后端实现数据通讯的桥梁,本质是实现数据的传入和传出的过程
接口就是软件中实现数据通讯/交换的URL
接口的分类:
软件结构:
系统内部接口:系统与子系统之间、模块与模块之间
系统外部接口:系统与第三方系统之间的接口(第三方接口是由第三方平台直接提供的接口)
常见第三方接口:
聚合api
: 聚合数据 - API接口开放平台_API接口大全_免费API数据接口服务
支付宝api
: 支付宝开放平台文档中心
微信支付API
: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
微博开放API
: API - 微博API
技术实现划分:
HTTP接口:基于http
协议所实现的接口,主要通过模拟发送一个http
请求给服务器,服务器会进行返回一个http
响应结果,且响应只能够响应一次(目前http
协议的接口,在市场上份额为95%以上 )
webservice接口:又称soap接口,SOAP(Simple Object Access Protocol)简单对象访问协议
接口管理方式:
- 传统的api接口管理方法:word文档即api文档
- 接口平台管理:SwaggerUI、Showdoc、Eolinker、easyAPI、YAPI、DoClever等
- 公司自研的管理工具
什么是接口测试:
接口测试就是测试后端的接口,请求后端接口传输数据,观察返回的结果与预期结果是否符合的过程
应用范围:用于检测外部系统与系统之间以及内部各子系统之间的交互点
测试重点:检查数据的交换、传递、控制管理过程,以及系统间的相互逻辑依赖关系等
为什么进行接口测试:
- 越早发现bug(越底层发现bug),修复成本越低
- 接口测试完成后,后端不变,前端可以随意更改
- 现今的系统复杂度不断上升,传统测试方法成本剧增且效率急剧下滑,接口测试可以解决此类问题
- 接口测试相对容易实现自动化持续集成,能够缩短测试周期
- 如今大多数系统采用的前后端分离的架构,接口测试能够排除前后端分离开发可能存在的安全隐患(例如加密信息是否可见,交易金额是否合法)
接口测试的时间点:
- 系统开发早期
- 对于持续迭代的项目,每轮迭代的时候
接口测试流程:
- 理解需求,根据需求规格说明书、接口文档进行业务梳理
- 接口用例设计
- 准备测试数据
- 部署测试场景、环境(包括接口运行环境、测试工具、测试脚本等)
- 执行测试用例
Bug
的定位与追踪- 接口测试报告输出
接口测试的测试点:
1.接口的功能实现
验证接口的功能是否按照API
文档正确地实现
2.逻辑业务测试
验证接口之间是否有依赖业务
3.异常操作
参数异常:关键字参数,参数为空,多传,少传参数,错误参数等
数据异常:关键字数据,数据为空,长度不一致,错误数据等
4.接口的性能
响应时间、吞吐量、并发用户数、占用内存、CPU等
5.接口的安全性
敏感信息是否加密、必要的参数是否前后端都进行了限制、不带Cookie是否能获取数据、不带Header是否能获取数据等