Project

General

Profile

QA验收 #1 » final-report.md

Redmine Admin, 09/22/2026 09:36 AM

 

NDB 小程序会议与话题回归报告

  • 测试日期:2026-09-22
  • 环境:本地开发环境
  • 小程序仓库:projects/mp/mp-conference
  • 小程序分支/版本:feat/meeting-v2-integration / 065a20b
  • BFF 分支/版本:feature/migrate-legacy-mini-api / 0223ab5
  • Backend 分支/版本:feat/meeting-management / 3e60c89
  • 微信开发者工具:登录有效,wechatide skill 0.3.9 与本地工具版本一致
  • 模拟器:iPhone 12/13 Pro,SDK 3.16.3

测试数据

  • 会议:ID 4,智算未来:AI芯片驱动的创新与机遇
  • 话题:ID 5,9月第一周消费行业深度洞察
  • 客户联系人:ID 9,小程序验收联系人,公司 ID 3
    • 在职状态:on
    • 软删除:否
    • 已配置唯一测试手机号
    • resolve_contact(phone, "wechat") 实测返回 client_contact_id: 9

用例结果

MP-MTG-001 会议列表与详情

  • 结果:PASS
  • 步骤:从“敏思汇”会议列表打开会议 ID 4。
  • 预期:详情可加载,会议时间、报名状态、专家、会议内容正常显示,不出现原始 HTML 或 Markdown 源码。
  • 实际:会议详情正常显示,专家为“测试专家-458858”;当前会议已结束,报名与参会入口按结束状态关闭;未观察到原始 HTML/Markdown 源码。
  • 请求:GET /api/v2/meetings/4 返回 HTTP 200。
  • 证据:01-meeting-list.jpg、02-meeting-detail.jpg。

MP-TPC-001 话题详情富文本

  • 结果:PASS
  • 步骤:从“敏思谈”进入话题 ID 5。
  • 预期:话题背景和提纲正常显示,<p>/<strong> 等存储标签不能作为源码出现在界面。
  • 实际:提纲按段落、粗体和列表结构展示;可见文本未出现 HTML 标签源码或脚本文本。
  • 请求:GET /api/v2/catalog/topics/5 返回 HTTP 200。
  • 证据:02-topic-detail.jpg。

MP-TPC-LEG-001 历史危险 HTML

  • 结果:SKIPPED(真实数据不具备覆盖条件)
  • 步骤:只读分类本地开发库全部已发布话题的提纲格式。
  • 预期:若存在带 script/style 或事件属性的真实历史数据,则打开详情确认危险内容不显示。
  • 实际:已发布话题均为普通 Markdown/安全富文本内容;没有检测到 script/style、事件属性或 javascript: 样本。按约束未修改数据库造数,因此没有执行真实存量危险 HTML 的持久化 E2E。
  • 补充:话题 ID 5 的安全富文本已通过 MP-TPC-001 验证。

MP-ERR-001 不存在记录错误态

  • 结果:PASS
  • 步骤:分别打开新版会议详情 id=99999999&source=v2 和话题详情 id=99999999。
  • 预期:显示稳定错误态和重新加载入口,不应卡死或显示实体操作。
  • 实际:两页均显示“记录不存在”和重新加载按钮;没有编辑或业务操作入口。
  • 请求:会议、话题 BFF 详情接口均返回 HTTP 404。
  • 证据:03-topic-not-found.jpg、04-meeting-not-found-v2.jpg。

运行日志

  • simulator console 中 error 检索为空。
  • 观察到非阻断 warning:Vue feature flag、plugin install、option extraneous attribute、wx.getSystemInfoSync deprecated。
  • 本轮未将这些既有 warning 归因为会议或话题功能失败。

联系人参与资格边界

  • 联系人 ID 9 已满足 NDB 微信渠道手机号唯一解析条件,可作为小程序绑定/报名测试联系人。
  • 当前模拟器用户未通过真实微信手机号授权提供该测试号码,因此没有绕过身份校验强行绑定,也没有创建报名或财务 Task。
  • 真实“授权手机号 → 绑定联系人 → 报名 → 生成应收 Task”链路仍需能提供对应手机号的微信测试账号后执行。

仓库与操作边界

  • mp-conference、mp-conference-api-v2、backend 测试结束时工作区均干净。
  • 本轮没有修改源码或配置,没有提交、推送、PR、部署或预览上传。
  • 联系人 ID 9 是用户明确授权的新建本地测试数据。
(9-9/78)