Project

General

Profile

QA验收 #1 » case-results.md

Redmine Admin, 10/07/2026 02:32 PM

 

QA 测试结果 - QA-MEETING-EXPERT-20261007-R1 - 2026-10-07 22:31 Asia/Shanghai

  • Redmine: NDB #1 会议管理与话题管理功能验收(含 Markdown/BFF 跨端验证)。
  • 执行者: NDB QA Agent。环境: 本地微信开发者工具,skill/tool 0.3.9 equal,未登录的小程序访客;工具开发者账号登录不等于小程序用户登录。
  • 候选: projects/mp/mp-conference,feat/meeting-v2-integration,HEAD dda147326123846629dd16705ef51a4cf177a536 上未提交候选。保留全部已有改动。
  • 预检: effective pwd/Gitroot=/Users/gexiaowei/Documents/work/mindsetech/ndb/projects/mp/mp-conference,目标页readable/writable,docs writable;未写业务源码。
  • 汇总: Pass 43 / Fail 0 / Blocked 7 / Skipped 0,共50条。36条单元/mock + 14条接口/模拟器/源码/E2E门禁。Pass严格按层级,不代表真实预约完成。
  • 单元命令: node --test --test-reporter=tap tests/consultant-booking.test.cjs tests/catalog-v2.test.cjs tests/meeting-v2.test.cjs,36/36通过,无业务库POST。
  • 原生tap工具限制: 多次tap/trigger仅返回success,页面未变,记录Blocked,不按回执认定交互成功。用编译页面既有eh分发tap(从真实outerWxml读取sid)后,详情导航和原生登录提示实际出现;不是源码修改,也不是真实触摸证明。
  • 原生弹窗: WXML不包含按钮;本执行器无cua。尝试System Events只读遍历未在有界时间返回,已中断。未使用mock假冒原生点击。Mini本轮真实登录/返回图片已复核,独立复现仍Blocked。
  • 当前模拟器经reLaunch回到会议75/source=v2;不继续占用模拟器,独占权释放。若原生模态仍在窗口上,由下一拥有者安全取消,不得点任何提交动作。
