WANYU / FIELD GUIDE 01

从第一次登录,
到完成一节课。

学生 App、教师 Web 与运营后台的完整操作路径。逐步测试,逐项确认;把已经实现的能力与尚未开放的边界分开看。

万语智教 · Web 与 App 使用测试手册

版本:2026-10-28 · 固定代码基准 ea9c2cd · 内部测试版,不是正式商用说明书。

本手册回答:从哪里进入、用什么账号、每一步点什么、应看到什么、哪里尚未完成。

01 · 先读这六件事

  1. 后台现在不需要 TOTP。 本基准的迁移 024 已移除管理员 MFA;本次只读检查线上数据库已无相关字段,线上登录页也是邮箱+密码。此前聊天中“必须配置 TOTP”的说明不再适用于此版本。
  2. 预约课可以用测试支付,不是真实扣款。 首尔环境 PAYMENT_SANDBOX=enabled。只走明确标注为测试的页面;不要输入真实银行卡或支付账号。
  3. 可以进入课堂,但不能真实视频通话。 当前 RTC_SANDBOX=enabled,可测试租约、白板、课件和文字互动;TRTC、录制及回放未接入。
  4. 付费数字内容购买尚未实现。 资源/课程/试卷“发布成功”不等于可以买;免费领取与授权访问可另行测试。
  5. 旧安装包不是本基准版本。 先前生成的 Android APK 和未签名 iOS IPA 基于旧提交 9d0936b;必须重新构建才能验收本手册中的新版 App 行为。未签名 IPA 不能直接安装 iPhone。
  6. 不要把接口演练当作 UI 验收。 仓库已有接口演练证据;本次没有替你在三端执行所有按钮、资金、审核或账号操作。以下步骤是供你逐项执行的验收方案。

状态图例

标记 含义 你应该如何测试
已实现/有演练证据 已有代码,仓库记录真实测试环境 API 演练成功 仍需执行 Web/App UI 步骤,核对状态及持久化
已实现/待手测 有实现及部分自动化证据,没有本次完整 UI 验收 按步骤测试,出现失败就登记,不算已验收
部分完成 仅支持特定范围,或依赖测试替身 只验收已明确支持的部分
未实现/未开放 没有对应业务能力或入口被门禁禁用 记录为不支持,不反复点击或寻找隐藏开关
前置阻塞 权限、版本、数据、时间、第二账号等未准备 先解除前置条件,不能误报产品失败

02 · 入口、账号与测试材料

使用者 入口 登录方式 注意
学生 Android/iOS App 邮箱验证码 没有独立学生 Web 业务端;不要把教师站当学生站
教师 教师 Web;App 切换教师身份 邮箱验证码 切换身份不等于获得教师审核资格
运营管理员 运营后台 管理员邮箱+密码 当前不需要 TOTP
测试邮件查看者 Mailpit 独立的 HTTP Basic 认证 验证码通常在测试邮箱,不一定发到真实 Gmail
技术人员 API 就绪检查 无业务账号 返回 ready 不能证明整条业务链已通过

现有管理员:willdonner4@gmail.com,使用此前设置的密码。手册不收录密码、验证码、TOTP 密钥、SSH 密码或数据库凭据。

当前权限前置阻塞:2026-10-28 只读核查,该账号保留 super_admin,但新目录发布后缺少 compensation.read、compensation.write、evidence.access、reconciliation.execute 四项权限。教师报酬、原件查看和渠道对账相关测试可能失败。本次没有修改授权。项目没有“角色名为 super_admin 就自动绕过所有权限”的机制;需要授权维护者补齐。当前数据库登记 41 项权限;不要用旧的“37 项”作为验收总数。

测试前准备清单

推荐测试节奏

阶段 建议安排 退出条件
第一天早上 登录、教师入驻、审核、服务、报酬、排期 有一节已发布且可约的测试服务
第一天随后 学生学习、免费资源、练习考试、预约 A/B、测试支付、改期、退款 预约 A 确认;B 退款有明确结果
第二天约定时间 设备检查、双方入室、白板课件聊天、课后核验、评价 预约 A 完成、评价与课后记录可查
观察期后 收款资料、应付、制单、另一管理员复核与登记 教师收益显示已付,付款凭据可追溯

