INTERFACE_FAIL_CLASSIFICATION.md 6.4 KB

CFC 接口失败分型报告

  • 数据源轮次:run_20261101_085833
  • 目标:http://192.168.16.251 (Host: cfc.iwintrue.com)
  • 唯一失败端点:292

一、为什么要做这个分型

冒烟脚本的判定只有一档:biz==200 记为 BIZ_OK,其余全部 BIZ_FAIL。 而绝大多数用例是空 body 请求,于是「没喂必填参数」和「后端真有缺陷」 混为一谈,导致通过率长期锁死在 45%,既看不见真实质量,也不知道该修什么。 本报告按接口返回的业务 message 文本,把失败重新归类。

二、分型结果

类型 数量 含义 是否需研发处理
REAL_ERR 49 真缺陷候选:通用业务异常,无法用"缺参数/占位数据"解释 是
AUTH_FAIL 25 鉴权/权限拦截失败,需确认是预期行为还是用例缺 token 待定
PRECONDITION 18 用例未按业务流程先建立上下文(如先创建家庭),属用例设计问题 否
DATA_STUB 32 占位 ID(默认 1)查不到记录,属测试数据问题 否
PARAM_MISSING 155 请求体未填必填参数,属测试数据问题 否
PARAM_INVALID 6 参数值不合法(格式/类型/范围),属测试数据问题 否
DEPRECATED 4 接口已声明废弃,应从通过率分母中剔除 否(建议清规格)
UNKNOWN 3 复读未拿到 JSON message,无法判定,需补测 待核实
合计 292

结论:292 个被记为"业务失败"的端点中,215 个(73%)是测试数据/规格噪声,真正需要研发关注的为 74 个(真缺陷 49 + 鉴权待定 25)。

剔除噪声后,剩余 77 个有效端点中真缺陷占比 63% —— 这个数字才具备诊断价值。

三、真缺陷候选清单(49 个)

方法 路径 biz 返回 message
POST /api/activity/publish 500 只有管理员或活动管理员可以发布活动
POST /api/articles/report-reading-time 500 success
POST /api/common/qrcode 500 不支持的二维码类型
POST /api/consignee/delete 500 服务器内部错误
POST /api/consignee/detail 500 服务器内部错误
POST /api/coupon/apply 500 服务器内部错误
POST /api/coupon/claim 500 未加入家庭
POST /api/dan-assessment/appointment/cancel 500 取消失败
POST /api/dan-assessment/order/pay 500 支付失败
POST /api/diet/ingredients/add 500 服务器内部错误
POST /api/diet/ingredients/recommend 500 服务器内部错误
POST /api/diet/ingredients/remove 500 服务器内部错误
POST /api/diet/ingredients/suggest 500 服务器内部错误
POST /api/diet/meals/config/save 400 服务器内部错误
POST /api/family/mbti/latest 500 success
POST /api/family/mbti/profile 500 服务器内部错误
POST /api/family/mbti/questions 500 服务器内部错误
POST /api/family/self-check/generate-plan 500 计划生成失败,请稍后重试
POST /api/family/user/children 400 服务器内部错误
POST /api/family/user/members/update-visibility 500 服务器内部错误
POST /api/growth/record/create 500 服务器内部错误
POST /api/growth/record/create-from-upload 500 服务器内部错误
POST /api/growth/record/create-with-order 500 服务器内部错误
POST /api/growth/record/list 500 服务器内部错误
POST /api/growth/record/supplement 500 服务器内部错误
POST /api/guide-config/current 500 服务器内部错误
POST /api/guide/messages/list 500 只有成长规划师可以查看
POST /api/health/challenge/progress 500 仅家庭成员可打卡
POST /api/health/plan/generate 4001 请升级为家庭会员或购买健康启航计划
POST /api/health/report/create 4001 请先购买健康启航计划体验包
POST /api/health/report/reassign 500 服务器内部错误
POST /api/indicator/change-ranking 500 服务器内部错误
POST /api/indicator/correlation/list 500 服务器内部错误
POST /api/indicator/quick-lookup 500 服务器内部错误
POST /api/insurance/planning 500 服务器内部错误
POST /api/meal/recommend 500 暂无可用食材和食谱,请联系运营配置
POST /api/membership/compare 500 服务器内部错误
POST /api/product/create 500 仅审核通过的服务商可发布商品
POST /api/product/purchase_fields/required 500 服务器内部错误
POST /api/task/reminder-config/save 500 至少选择一个提醒渠道
POST /api/tasks/accept 500 服务器内部错误
POST /api/tasks/create 400 服务器内部错误
POST /api/tianpan/annual-energy 500 服务器内部错误
POST /api/user/portrait/edit 500 服务器内部错误
POST /api/wishes/1/confirm 500 确认失败,请检查心愿状态
POST /api/wishes/1/exchange 500 申请兑换失败,请检查心愿状态
POST /api/wishes/1/fulfill 500 标记失败,请检查心愿状态
POST /api/wishes/1/reject 500 拒绝失败,请检查心愿状态
POST /api/withdrawal/apply 500 提现金额必须大于0

四、已废弃但仍在跑的接口(4 个)

这些应转入 410 Gone 并从用例分母剔除,否则长期污染通过率:

  • POST /api/auth/auto-login — 该接口已废弃,请改用 /api/auth/silent-login
  • POST /api/family/user/switch-back-to-parent — 该接口已废弃,请使用 /api/family/member/switch
  • POST /api/family/user/switch-mode — 该接口已废弃,请使用 /api/family/member/switch
  • POST /api/family/user/switch-to-child — 该接口已废弃,请使用 /api/family/member/switch

五、未能判定(3 个)

复读未取得 JSON message(超时/挂起/网关异常),标为待核实,不代表通过也不代表失败:

  • POST /api/contact/delete — 请求异常: TimeoutError
  • POST /api/contact/import-phone — 请求异常: TimeoutError
  • POST /api/indicator/trend — 请求异常: TimeoutError

生成方式:python interface_classify_failures.py 机读明细:interface_fail_classification.tsv