Skip to content

10. 功能测试如何体现接口和数据库意识

很多初级测试认为功能测试就是点页面。

但现在企业面试里,面试官越来越看重接口和数据库意识。因为页面只是结果,真正的数据和逻辑在接口和后端。

一、为什么功能测试要懂接口和数据库

功能测试不一定要写代码,但要知道系统怎么运转。

页面操作背后通常会发生:

  • 前端发起接口请求;
  • 后端校验权限和参数;
  • 业务逻辑处理;
  • 数据库新增或更新记录;
  • 返回接口响应;
  • 前端展示结果。

如果只看页面,很难发现数据不一致、接口报错、权限绕过等问题。

二、接口意识体现在哪里

测试页面功能时,可以关注:

  • 请求地址是否正确;
  • 请求参数是否完整;
  • 响应状态码是否正确;
  • 响应字段是否符合预期;
  • 异常参数是否有校验;
  • 未登录或无权限是否被拦截;
  • 重复提交是否被处理。

比如页面提示"保存成功",但接口其实返回失败,前端误提示,这就是问题。

三、数据库意识体现在哪里

数据库验证重点不是会写多复杂的 SQL,而是知道要查什么。

常见验证点包括:

  • 新增后是否插入记录;
  • 编辑后字段是否更新;
  • 删除是真删还是逻辑删除;
  • 状态字段是否正确变化;
  • 金额、库存、积分是否正确;
  • 创建人、创建时间、更新时间是否正确;
  • 关联表数据是否一致。

比如订单支付成功后,不只看页面,还要看订单表状态和支付流水是否一致。

四、哪些业务最需要接口和数据库验证

以下场景建议重点验证:

  • 登录和权限;
  • 下单和支付;
  • 库存扣减;
  • 优惠券使用;
  • 审批状态流转;
  • 用户积分;
  • 文件上传;
  • 批量导入导出;
  • 定时任务处理结果。

这些场景一旦数据错了,影响往往比页面样式问题更严重。

五、举例:新增用户功能怎么测

页面层面:

  • 必填项校验;
  • 手机号格式;
  • 邮箱格式;
  • 角色选择;
  • 保存成功提示。

接口层面:

  • 请求参数是否包含用户信息和角色;
  • 重复手机号是否被拦截;
  • 无权限用户是否不能新增;
  • 接口返回的用户 ID 是否正确。

数据库层面:

  • 用户表是否新增记录;
  • 角色关联表是否生成关系;
  • 密码是否加密存储;
  • 创建人和创建时间是否正确。

这样测试才完整。

六、举例:订单支付怎么测

页面层面:

  • 支付成功提示;
  • 订单详情展示已支付;
  • 用户订单列表状态更新。

接口层面:

  • 支付接口是否返回成功;
  • 回调接口是否接收成功;
  • 重复回调是否幂等;
  • 支付失败是否返回明确错误。

数据库层面:

  • 订单表状态是否变为已支付;
  • 支付流水表是否生成记录;
  • 库存是否扣减;
  • 优惠券是否标记已使用;
  • 金额是否一致。

这就是面试官想听到的测试深度。

七、面试回答模板

可以这样回答:

我做功能测试时不会只看页面结果,还会结合接口和数据库验证。比如新增、修改、删除类功能,我会看接口请求参数、响应结果和数据库记录是否一致;订单支付类功能,我会重点验证订单状态、支付流水、库存和优惠券状态;权限类功能,我会通过页面和接口两层确认无权限用户是否被拦截。这样可以发现页面正常但数据错误、接口异常或权限绕过的问题。

这个答案能体现你不是纯点工。

八、下一步建议

如果你想提升功能测试竞争力,建议重点补三项:

  • 会用浏览器开发者工具或抓包工具看接口;
  • 会写基础 SQL 查询数据;
  • 能把页面、接口、数据库三层串起来讲。

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效