不能在正常 UI 中把几天流程压缩成几分钟。 当前约课有至少提前 24 小时的约束;课堂在开课前 15 分钟开放;应付有观察期。仓库演练脚本通过修改测试库时间戳跳过等待,这是技术测试,不是用户操作,也不是本手册要求你在数据库里改时间。

03 · 看图认识三端

实际线上登录页

教师 Web 实际登录页

图 1|2026-10-28 实际线上教师登录页。邮箱验证码登录;未提交登录请求。

后台实际登录页

图 2|2026-10-28 实际线上后台登录页。当前是邮箱和密码,没有 TOTP 步骤。

Web 界面定位图:视觉夹具,不是业务实测截图

教师工作台视觉夹具

图 3|既有视觉验收截图 UI20(2026-10-27 UTC 归档)。用于识别侧栏、课表和快捷操作;“林老师、Alex、课时、金额、日期”均为夹具示例,不代表你的账号或实时数据。?visual=1 仅是开发视觉夹具,不能用于业务验收。

后台教师审核视觉夹具

图 4|既有视觉夹具 UI26:左侧进入教师管理,中间列表选择记录,右侧核对材料及结论。以线上实际字段为准。

后台概览视觉夹具

图 5|既有视觉夹具 UI49:识别后台十个模块。示例统计不应作为实际数据核对依据。

App 设计参考图:不是 App 真机截图

App 学习、找老师和资源站设计参考

图 6|设计板 00。学生底部五项是“学习、找老师、资源站、课表、我的”;教师身份是“工作台、课表、消息、收益、我的”。App 仍未完成逐屏视觉和真机验收,实际布局可能不同。

App 预约设计参考

图 7|设计板 08,用于理解“教师详情 → 服务 → 日期 → 时段 → 确认”的操作顺序;图中日期、价格和按钮状态仅为设计示例。

04 · 全业务流程地图

教师准备链:验证码登录 → 完善资料 → 上传证明 → 提交入驻 → 后台审核 → 创建服务 → 提交上架 → 后台配置报酬并批准 → 设置可约时间。

学生履约链:验证码登录 → 找老师 → 选服务与时段 → 占位/待支付订单 → 测试支付 → 预约已确认 → 课前检查 → 双方进入课堂 → 白板/文字/课件 → 下课待核验 → 后台裁定 → 完课 → 评价。

退款分支:另一节已支付预约 → 合规取消/退款申请 → 后台审批 → worker 发起渠道退款 → 订单退款完成。取消成功 ≠ 退款到账。

教师收款链:添加收款资料 → 后台受控查看并审核 → 完课产生应付 → 等待观察期 → 制单 A → 复核 B → 执行/线下付款 → B 登记回单 → 教师收益已付。登记“已付”不代表系统已经转账。

学习链:免费领取或已授权内容 → 我的学习/资源 → 阅读或受支持的内容 → 练习/考试 → 解析、错题、收藏 → 学习报告。付费数字购买与视频课目前断开。

05 · 账号登录与基础检查

A01 · 管理员登录【已实现/待本次 UI 手测】

  1. 打开运营后台,确认不是带 ?visual=1 的开发夹具。
  2. 输入 willdonner4@gmail.com 和已设置密码,点击“登录”。
  3. 应进入概览并显示当前账号可访问的菜单;此版本不应再要求动态验证码。
  4. 刷新页面,确认仍能读取账号及权限;检查“系统设置 → 角色权限”。
  5. 若 401,先核对密码;若进入后某模块 403,记录权限码及请求编号,不当作密码错误。不要在手册或截图中记录密码。

通过标准:真实登录成功、刷新成功、菜单依据真实权限呈现。阻塞项:前述四项新权限尚未补齐。

A02 · 学生 App 登录【已实现/待手测】

  1. 打开最新 App → 底部“我的” → 登录。
  2. 输入学生测试邮箱,点击“发送验证码”。
  3. 在 Mailpit 搜索收件人邮箱,选择此次发送时间之后的邮件,读取 6 位验证码;不要用历史邮件。
  4. 返回 App 输入验证码并登录。首次登录会创建普通用户,不需要管理员预先创建学生。
  5. 在“设置”填写时区、语言及学习目标,保存后退出页面再进入,确认持久化。
  6. 完全关闭再打开 App,检查登录恢复;更换账号后不能看到前一个学生的订单、草稿或下载内容。

通过标准:邮箱与用户身份一致,私有数据隔离。验证码过期/无效应有明确错误;同一验证码不能重复消费。

A03 · 教师登录与身份切换【已实现/待手测】

  1. 在独立浏览器窗口打开教师 Web,输入教师 T 的邮箱。
  2. 发送验证码 → Mailpit 取码 → 完成登录。
  3. App 使用相同教师邮箱登录,“我的”中选择切换教师身份。
  4. 对照教师 Web 与 App 的名称、审核状态、课表及消息,确认是同一账号。
  5. 新账号未审核时出现“未申请/待完善”是正常状态;不能仅切换身份就授课。

通过标准:Web/App 同账号资料一致,不越权获得教师资格。

06 · 教师入驻、上架与排期

T01 · 完善教师资料【已实现/API 演练证据】

  1. 教师 Web →“设置”中的个人资料/教学资质;或 App 教师“我的 → 个人简介/审核与准入”。
  2. 未建立资料时点击创建资料,填写姓名/显示名、授课语言、简介、教学特点等当前表单要求。
  3. 保存后返回并重新打开,逐项核对。
  4. 提交前若显示“资料有未保存修改”,先保存;两个设备同时编辑时,版本冲突应要求重新读取,不覆盖另一端内容。

通过标准:资料持久化,状态从未申请转为草稿/待完善;尚不能公开当作审核通过教师。

T02 · 上传材料并提交申请【已实现/API 演练证据】

  1. 在审核与准入中上传测试身份证明、资格证明;仅用不含真实个人信息的测试样本。
  2. 等待文件完成上传及完整性/类型检查,核对文件列表;处理中不是已审核。
  3. 选取本次材料,提交入驻申请。
  4. 应变为“审核中/submitted”;保存申请对应账号、时间和材料名称。
  5. 另一教师账号不能查看这些私有证明原件。

边界:当前本地磁盘存储,执行 SHA-256 与真实文件类型校验,没有病毒扫描;不要用恶意文件测试。“文件 ready”不等于资质已批准。

T03 · 后台审核教师【已实现/API 演练证据;原件权限可能阻塞】

  1. 管理员 →“教师管理”,按教师姓名或审核中状态定位 T。
  2. 选择该记录,核对简介、语言、提交材料及每项处理状态。
  3. 需要查看原件时填写访问理由;当前账号缺 evidence.access 时先记权限阻塞,不能盲审。
  4. 输入明确审核理由,选择通过或驳回并确认。
  5. 教师端刷新,核对状态变为已通过/未通过;查看审核历史和消息。
  6. 可先做一次驳回→教师修改→重提→批准,验证完整反馈环路。

通过标准:双方状态一致、理由可追溯;材料尚未可用时不错误批准。

T04 · 创建课程服务【已实现/API 演练证据】

  1. 教师 Web →“设置 → 课程服务”或快捷操作;备用直达 /services。App →教师“我的 → 课程服务设置”。
  2. 新建 UAT-20261028-中文会话,例如 50 分钟、课间 10 分钟、售价 CNY 120;这些是测试输入,不是现有固定价格。
  3. 保存草稿,重新打开确认标题、时长、币种和价格。
  4. 点击提交审核,填写理由,应变为 submitted。
  5. 保存中/结果未知时只“重试原请求”,不要连续新建重复服务;想离开有修改页面时应提示确认。

T05 · 配置报酬并批准服务【已实现/API 演练证据;当前报酬权限阻塞】

  1. 后台教师管理中的课程服务审核入口,或服务审核列表,定位上述服务。
  2. 读取服务版本和报酬配置;确认两者版本一致后,设置例如教师报酬 CNY 80/节,并写配置依据。
  3. 先保存报酬,再重新读取服务;确认售价、报酬币种均启用。
  4. 填写上架审核理由,点击批准。
  5. 教师端显示已发布;学生“找老师”能够找到教师及该服务。

当前账号注意:缺 compensation.read/write,先完成权限维护再测试。不要将“能审核教师”误认为“能配置教师报酬”。

