10. 功能测试如何体现接口和数据库意识?
很多初级测试认为功能测试就是点页面。
但现在企业面试里,面试官越来越看重接口和数据库意识。因为页面只是结果,真正的数据和逻辑在接口和后端。
一、为什么功能测试要懂接口和数据库
功能测试不一定要写代码,但要知道系统怎么运转。
页面操作背后通常会发生:
- 前端发起接口请求;
- 后端校验权限和参数;
- 业务逻辑处理;
- 数据库新增或更新记录;
- 返回接口响应;
- 前端展示结果。
如果只看页面,很难发现数据不一致、接口报错、权限绕过等问题。
二、接口意识体现在哪里
测试页面功能时,可以关注:
- 请求地址是否正确;
- 请求参数是否完整;
- 响应状态码是否正确;
- 响应字段是否符合预期;
- 异常参数是否有校验;
- 未登录或无权限是否被拦截;
- 重复提交是否被处理。
比如页面提示“保存成功”,但接口其实返回失败,前端误提示,这就是问题。
三、数据库意识体现在哪里
数据库验证重点不是会写多复杂的 SQL,而是知道要查什么。
常见验证点包括:
- 新增后是否插入记录;
- 编辑后字段是否更新;
- 删除是真删还是逻辑删除;
- 状态字段是否正确变化;
- 金额、库存、积分是否正确;
- 创建人、创建时间、更新时间是否正确;
- 关联表数据是否一致。
比如订单支付成功后,不只看页面,还要看订单表状态和支付流水是否一致。
四、哪些业务最需要接口和数据库验证
以下场景建议重点验证:
- 登录和权限;
- 下单和支付;
- 库存扣减;
- 优惠券使用;
- 审批状态流转;
- 用户积分;
- 文件上传;
- 批量导入导出;
- 定时任务处理结果。
这些场景一旦数据错了,影响往往比页面样式问题更严重。
五、举例:新增用户功能怎么测
页面层面:
- 必填项校验;
- 手机号格式;
- 邮箱格式;
- 角色选择;
- 保存成功提示。
接口层面:
- 请求参数是否包含用户信息和角色;
- 重复手机号是否被拦截;
- 无权限用户是否不能新增;
- 接口返回的用户 ID 是否正确。
数据库层面:
- 用户表是否新增记录;
- 角色关联表是否生成关系;
- 密码是否加密存储;
- 创建人和创建时间是否正确。
这样测试才完整。
六、举例:订单支付怎么测
页面层面:
- 支付成功提示;
- 订单详情展示已支付;
- 用户订单列表状态更新。
接口层面:
- 支付接口是否返回成功;
- 回调接口是否接收成功;
- 重复回调是否幂等;
- 支付失败是否返回明确错误。
数据库层面:
- 订单表状态是否变为已支付;
- 支付流水表是否生成记录;
- 库存是否扣减;
- 优惠券是否标记已使用;
- 金额是否一致。
这就是面试官想听到的测试深度。
七、面试回答模板
可以这样回答:
我做功能测试时不会只看页面结果,还会结合接口和数据库验证。比如新增、修改、删除类功能,我会看接口请求参数、响应结果和数据库记录是否一致;订单支付类功能,我会重点验证订单状态、支付流水、库存和优惠券状态;权限类功能,我会通过页面和接口两层确认无权限用户是否被拦截。这样可以发现页面正常但数据错误、接口异常或权限绕过的问题。
这个答案能体现你不是纯点工。
八、下一步建议
如果你想提升功能测试竞争力,建议重点补三项:
- 会用浏览器开发者工具或抓包工具看接口;
- 会写基础 SQL 查询数据;
- 能把页面、接口、数据库三层串起来讲。
配套刷题:

