知用网
白蓝主题五 · 清爽阅读
首页  > 软件入门

扩展功能测试中前后端如何高效配合

功能上线前的常见尴尬

小李是公司后端开发,最近接到一个需求:给用户中心加个“会员等级展示”功能。他按接口文档写完代码,自测没问题就扔给了前端同事小王。可小王一接,发现接口返回的字段名和文档对不上,等级图标也没给对应映射关系,卡了一上午。

这其实是扩展功能测试中最常见的问题——前后端脱节。功能不是一个人的事,尤其在加新模块时,协作不顺,测试就容易反复返工。

接口定义要“先说清楚”

加功能第一步,别急着写代码,先坐下来对齐数据结构。比如新增一个“优惠券领取”功能,前端要显示哪些信息?后端能提供什么字段?什么时候算领取成功?这些得在开发前定好。

推荐用简单的 JSON 示例作为沟通语言:

{
  "code": 0,
  "msg": "ok",
  "data": {
    "couponList": [
      {
        "id": 1001,
        "name": "满100减20",
        "status": "available",
        "expireTime": "2024-12-31 23:59:59"
      }
    ]
  }
}

这个格式前后端都看得懂,测试时也能直接当样例用。

模拟数据让前端不等后端

后端接口还没写完,前端不能干等着。可以用 mock 工具模拟响应。比如用 Mock.js 拦截请求:

Mock.mock('/api/coupon/list', {
  'code': 0,
  'data|5': [
    {
      'id|+1': 1,
      'name': '@ctitle(4,6)',
      'status': '@pick(["available", "used", "expired"])'
    }
  ]
});

这样前端能提前画页面、做交互逻辑,等真实接口一通,替换一下 base URL 就能跑通。

测试阶段要“互相踩坑”

功能联调时,别各测各的。前端可以故意传错参数,看后端有没有校验;后端也可以临时返回异常状态码,比如 500 或业务错误码,看前端有没有兜底提示。

有一次测试订单导出功能,前端传了非法时间格式,后端直接崩了。后来加上了时间校验,返回清晰的错误信息:

{
  "code": 40012,
  "msg": "时间格式错误,请使用 YYYY-MM-DD HH:mm:ss"
}

这种“互坑”反而让功能更稳。

上线前一起过一遍流程

功能开发完,别急着提交测试报告。前后端一起走一遍完整流程:从前端点击按钮,到后端处理,再到页面反馈,看有没有遗漏。

比如“修改昵称”功能,前端发了请求,后端改完了,但忘了在返回结果里带回新昵称。页面没刷新,用户还以为没改成功。这种细节只有联调时才容易发现。

多花十分钟一起跑一遍,能省掉上线后的紧急修复。