T06 · 设置可约时间【已实现/API 演练证据】

  1. 教师 Web →“设置可约时间”(/availability);App →教师“我的 → 可约时间”。
  2. 设置 Asia/Shanghai,填写生效日期、每周工作日及时间段,例如每天 09:00–21:00。
  3. 保存并重新读取;添加一天例外休息日,确认该日不可预约。
  4. 学生选择未来至少 24 小时之后日期查看时段。无时段时先核对审核、服务发布、规则日期、时区、已有占用,不能只反复刷新。

通过标准:学生看到的是有效可约时段,已占位/已确认时段不会重复卖出。所有时间以服务器返回和当前规则为准。

07 · 学生预约、支付、改期与退款

S01 · 浏览和搜索【已实现/待手测】

  1. App“找老师”,浏览公开审核教师;输入姓名、课程相关关键词,调整支持的筛选项。
  2. 打开教师详情,查看介绍、语言、评价、服务时长、价格与可约时间。
  3. 进入“学习 → 课程目录”和“资源站”,核对列表、详情、分页、空状态。
  4. 搜索不存在的名称应显示空结果,而不是样例数据。设计图上的“林老师、128 条评价”不保证是真实环境记录。

S02 · 预约 A 并完成测试支付【已实现/API 演练证据】

  1. 选定 T 的已发布服务,选取至少未来 24 小时后的时段。
  2. 确认日期、时区、教师、时长、币种、金额与取消规则,点击预约确认。
  3. 应生成“占位中/held”预约和待支付订单,显示服务器截止时间;截图记录订单号和预约号。
  4. 点击“去支付”,选择当前提供的测试渠道,外部浏览器打开测试收银页。
  5. 仅确认测试支付;返回 App,等待刷新或手动读取状态。
  6. 预约应变为 confirmed,订单支付 paid、履约 fulfilled;教师课表应出现同一学生和时间。
  7. 若网络中断,先从“我的 → 订单售后”和课表读取事实,不要立即重复付另一笔。

通过标准:学生订单、学生课表、教师 Web/App 三处一致。只看到支付网页“成功”不够。当前不支持真实商户支付。

S03 · 占位超时【已实现/待手测】

  1. 再选择另一个时段生成待支付预约,不支付。
  2. 等界面倒计时与服务器截止时间过去,让 worker 完成处理。
  3. 刷新应显示 expired/已过期,相应时段应释放。
  4. 不测试过期链接真实扣款。支付晚到、paid_unfulfilled 的边界仍应由专项测试核对,不算正常付款通过。

S04 · 改期【已实现/待手测】

  1. 使用已确认、仍满足至少开课前 24 小时规则的预约,打开“课表 → 预约详情 → 改期”。
  2. 选新时间,填写理由并提交。
  3. 对方登录查看待处理请求,在同意前原预约时间仍应保留。
  4. 教师 Web 工作台待处理请求/课表,或教师 App 课表,选择同意。
  5. 双方刷新,确认新时间生效、原时段释放;请求状态为 accepted。
  6. 用另一节测试拒绝/申请人撤销,确认不会错误改动原课表。临近开课被要求联系客服是规则结果,不是必然缺陷。

S05 · 预约 B 取消并退款【已实现/API 演练证据】

  1. 单独预约并测试支付 B,确保距离开课至少 24 个实际小时。
  2. 学生“课表 → B 详情 → 取消”,核对取消规则并填写理由确认。
  3. 预约应 cancelled;订单售后应出现退款申请,但此时不能宣称退款到账。
  4. 后台“交易财务 → 退款拒付”或订单退款详情,定位同一订单和退款号。
  5. 审核员核对可退金额、币种、原因,填写审批理由并批准。
  6. 等 worker 经测试渠道处理,刷新看到退款成功,订单退款状态 full(全退)或对应部分退款结果。
  7. 学生返回“订单售后”核对相同事实;重复刷新不得产生第二次退款。

边界:仅是测试渠道退款,不是真实银行卡退款;低于 24 小时取消应走客服/争议流程。部分退款、数字权益撤销与退款分摊需要另做专项验收,不能从一次全额退款外推通过。

08 · 课堂、完课、评价

C01 · 课前设备检测【部分完成】

  1. 开课当天在教师 Web 课表或 App 预约详情找到 A。
  2. 进入课前检查,逐项测试摄像头预览、麦克风输入、扬声器播放及网络提示。
  3. 按需授予本次摄像头/麦克风权限;拒绝权限时应出现明确说明,不能崩溃。
  4. 设备预览成功仅证明本机硬件可用,不证明双方音视频连通。

视觉缺口:现有 Web 设备页仍偏通用检测,尚未完整还原绑定预约信息的设计页。

C02 · 双方进入课堂【部分完成/API 演练证据】

  1. 到开课前 15 分钟内,学生 App 与教师 Web 分别打开 A 的“进入课堂”。
  2. 提前过早时应提示课堂未开放;已取消/过期预约不应可进。
  3. 双方入室,界面应明确显示测试环境、音视频未接入。
  4. 两端各发送一句不同的测试消息,确认对方收到;教师画一条白板笔迹,学生端查看同步。
  5. 教师切换已 ready 的课件/页面,学生核对当前页;按当前角色允许的工具操作,不要求未授权学生能控制教师课件。
  6. 短暂断网后恢复,观察重连、同步状态和是否出现重复消息;“待同步”不能当作已送达。
  7. 保持十余分钟,检查每约 5 分钟续期,不因原 10 分钟租约过期无故掉线。

不支持:真实音视频、腾讯 SDK、录制/回放;同角色另一设备强制接管尚未开放。用第二设备占用同一身份,预期拒绝/提示占用,不要求踢出旧设备。

C03 · 下课与后台裁定【已实现/API 演练证据;手动结束未实现】

  1. 到课程计划结束后退出界面;不要把关闭页面当作业务完课。
  2. 课程结束约 5 分钟后,等待 worker 将缺少认证 RTC 证据的课程转入 pending_review/待核验。
  3. 后台“预约课堂”按预约号查 A,核对时间、事件与双方记录。
  4. 在完课评估/裁定中上传测试证据,等 ready,填写结论、学生退款金额、教师应付金额和明确理由。
  5. 选择符合事实的正常完课结论并确认;禁止为通过测试伪造真实业务证据。
  6. 双方刷新应显示 completed,后续应付以裁定及规则为准。

已知边界:POST /classrooms/{id}/end 和在线 presence 接口尚未实现;即使出现类似“结束课堂”的视觉控件,也不能认为存在完整手动结束流程。不能修改生产时间来加速。

C04 · 课后小结与评价【已实现/评价有 API 演练证据】

  1. 教师 Web“授课记录”或 App 教师“我的/授课记录”找到 A。
  2. 查看详情,填写课后小结,按页面选择是否发布;保存后重开核对。
  3. 学生在已完成预约详情查看已发布小结,按入口提交 1–5 星评价与文字。
  4. 刷新教师评价及预约详情核对;重复提交应按规则拒绝或保持原记录,不能增加重复评价。
  5. 取消或未完成课不得伪装成已完课评价入口。

09 · 教师课件、资源与结算

T07 · 课件上传与使用【已实现/API 演练证据】

  1. 教师 Web“课件库 → 上传课件”,或 App 教师工作台/课件入口。
  2. 上传受界面允许格式和大小限制的测试 PNG/PDF,等待完整性验证和转换。
  3. 状态 ready 后核对文件名称、页数、版本和缩略页。
  4. 打开课件关联入口,关联到指定预约;重新进入课堂确认可选择和翻页。
  5. 上传失败时显示失败及重试信息,不应显示虚假的页数或直接 ready。

T08 · 收款资料审核【已实现/API 演练证据】

  1. 教师 Web /payout-accounts 或 App 教师“我的 → 收款资料”,新增虚构测试收款资料。
  2. 选择与应付一致的币种,核对持有人、银行及账号,提交。
  3. 后台进入收款账号审核,先用受控查看填写理由,再核验完整资料并批准。
  4. 教师端显示 verified/已核验,列表按规则脱敏;完整账号查看应产生审计。

注意:不能使用真实账户做模拟出款;收款资料核验通过不代表已打款。

T09 · 教师应付与付款【部分完成/线下登记;API 演练证据】

  1. 后台“交易财务 → 教师应付”定位 A;教师“收益”查看对应金额、币种、冻结状态。
  2. 等待观察期后状态变为 eligible/可付;本手册不要求修改数据库。演练脚本曾跳过约 7 天等待,正常用户测试需等待或申请专用演练。
  3. 管理员 A 选择符合条件应付,创建付款单,核对教师、币种、已核验收款账号及金额,填写理由。
  4. 另一名管理员 B 登录付款审批工作台,读取最新版本,复核并批准,然后开始执行。
  5. 当前没有自动银行出款。仅在确有对应测试/线下结果时登记付款结果,填写执行号、付款参考号、测试回单及理由。
  6. 刷新后台及教师收益,核对 paid/已付及凭据;重复登记不得重复累加收益。

必要限制:同一人制单和复核被拒绝属于安全控制正常结果,超级管理员不应绕过。不要为赶测试把未付款的真实业务登记成已付。已付款争议复核接口仍未实现。

10 · 学习、资源、练习、考试

L01 · 免费资源领取和阅读【已实现/待手测】

  1. App“资源站”打开已发布免费资源,查看版本、授权范围、文件格式、是否允许下载。
  2. 免费领取,进入“我的 → 我的资源”,应出现当前账号有效授权。
  3. 打开 PDF/图片受支持阅读器,翻页,返回重开核对本机位置。
  4. 如果授权允许下载,进入下载页测试暂停、恢复、取消;退出账号后不得继续用旧账号授权下载。
  5. 对未授权/已撤销/过期内容应被拦截。测试版本撤销或退款权益变化需要专门样本,不从普通阅读成功推断。

不支持:付费数字订单购买、App Store/Google Play 内购核验与恢复购买。视频 VOD 播放令牌未实现;不要把播放器外观当成视频课可用。免费页面无数据是内容前置条件不足,不代表应显示假教材。

L02 · 课程目录与我的学习【部分完成】

  1. “学习 → 课程目录”,查看已发布课程和课时说明。
  2. 在“我的学习/我的学习库”检查已有授权课程、学习进度及支持的文字/图片内容。
  3. 有真实受支持内容时阅读并返回首页/学习报告,核对记录是否更新。
  4. 付费课程购买、视频播放作为“未实现”登记,不用尝试重复支付。

L03 · 专项练习、错题、收藏【已实现/待手测】

  1. “学习 → 专项练习”,选择科目/知识点或全部范围;无已发布题目时先由后台准备。
  2. 开始练习,选答案并提交,核对服务端判定、正确选项及解析。
  3. 故意答错一题,收藏另一题;到“我的 → 错题收藏”核对记录及分页。
  4. 返回学习报告,检查题量/正确率更新,不应一次重试记成两次答题。
  5. 网络提交结果未知时使用“重试原答案”;在明确拒绝前不要改答案重新生成另一条提交。

L04 · 模拟考试与恢复【已实现/待手测】

  1. “学习 → 模拟考试”,选择已发布试卷,核对题目数和时长后开始。
  2. 回答部分题目,切换前后题,检查保存/同步提示。
  3. 暂时断网继续选项,恢复网络后同步;本机草稿仅保存选项,不等于已提交服务器。
  4. 使用“检查并交卷”,确认交卷后显示服务端冻结评分和解析。
  5. “我的 → 历史成绩”查看本次记录、日期、分数及详情。
  6. 另开一场测试超时:到截止时间后不得继续提交新答案,应联网刷新最终结果。
  7. 双设备冲突时先阅读提示,再选择明确的接管/放弃本机草稿;不能假定考试接管与课堂接管是同一能力。

L05 · 学习报告与个人设置【已实现/待手测】

  1. 完成练习/阅读后进入“学习报告”,切换日期范围。
  2. 核对时长、练习量、正确率,进入知识点统计和历史成绩。
  3. 数据应来自该账号实际事件;知识点掌握算法尚未启用,不能把图表当智能测评结论。
  4. 修改语言、时区、学习目标,保存重开;切换账号应清空前一个人的私有数据。

11 · 运营后台其余模块