编号 用例/检查点 层级 预期 实际 状态 证据/缺陷
EXP-UNIT-001 gather and search remove the duplicate online-meeting category 单元/mock gather and search remove the duplicate online-meeting category node:test ok 1,断言通过;无真实业务请求 Pass unit-tests.tap #1
EXP-UNIT-002 content, topics and experts only use the V2 catalog API 单元/mock content, topics and experts only use the V2 catalog API node:test ok 2,断言通过;无真实业务请求 Pass unit-tests.tap #2
EXP-UNIT-003 home recommendations and industry filters only use the V2 catalog API 单元/mock home recommendations and industry filters only use the V2 catalog API node:test ok 3,断言通过;无真实业务请求 Pass unit-tests.tap #3
EXP-UNIT-004 the mini-program has no legacy API origin or request client 单元/mock the mini-program has no legacy API origin or request client node:test ok 4,断言通过;无真实业务请求 Pass unit-tests.tap #4
EXP-UNIT-005 content cards open the dedicated V2 detail page 单元/mock content cards open the dedicated V2 detail page node:test ok 5,断言通过;无真实业务请求 Pass unit-tests.tap #5
EXP-UNIT-006 catalog adapters preserve public presentation and never add private expert fields 单元/mock catalog adapters preserve public presentation and never add private expert fields node:test ok 6,断言通过;无真实业务请求 Pass unit-tests.tap #6
EXP-UNIT-007 catalog error states are retryable except for unavailable content 单元/mock catalog error states are retryable except for unavailable content node:test ok 7,断言通过;无真实业务请求 Pass unit-tests.tap #7
EXP-UNIT-008 catalog lists isolate pagination, stop at total, preserve time ranges, and expose retries 单元/mock catalog lists isolate pagination, stop at total, preserve time ranges, and expose retries node:test ok 8,断言通过;无真实业务请求 Pass unit-tests.tap #8
EXP-UNIT-009 logged-out expert booking can be cancelled or open login without posting 单元/mock logged-out expert booking can be cancelled or open login without posting node:test ok 9,断言通过;无真实业务请求 Pass unit-tests.tap #9
EXP-UNIT-010 unauthenticated expert booking opens the existing authentication dialog without posting 单元/mock unauthenticated expert booking opens the existing authentication dialog without posting node:test ok 10,断言通过;无真实业务请求 Pass unit-tests.tap #10
EXP-UNIT-011 concurrent expert booking posts the public profile id once and shows the success feedback 单元/mock concurrent expert booking posts the public profile id once and shows the success feedback node:test ok 11,断言通过;无真实业务请求 Pass unit-tests.tap #11
EXP-UNIT-012 failed expert booking allows retry and rechecks access before the next post 单元/mock failed expert booking allows retry and rechecks access before the next post node:test ok 12,断言通过;无真实业务请求 Pass unit-tests.tap #12
EXP-UNIT-013 registration shows the customer charge before submitting; pending is never called confirmed 单元/mock registration shows the customer charge before submitting; pending is never called confirmed node:test ok 13,断言通过;无真实业务请求 Pass unit-tests.tap #13
EXP-UNIT-014 meeting detail downloads and opens the generated minutes attachment 单元/mock meeting detail downloads and opens the generated minutes attachment node:test ok 14,断言通过;无真实业务请求 Pass unit-tests.tap #14
EXP-UNIT-015 meeting content requires a valid session before download and opens login only once 单元/mock meeting content requires a valid session before download and opens login only once node:test ok 15,断言通过;无真实业务请求 Pass unit-tests.tap #15
EXP-UNIT-016 meeting content login prompt can be cancelled without leaving or downloading 单元/mock meeting content login prompt can be cancelled without leaving or downloading node:test ok 16,断言通过;无真实业务请求 Pass unit-tests.tap #16
EXP-UNIT-017 registration is not submitted when the price prompt is cancelled 单元/mock registration is not submitted when the price prompt is cancelled node:test ok 17,断言通过;无真实业务请求 Pass unit-tests.tap #17
EXP-UNIT-018 timeout retries reuse the same key without optimistic registration 单元/mock timeout retries reuse the same key without optimistic registration node:test ok 18,断言通过;无真实业务请求 Pass unit-tests.tap #18
EXP-UNIT-019 favorites stay independent while minutes reservation requires customer authentication 单元/mock favorites stay independent while minutes reservation requires customer authentication node:test ok 19,断言通过;无真实业务请求 Pass unit-tests.tap #19
EXP-UNIT-020 started meeting reserves minutes once with a price confirmation and authoritative reread 单元/mock started meeting reserves minutes once with a price confirmation and authoritative reread node:test ok 20,断言通过;无真实业务请求 Pass unit-tests.tap #20
EXP-UNIT-021 started meeting overview guidance follows the minutes reservation action without changing registration gates 单元/mock started meeting overview guidance follows the minutes reservation action without changing registration gates node:test ok 21,断言通过;无真实业务请求 Pass unit-tests.tap #21
EXP-UNIT-022 attendance and minutes reservation coexist without changing registration or join authorization 单元/mock attendance and minutes reservation coexist without changing registration or join authorization node:test ok 22,断言通过;无真实业务请求 Pass unit-tests.tap #22
EXP-UNIT-023 minutes-only reservation never creates a client-side attendance projection or join link 单元/mock minutes-only reservation never creates a client-side attendance projection or join link node:test ok 23,断言通过;无真实业务请求 Pass unit-tests.tap #23
EXP-UNIT-024 cancelled price confirmation does not reserve minutes 单元/mock cancelled price confirmation does not reserve minutes node:test ok 24,断言通过;无真实业务请求 Pass unit-tests.tap #24
EXP-UNIT-025 published analyst minutes block reservation even when the attachment is missing; AI minutes do not 单元/mock published analyst minutes block reservation even when the attachment is missing; AI minutes do not node:test ok 25,断言通过;无真实业务请求 Pass unit-tests.tap #25
EXP-UNIT-026 reservation read failures never become an unreserved state or consult legacy subscriptions 单元/mock reservation read failures never become an unreserved state or consult legacy subscriptions node:test ok 26,断言通过;无真实业务请求 Pass unit-tests.tap #26
EXP-UNIT-027 reservation retries reuse the business key and never optimistically mark success 单元/mock reservation retries reuse the business key and never optimistically mark success node:test ok 27,断言通过;无真实业务请求 Pass unit-tests.tap #27
EXP-UNIT-028 reservation results from an old login session never pollute the current session 单元/mock reservation results from an old login session never pollute the current session node:test ok 28,断言通过;无真实业务请求 Pass unit-tests.tap #28
EXP-UNIT-029 minutes can never be written through the legacy notification subscription API 单元/mock minutes can never be written through the legacy notification subscription API node:test ok 29,断言通过;无真实业务请求 Pass unit-tests.tap #29
EXP-UNIT-030 missing active contract keeps reservation unconfirmed and points to staff handling 单元/mock missing active contract keeps reservation unconfirmed and points to staff handling node:test ok 30,断言通过;无真实业务请求 Pass unit-tests.tap #30
EXP-UNIT-031 cancellation asks only for confirmation and allows registration again 单元/mock cancellation asks only for confirmation and allows registration again node:test ok 31,断言通过;无真实业务请求 Pass unit-tests.tap #31
EXP-UNIT-032 unavailable registration read disables mutation, logout removes a visible link 单元/mock unavailable registration read disables mutation, logout removes a visible link node:test ok 32,断言通过;无真实业务请求 Pass unit-tests.tap #32
EXP-UNIT-033 secondary failures stay local while meeting detail remains available 单元/mock secondary failures stay local while meeting detail remains available node:test ok 33,断言通过;无真实业务请求 Pass unit-tests.tap #33
EXP-UNIT-034 completed and cancelled meetings override unbound identity guidance 单元/mock completed and cancelled meetings override unbound identity guidance node:test ok 34,断言通过;无真实业务请求 Pass unit-tests.tap #34
EXP-UNIT-035 legacy IDs never enter v2 mutation routes or reveal the legacy public link 单元/mock legacy IDs never enter v2 mutation routes or reveal the legacy public link node:test ok 35,断言通过;无真实业务请求 Pass unit-tests.tap #35
EXP-UNIT-036 phone, contact and meeting eligibility gate registration; settlement errors stay explicit 单元/mock phone, contact and meeting eligibility gate registration; settlement errors stay explicit node:test ok 36,断言通过;无真实业务请求 Pass unit-tests.tap #36
EXP-HTTP-001 会议公开资料加法契约 只读接口 保留关联ID,增加公开profile GET meetings/75:关联481208,publicProfile.id49,显示资料匹配 Pass GET摘要;卡片截图01
EXP-HTTP-002 公开专家详情ID对应 只读接口 公开id49详情与卡片一致 GET catalog/experts/49:秦贵军/某商业航空公司/联合创始人 Pass GET摘要;截图02
EXP-SIM-001 完整公开专家卡片 模拟器只读 默认头像、昵称、公司、职位、独立按钮可见 截图确认;outerWxml默认头像URL,无内部姓名 Pass 01-meeting-expert.png
EXP-SIM-002 信息区详情导航 模拟器事件分发 profileid49且保留conference_id75 分发既有tap后currentPage专家49/conference_id75;返回正常 Pass 02-expert-detail.png;runtimeInfo
EXP-SIM-003 未登录独立约访提示 模拟器事件分发 提示登录且不跳专家详情 分发既有tap后真实提示暂不登录/去登录;仍会议75 Pass 03-login-gate.png
EXP-SIM-004 原生取消登录独立复现 原生模拟器 取消留原会议不提交 原生弹窗不在WXML,当前未暴露cua;仅mock及Mini同轮证明 Blocked UNIT009;Mini同轮交付;无独立原生点击
EXP-SIM-005 原生去登录独立复现 原生模拟器 去登录打开login页面不提交 QA缺原生按钮点击工具;已复核Mini登录截图 Blocked 04-login-page.png(Mini来源)
EXP-SIM-006 原生登录页返回独立复现 原生模拟器 返回原会议75 独立前置去登录未完成;已复核Mini返回截图 Blocked 05-return-meeting.png(Mini来源)
EXP-SIM-007 原生tap自动化点击 模拟器工具 tap信息区或action触发行为 tap/trigger返回success但currentPage无变化;eh事件分发正常,不能认定原生点击通过 Blocked 工具输出;排查记录;需桌面工具
EXP-STATIC-001 头像加载失败与空字段 源码检查 缺图默认头像,空字段省略,不回退内部姓名 源码有error回调及nickname专家占位;空avatar实测,图片加载失败未造运行故障 Pass ConsultantSimpleCard.vue源码;图01
EXP-STATIC-002 会议上下文与事件隔离 源码检查 详情公开ID与conference_id,预约不冒泡 card information独立;action @tap.stop;会议传conference-id;publicProfile映射测试通过 Pass 组件/会议源码;UNIT006
EXP-E2E-001 真实微信登录与身份认证 真实E2E 真实登录认证后允许申请 未执行真实微信登录/认证;安全范围仅mock门禁 Blocked UNIT010;无真实登录或认证截图
EXP-E2E-002 真实专家预约成功落库 真实E2E 申请接受且仅一条,反馈一致 禁止业务库POST与客户通知;成功及防双击仅mock通过 Blocked UNIT011;无业务库申请/通知
EXP-E2E-003 真实专家预约失败恢复 真实E2E 失败允许取消或重试且不误报成功 禁止真实预约POST;失败重试及资格重查仅mock通过 Blocked UNIT012;无真实故障POST

