接口测试入门课 ############## 点评 ==== .. note:: 真是入门课,适合没有开发知识的人入门用,比较浅显。比较注意的是,他解答了我一直以来的一个疑问,如果你刚接手一个项目或你无法控制要不要写单元测试时,增加接口测试的比重来弥补单元测试的不足,测试模型从金字塔变成菱形也不是不能接受(虽然没有金字塔好,但也能保证产品的质量)。 开篇词 | 把接口测试这件小事做深/做透 ======================================= * 《京东质量团队转型实践:从测试到测试开发的蜕变》 * 《Google 的软件测试之道》 * 《软件测试的艺术》 * api测试平台: https://github.com/YMFE/yapi * 接口文档和测试的工具: https://github.com/arlicle/panda-api * Rap: 阿里妈妈 MUX 团队 2013 年出的一款产品,从时间上看是同类产品中最早的。Rap 是后端工程师基于 java 开发的 * Nei: 网易前端事业部的产品,专注做 saas 服务这块,没有开源版本 * Easy-Mock: 大搜车无线团队出的一款产品,定位是接口数据的模拟 * eolinker: * https://apifox.cn * https://console.apipost.cn * 易文档: https://easydoc.net/ * 智能化单元测试框架: EvoSuite 01 | 基础: 跳出细节看全局 ========================= .. figure:: https://img.zhaoweiguo.com/uPic/2022/09/2l4KBe.jpg 测试金字塔模型 .. figure:: https://img.zhaoweiguo.com/uPic/2022/09/6t85ZI.jpg 加大我们自己主导的接口测试的工作投入比重,来弥补单元测试的不足,这样,上面那个金字塔模型就会逐渐演变成菱形模型。 * 《自动的自动化测试智能化一站式 API 测试服务》——2019 年 TiD 上的演讲 接口测试其实就是模拟调用方,比如 Client 端,通过接口通信来检测被测接口的正确性和容错性 * 接口测试是通过设计输入和预期输出来完成测试验证的 * 接口测试是一个技术知识和业务知识相结合的工作 * 接口测试也是功能测试,会覆盖部分单元测试和界面测试的工作 .. note:: 对测试来说,正常请求和异常请求都是正向测试;反向测试是正向测试的反操作,如支付的反向操作是退款。 02 | 方法论: 没有任何文档, 怎么才能快速了解接口的信息 ===================================================== 一个理想的提测项目:: 1. 产品需求 2. 原型设计 3. 接口文档 4. 单元测试脚本 接口测试分为:: 1. 单接口测试 2. 业务逻辑测试 1. 单接口测试:: 目的: 为了完成单个服务接口的功能正确性和健壮性 更加贴近于代码的单元测试 站在 Client 端的角度来完成测试 将一些非法业务异常放到该部分进行测试 2. 业务逻辑测试:: 更加靠近手工业务测试,但却更加聚焦于业务逻辑本身 不再将一些非法业务异常放到该部分进行测试