模块 按顺序测试 预期结果与完成边界
首页概览 选择时间范围 → 刷新 → 对照订单、用户及预约实际记录 已实现,待手测;不要与夹具数字比对
用户管理 搜索测试邮箱 → 详情 → 编辑允许字段 → 保存重读 → 冻结普通测试用户 → 解冻 已实现,待手测;冻结撤销其会话,解冻不复活旧登录;不能用此入口随意改管理员
内容管理 新建原创课程/资源草稿 → 上传允许的素材 → 填版权来源 → 保存 → 发布版本 部分完成;课程内容与商品分别发布,发布不启用真实支付
商品配置 从内容资源商品入口或 /products 查看版本、价格、授权、条款和发布状态 已有版本管理;数字付费销售未实现,不进行真实购买
题库模考 新建最小单选题 → 填题干、选项、答案、解析、知识点、版权 → 保存发布 → 新建试卷引用固定题目版本 → 发布 → App 验证 已实现,待手测;避免直接用大规模导入作为第一条测试
题库导入 下载/查看当前模板说明 → 上传小样本 → 查看校验错误 → 修正 → 重提 → 核对结果 已实现,待手测;支持格式以当前界面为准,不猜测任意 Excel 均可导入
客服运营 学生/教师帮助客服提交测试工单 → 后台按编号打开 → 回复/处理 → 原账号查看进度 已实现,待手测;内部理由不应暴露给普通用户
消息与通知 产生预约/审核通知 → 查看未读数 → 打开详情 → 标记已读 → 刷新其他端 已实现,待手测;在线编辑审批发布通知模板未接入
数据报表 按日期、币种选择 → 查询 → 创建异步导出 → 等待任务完成 → 下载并核对表头及一条实际记录 已实现,待手测;异步导出入口是 /admin/report-exports,不是遗留旧导出接口
角色权限 查看角色及权限目录 → 用独立测试角色授权/撤销 → 目标重新登录核对 已实现,待手测;禁止修改本人角色/越权授予,新增管理员开户恢复并无完整后台向导
审计日志 查审核、授权、收款原件查看、裁定、付款操作 → 核对操作者、原因、对象、时间 已实现,待手测;不得在日志中出现密码或无关密钥
任务与对账监控 系统设置入口或 /monitoring → 查看状态 → 对测试失败任务读取原因 → 按权限重试 部分完成;真实供应商查单未接入,当前缺对账执行权限
地区与功能开关 读取配置,核对开关不可编辑及原因 未开放变更;录制回放、小班、HTML5 执行、未成年人业务不能通过强行改前端开启

12 · 安全与异常专项测试

每个场景先保存原请求编号、对象编号和截图,再判断是否通过;只操作专门的测试数据。

编号 操作 应出现的结果
X01 登录时输一次错误密码/过期验证码 明确拒绝,不泄露账户内部资料;不要高频撞库
X02 同一账号刷新及退出后后退 退出后私有页面不再可用,缓存不泄露
X03 学生尝试进入别人的订单/预约 拒绝访问,不返回他人数据
X04 两窗口同时修改同一测试资料 后提交旧版本者提示冲突;重读后人工核对
X05 提交中断网,再“重试原请求” 不生成重复订单、退款、服务或付款记录
X06 读请求失败点击重试,分页后改筛选 可恢复,筛选重置游标,不混入旧条件数据
X07 摄像头/麦克风拒绝授权 可解释错误,不假称设备检查已通过
X08 课堂时间窗外入室/同角色另一设备占用 按规则拒绝;强制接管不可用
X09 考试截止/换号后尝试同步旧草稿 不接受越期/旧账号答案,不覆盖另一身份
X10 开课前不足 24 小时取消/改期 要求客服或按最新规则处理,不擅自全退
X11 无权限账号打开财务或原件 拒绝并给出原因,不靠隐藏菜单代替后端鉴权
X12 制单人自己批准付款 拒绝;必须不同管理员复核
X13 未授权资源下载、退出后重试下载 授权重新核验,不能复用旧账号内容
X14 普通用户提交注销申请 显示待处理,撤销登录;不是已经物理删除全部资料

破坏性测试分开做:冻结、注销、取消、退款、角色撤销、付款登记只能用一次性测试账号/对象。注销审批和最终资料清除尚未完整开放;不要在你的主要管理员账号上测试。

13 · 已完成与未完成总表

“已实现”表示可进入测试,不是本次已替你验收合格。接口覆盖审计报告的 249/265 是“没有落入未实现兜底”的数量,不等于 94% 产品完成度,也不保证每个参数和业务分支正常。

