接口测试设计清单:不可遗漏的非功能性测试点

接口测试设计清单:不可遗漏的非功能性测试点

导读:本文是一份可直接复用的接口测试清单,聚焦"接口能调通之外"最容易遗漏的非功能性测试点:错误码语义与稳定性、数据库落库与脏数据、登录/身份/权限边界、分页与参数边界值(如 int 最大值 2147483647、浮点精度 0.1+0.2),以及自动化用例的数据清理、自备数据和互相独立等硬性规范。适合接口测试工程师和希望提升接口质量的开发按模板逐条对照自己的用例设计。

分类:接口测试|标签:接口测试、自动化测试

接口测试只校验「接口能不能调通、结果对不对」远远不够。回顾日常项目,真正容易被遗漏、上线后回头发现在背锅的,往往是那些非功能性测试点:错误码规不规范、数据库有没有脏数据、权限和身份边界对不对、分页和参数边界崩不崩。

本文把实践中最容易漏掉的非功能性接口测试点整理成一份清单式模板,每个类别都按「测试点 + 检查方法」组织,可直接复制到自己的接口测试用例设计里使用。

一、错误码校验

不同业务场景下,接口返回的错误码要准确、符合前后端约定的规范,不能所有异常都返回同一个「系统繁忙」。

测试点 检查方法
不同场景返回不同的错误码 逐个场景触发,核对错误码与约定文档一致
错误码语义正确 区分业务错误与系统错误,前端的提示文案据此区分
错误码稳定、可枚举 同一错误场景重复调用,错误码不漂移

示例:错误码至少区分两类

  • 业务错误:请求本身不合法或被拒绝,如「参数缺失」「无权限」「余额不足」,返回后前端直接展示提示。
  • 系统错误:服务内部异常,如数据库不可用、下游超时,返回后前端提示「稍后重试」而非误导性文案。

二、数据库校验

接口返回成功不代表数据正确,尤其非查询类接口(新增、修改、删除),必须落到数据库校验。

测试点 检查方法
非查询类接口调用成功后,数据库有新增/变更数据 调用前查一次数据快照,调用后对比新增行、变更字段是否符合预期
非查询类接口调用失败后,数据库无新增数据 构造失败场景(如参数非法、鉴权失败),确认未写入脏数据
事务回滚正确 支持事务的接口,中途失败时已写入的部分是否回滚干净

三、登录校验

接口的登录态是安全的第一道闸门,登录相关的非功能点往往在联调阶段才暴露。

测试点 检查方法
未登录状态调用 不带登录凭证直接调用,返回未登录错误码,而不是业务数据或 500
单点登录重新登录后,原 session 失效 重新登录后,用旧 session 继续调用,确认被拒绝或跳转重新登录
session/token 过期与续期 过期后调用、临期刷新等场景行为符合约定

四、身份校验

身份校验针对的是「请求里声明的身份」是否真实可信。

测试点 检查方法
登录身份与上报身份不一致 用 A 身份登录,但业务参数里上报 B 身份,返回对应的身份不匹配错误码

示例:登录用户是 userA,构造请求携带 userId: userB 的入参,接口应识别不一致并返回错误码,而不是直接按 userB 执行。

五、权限校验

有身份还要有权限,不同角色能访问的资源和操作范围必须收敛。

测试点 检查方法
当前身份无权限时,返回对应错误码 用无权限角色调用受保护接口,确认返回「无权限」而非业务结果
权限边界准确 普通用户、管理员、不同角色成员各自能访问/不能访问的接口逐一核对

六、分页校验

分页看似简单,边界场景最容易翻车。

测试点 检查方法
未指定分页数 不传分页参数时,返回第一页数据(而非全部或报错)
设置分页数 返回对应页码、条数正确,总数与总页数字段准确
超出分页数 请求超过总页数的页码,返回空列表或对应错误码,不抛异常
分页边界值 page=1、size=0、size 超上限、page 传负数等边界逐一验证

七、参数校验

参数校验是接口健壮性的基本面,重点覆盖「为空、类型、边界、个数」四类。

必传与为空

测试点 检查方法
参数为空时,是否按必传约定返回错误 必传参数缺失,提示字段名与约定一致;非必传缺省时走默认逻辑

字符串类型

测试点 检查方法
长度边界 空串、超长串、恰好等于最大长度
内容边界 特殊字符、中文、emoji、前后空格、HTML/脚本注入串

整型数值

测试点 检查方法
基本类型 正数、负数、零
类型错误 传浮点数、非数字类型(字母、空值)时返回对应错误码
边界值 最小值−1、最小值、最大值、最大值+1、0

示例:整型参数边界值

参数 输入 预期
id 0 按约定返回错误码或空结果
id 2147483647(int 最大值) 正常处理
id 2147483648(超出 int) 返回参数类型/范围错误
id -1 返回参数校验错误

浮点数

测试点 检查方法
基本类型 正浮点数、零、负浮点数
类型错误 非浮点数类型(整数外的字母、空值)返回对应错误码
边界值 浮点数上下边界、精度丢失场景(如 0.1 + 0.2)

参数个数

测试点 检查方法
参数缺失 少传一个必传参数,提示准确
参数多余 多传未定义的参数,不报 500,按约定忽略或报错
数组/列表参数 空数组、单元素、超大批量元素

八、自动化测试规范

接口自动化用例要能在流水线里稳定跑,光会断言「返回成功」是不够的,下面四条是硬性规范:

规范 说明
用例执行后清理数据 通过 SQL、接口调用等方式清除测试数据、还原系统设置,不留脏数据影响后续用例/环境
用例数据前置自备 用例需要的数据,在前置(setup)中通过 SQL、接口调用等方式自动插入,不依赖手工造数
每个用例必须有结果断言 至少包含:1)错误码检查;2)其他数据检查(返回值字段、数据库落库结果等)
用例互相独立 任意一个用例任何时候都可以单独运行,不受其他用例的执行顺序和结果影响

结语

错误码、数据库、登录、身份权限、分页、参数边界、自动化规范——这七类非功能性测试点,几乎每个接口项目都能套用。把它当模板过一遍,能规避大多数「接口功能正常、上线出问题」的坑。如果你的团队还没有这样的清单,直接复制本文,按自己项目的错误码规范和参数约定补上细节即可。