候选源码指纹

  • adapter.ts: bd1e0ffd45f9c3c20dbf2bf798bbfb9eb555c166ef8267723692a6cc2250a9a7
  • types.ts: 242413af7ba64e4263acab5bfe87ac39dd7e8cdbaa74a51022b9047b080343a2
  • ConsultantSimpleCard.vue: 27e9f7989a339a762ea2bca0222f7611a60fa0b46c35953c551248b8d66c5243
  • booking.ts: ba66a8e623a308502a55ed8d8e5f4cd033afaaf941148a05bd97e2041ef8cb5c
  • conference/detail/index.vue: 64a7b150743f53e61a9b3974706d6c7307bcb4e18fe4aa5ceff12a9014200620

风险、基线及未验证项

  • 本轮不重复无关全量:统筹交付全量81/82,其中灰/白卡静态断言与已确认设计冲突为既有失败;明确保留,不回退设计、不声明全量绿。本轮43Pass/0Fail仅代表上述执行范围。
  • Backend264/BFF136及Mini构建/lint/编译通过属于开发交付,不计入本轮QA独立结果。
  • 真实微信登录、认证成功、真实预约成功/失败/通知与生产层均未验证。未对业务库预约POST,没有数据库或财务写入,没有外发通知。
  • 多卡、长文本、无公开profile、图片加载失败的运行视觉验收未全覆盖;nullprofile/内部ID排除有UNIT006,长文本换行与默认图error有源码证据,不冒充运行通过。
  • 图文手册: projects/mp/mp-conference/docs/user-manual/meeting-experts.md,5图(QA3图+Mini同轮2图,均已查看);UI结构/视觉与Mini业务校对均通过、无必修问题,统筹回传确认后由QA定稿。定稿保留7条Blocked及真实业务预约未验证边界。
  • 禁止操作均未执行: commit/push/deploy/branch/worktree/业务DB写/真实预约/通知。
  • Redmine首轮落库核验: journal25,2026-10-07T14:31:25Z,逐条50行、汇总一致、Blocked7行、附件93-100。https://redmine.mindsetech.com/issues/1#change-25。
  • 下一步: 主统筹按本轮边界交付;提供可用桌面交互工具后重测SIM004-007;真实认证/预约仅在另行安全隔离环境与明确授权后执行。
(61-61/78)