能力 状态 证据与限制
邮箱登录、会话、身份切换 已实现 自动化与 API 演练;测试邮件使用 Mailpit
后台邮箱密码登录、权限、审计 已实现 本版已移除 TOTP;线上只读核查确认
教师入驻、材料、审核、服务报酬上架、排期 已实现 新教师全链路 API 演练;当前账号四权限缺口需先补
学生约课、占位、确认 已实现 API 演练;UI、时区、并发和弱网仍需手测
预约支付与退款 部分完成 测试渠道闭环;真实渠道、商户及真实到账未验证
改期、取消、客服争议 已实现 集成覆盖;手动验收需独立预约样本
课堂业务租约、白板连接、文字、课件 部分完成 API 演练凭证/WebSocket;实际跨端画笔聊天待手测
真实音视频、录制回放 未实现/外部依赖 腾讯 TRTC/VOD 与客户端 SDK 未接入
课堂 presence、手动结束、强制设备接管 未实现/未开放 worker 课后转复核可用,不等于手动结束可用
裁定、评价、课后小结 已实现 裁定及评价有 API 演练;小结及全部 UI 待手测
教师应付、收款资料、制单复核 已实现 API 全生命周期演练;需要独立第二管理员
银行自动出款 未实现 当前为线下付款结果登记;不能假装已转账
免费领取、资源授权、PDF/图片阅读下载 已实现 集成覆盖,真实原生多设备待验收
付费数字内容购买及支付后授权 未实现 POST /orders 缺失,课程/资源/试卷不能付费售卖
视频课播放 未实现 playback-tokens 缺失;VOD 外部依赖
商店内购、购买恢复 未实现 verify/restore 缺失;旧设计有入口不等于能用
练习、错题、收藏、模考评分与恢复 已实现 集成覆盖;手册提供 UI 测试,不声称本次全量通过
报告、异步导出、运营查询 已实现 部分查询/导出实现;智能知识点掌握算法未启用
工单、消息及通知已读 已实现 集成覆盖;在线模板编辑审批发布未接入
用户屏蔽 未实现 PUT/DELETE block 接口缺失
注销申请 部分完成 可申请、撤销会话;后台最终审批/资料清除未完成
后台单条教师/订单/支付详情旧接口 接口未实现但有列表替代 当前客户端用列表数据;不能误说整个详情体验都完成
通用后台上传、旧报表导出接口 遗留接口未实现,有专用替代 使用专用上传和 report-exports;不重复造功能缺口
渠道差异主动查单、已付款争议复核 未实现 审计列出的边缘/供应商依赖接口
地区配置发布、录制、小班、H5、未成年人业务 未开放 开关只读,不是可操作功能
文件病毒扫描、第三方对象存储、备份 当前未提供(产品决定) 使用本地磁盘+完整性/类型检查;无备份是运营风险,不是已解决
Android/iOS 发布与真机完整验收 待完成 旧代码原生编译成功;本基准新包、iOS 签名、真机全流程未验收
像素视觉、全状态与性能验收 待完成 Web 仅部分默认状态夹具截图;移动设计板不是完成证据

14 · 快速验收卡与问题登记

最小可运行闭环(按顺序勾选)

每个问题必须记录

字段 示例/填写要求
用例编号 S02,第 6 步;不能只写“支付不行”
日期和版本 2026-10-28,Web 线上版本/App 构建提交与版本号
平台 Chrome/Safari+版本;Android/iOS+系统与机型
身份 学生 S/教师 T/管理员 A,邮箱可脱敏,不贴密码
对象标识 预约号、订单号、退款号、付款单号、请求 ID
操作与预期 哪一按钮、哪些输入、预期状态
实际结果 真实提示、状态、是否刷新后仍错误
附件 截图/短录屏;遮挡密钥、验证码、真实银行资料
严重程度 阻塞主链路/重要/一般/视觉问题
分类 缺功能/缺权限/缺数据/版本不匹配/规则拒绝/代码缺陷

另附 测试执行清单.csv,可用 Excel 打开。初始全部“未执行”,由你操作后填写“通过/失败/阻塞/不支持”;不要将文档中的证据直接抄成你的执行结果。

15 · 证据、版本与维护说明

验收结论留白:本手册交付的是“逐步操作方案+可用范围和证据说明”,不是签收报告。完成 CSV 并附上每个关键状态截图之后,才能形成你的 Web/App 验收结果。