接口测试 全量测试点分析
后端接口测试点分析
1.接口测试
接口测试的原理
测试人员结局工具模拟客户端向服务器段发送请求 服务器端接收请求报文后 对响应的报文做处理并作出处理并向客户端返回应答 工具模拟的客户端接收应答 然后测试人员查新应答是否准确 这就是接口测试的原理 。所以接口测试的重点和难点在于测试数据的输入和输出
通用的接口测试范围
- 功能实现
- 性能达标
- 安全性
关注重点在于 数据的交换 传递 处理次数 以及控制管理过程
后端测试点分析
接口功能
静态文档检查-确认接口信息项准确性
对于一个新增接口来说 需要根据根据 接口文档 数据库信息项文档 以及需求文档(数据字典)确定接口信息项的准确性 测试重点在于在于 长度 必填项 类型 等重要的字段属性检查
单接口测试- 全量
对于单接口测试来说 测试重点在于接口本身 及
全量入参主要验证单接口全量入参 主要验证的是单接口正向功能
信息项的全量覆盖
数据库存储检查
关注点在于 数据全量输入与接口的正确响应。
单接口测试测试- 必填项
必填项测试 主要验证的是 字段必填属性是否存在遗漏和多余
单接口测试 – 长度边界
长度边界正向测试 主要验证 接口字段的长度属性 一般与 全量一起验证
单接口测试 – 码值覆盖
该测试主要是验证 字段的码值属性 关注点在于 码值引用的正确性和 码值翻译值的正确性
单接口测试 – 场景模拟
这个个人认为它是 参数组合验证的一个分支 测试点是 依据需求需要满足客户常用场景的参数组合 是否存在错误
反向 – 超长测试
该测试为反向测试 测试点在于 超出字段的长度后 接口是否可以正确响应(400)提示是否准确 数据是否正确处理(数据不存库等)
反向 – 必填项缺失
该测试为反向测试 测试点在于 接口必填项缺失入参 接口可以正确响应 提示准确 数据库正确处理
注意 : 虽然反向验证点基本一致 但为了避免存在干扰测试 一般单独测试
特殊单接口测试
聚合接口测试
聚合接口是为了防止异步调用出现冲突问题而使用的一种接口 将某些请求包装在一层请求的处理方法中 通过调用外层方法调用几个接口来满足需求
所以在做聚合接口的外层测试与单接口测试时的注意点保持一致 特别要注意的是接口返回值是否满足需求和开发定义好的规则
一般与开发确定
批量接口测试
对于有批量操作的功能 除了一般的单接口测试点外 需要验证 批量接口的性能 依据是需求给出的需求文档 和性能测试给出的具体要求
单模块测试(闭环模拟)
可以理解为单模块的的增删改查测试 确保模块级别的数据流转
一般单模块的闭环模拟
新增-- 外键查询 --- 修改 --- 主键查询 -- 新增-- 数量查询--- 删除
如果存在其他单接口 可以在这个闭环中根据情况加入节点
模块集成测试
模块集成闭环一般指的是单一服务 存在多个单模块时 模块间的数据传输 特别要注意存在父子关系模块的数据传输
也就是
子节点数据是否向父节点传输标识字段数据(冗余字段
)
父节点数据删除 子节点数据同步删除
如果是平级的不同模块 则需要测试的是
数据互相传输的准确性(数量和质量)
模块与模块之间数据的耦合字段测试 (数据总体不受影响 如果有字段冗余 发起方模块数据删除 冗余字段也需要删除)
例如 数据库主表和各个字表之间就是这个关系
接口逻辑
逻辑覆盖验证
逻辑覆盖 则是对 接口逻辑作为测试点 分析 测试 覆盖接口逻辑
通常 逻辑覆盖验证 与 判定表测试方法结合 验证需求 分析 需求的 (显性/隐性)测试点 达到逻辑的全面覆盖
代码覆盖验证(能力 UP ↑)
这种方法需要一定的读代码能力 (也可以简化为 搜索if 分支)
根据代码if分支条件 生成测试点 与判定表方法结合生成测试用例 做到代码覆盖
服务集成测试(数据 流转)
服务间的集成测试 主要的测试点是在于服务间的测试流转 体现在接口则是 (中间件) 的相关测试内容
1 数据流转的发起点(发起逻辑的)的准确性
2 流转的数据是否符合要求 正确性如何
3 接收方 接收流转后的数据处理是否准确
多前端测试
这是业务中台特有 的测试内容
测试点 在于各个场景层对于数据处理要求的差异点 每个差异点 对数据中台来说都是测试点
业务模拟测试
业务模拟测试的测试点其实与常用参数组合测试的测试点类似
主要是 依据需求背景 提炼用户的常用场景 对每个场景进行接口组合测试 数据流转处理是否正确
异常探索性测试
相对于上面的测试点这里的测试点 的优先级一般会低一些
异常 — 幂等测试
测试点在于重复提交 接口的相应情况
异常 — 并发测试
性能测试部分 测试点为 数据并发接口是否异常
异常 — 事务测试
此测试点包含在 服务间集成测试中 目前中台的事务一般使用在服务间的数据流转 一般体现为 数据流转和接口本身逻辑的前后顺序问题
测试点为 接收流转数据接口的数据处理与本身接口功能逻辑是否存在冲突
异常 — 环境异常
测试点 是 系统环境异常 接口处理是否满足需求
(法庭 — 日程)
异常 — 加压环境测试
测试点是 在加压环境测试接口 接口是否可以正常运行
探索 — 博物馆测试
测试点在于 改动接口的历史脚本冒烟
其他测试点
性能测试
专门团队负责 不再赘述
安全测试(建议)
1 控制台和数据库的日志级别是否满足安全需求
2 SQL注入(内网 暂不关注)
3 敏感信息加密(暂未遇到)