Files
qihuaiflow/tests/test-case-report.md
qyyfw 78ff261b5a 初始提交: Qihu-AIFlow v2.0.1 完整项目
- 前端 React+TypeScript (源码+构建产物)
- 后端 Python FastAPI
- 数据库迁移 001-015
- Docker部署配置
- 微信ClawBot API频道绑定
- 项目文档 README.md
2026-07-02 14:40:46 +08:00

468 lines
39 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI智能自动化PaaS平台 - 测试用例报告
---
## 文档信息
| 项目 | 内容 |
|------|------|
| **文档名称** | AI智能自动化PaaS平台 - 测试用例报告 v1.0 |
| **创建日期** | 2026-05-27 |
| **创建人** | 测试工程师(QA) |
| **测试范围** | 前台11大功能模块 + 后台10大管理模块 |
| **测试类型** | 功能测试(黑盒) |
---
## 1. 需求与代码对账结果
### 1.1 总体对账统计
| 统计项 | 数量 |
|--------|------|
| PRD功能点总数 | 80 |
| ✅ 已实现 | 77 |
| ❌ 未实现 | 2 |
| ⚠️ 部分实现 | 1 |
| 🔄 超出PRD范围 | 15 |
### 1.2 未实现功能点
| 序号 | 功能点 | PRD位置 | 备注 |
|------|--------|---------|------|
| 1 | 知识库问答溯源(引用原文与来源文档路径) | 模块三-知识库 | 知识库页面未展示问答溯源功能 |
| 2 | 电子凭证开具 | 模块六-付费中心 | 订单页面未发现电子凭证开具功能 |
### 1.3 部分实现功能点
| 序号 | 功能点 | PRD位置 | 现状描述 |
|------|--------|---------|----------|
| 1 | 频道模块(自建频道/多人协作) | 模块二-频道 | 前端实现偏向"IM平台绑定(飞书/微信/钉钉)",非PRD定义的"自建AI协作频道";后端数据模型兼容两种模式 |
### 1.4 超出PRD范围的代码功能
以下功能在代码中已实现但PRD中未明确描述:
| 序号 | 功能模块 | 功能描述 |
|------|----------|----------|
| 1 | 访客落地页 | 轮播图、应用市场预览、登录/注册入口 |
| 2 | 资产管理-文件管理 | 用户文件上传与管理 |
| 3 | 资产管理-小说创作 | AI辅助小说创作功能 |
| 4 | 资产管理-图片管理 | AI图片生成与管理 |
| 5 | 资产管理-视频管理 | AI视频生成与管理 |
| 6 | 资产管理-音频管理 | AI音频生成与管理 |
| 7 | 广告位管理(后台) | 广告位创建、编辑、投放管理 |
| 8 | 用户注册设置(后台) | 注册方式开关、验证码配置 |
| 9 | 用户实名认证(后台) | 实名认证审核流程 |
| 10 | 后台管理仪表盘 | 用户统计、订单统计、模型调用统计等图表面板 |
| 11 | 对话置顶(前台) | AI聊天对话列表置顶功能 |
| 12 | 对话转知识图谱(前台) | 将对话内容转换为知识图谱 |
| 13 | Hub导入(应用市场) | 从Hub导入第三方应用 |
| 14 | 平台对接(应用市场) | 与其他平台进行应用对接 |
| 15 | 小说预览页 | 小说内容的预览阅读页面 |
---
## 2. 前台功能测试用例
### 2.1 访客首页(LandingPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-001 | 访客访问首页 | 未登录状态 | 打开前端首页地址 | 显示轮播图、平台介绍、应用市场预览、登录/注册入口 | 🔄超出PRD |
| TC-F-002 | 轮播图自动播放 | 首页加载完成 | 观察轮播区域 | 轮播图自动切换,显示平台核心功能介绍 | 🔄超出PRD |
| TC-F-003 | 从首页进入登录 | 未登录状态 | 点击首页"登录"按钮 | 跳转到登录页面 | 🔄超出PRD |
| TC-F-004 | 从首页进入注册 | 未登录状态 | 点击首页"注册"按钮 | 跳转到注册页面 | 🔄超出PRD |
| TC-F-005 | 首页应用市场预览 | 首页加载完成 | 查看应用市场预览区域 | 展示部分官方推荐应用,点击可查看详情 | 🔄超出PRD |
| TC-F-006 | 已登录用户访问首页 | 已登录 | 打开首页 | 自动跳转到聊天主界面 | 🔄超出PRD |
### 2.2 用户注册与登录(LoginPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-007 | 手机号注册 | 未登录 | 1.点击注册<br>2.输入手机号<br>3.获取短信验证码<br>4.输入验证码<br>5.设置密码<br>6.提交注册 | 注册成功,跳转到登录页面 | KR1 |
| TC-F-008 | 邮箱注册 | 未登录 | 1.选择邮箱注册<br>2.输入邮箱<br>3.获取邮箱验证码<br>4.输入验证码<br>5.设置密码<br>6.提交注册 | 注册成功,跳转到登录页面 | KR1 |
| TC-F-009 | 手机号+验证码登录 | 已注册账号 | 1.输入手机号<br>2.获取短信验证码<br>3.输入验证码<br>4.点击登录 | 登录成功,跳转到聊天主界面 | KR1 |
| TC-F-010 | 邮箱+密码登录 | 已注册账号 | 1.输入邮箱<br>2.输入密码<br>3.点击登录 | 登录成功,跳转到聊天主界面 | KR1 |
| TC-F-011 | 用户名+密码登录 | 已注册账号 | 1.输入用户名<br>2.输入密码<br>3.点击登录 | 登录成功,跳转到聊天主界面 | KR1 |
| TC-F-012 | 空表单提交校验 | 任意 | 不填写任何字段点击登录/注册 | 显示必填字段提示 | KR1 |
| TC-F-013 | 错误密码登录 | 已注册账号 | 输入正确用户名 + 错误密码 | 提示"用户名或密码错误" | KR1 |
| TC-F-014 | 未注册手机号登录 | 无 | 输入未注册手机号点击登录 | 提示用户不存在或引导注册 | KR1 |
| TC-F-015 | Token过期自动跳转 | 已登录但Token过期 | 访问需认证的页面 | 自动跳转到登录页 | KR1 |
### 2.3 AI聊天(ChatPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-016 | 新建对话 | 已登录 | 点击"新建对话"按钮 | 创建新的空白对话,模型默认为当前选中模型 | PRD-聊天-1 |
| TC-F-017 | 发送消息 | 已登录,当前有活跃对话 | 输入文本消息,点击发送 | 消息发送成功,AI返回回复 | PRD-聊天-2 |
| TC-F-018 | 多轮上下文对话 | 已有对话历史 | 连续发送多条消息 | AI回复能理解上下文,引用前面对话内容 | PRD-聊天-2 |
| TC-F-019 | 切换模型 | 对话中 | 点击模型选择器,切换不同模型 | 模型切换成功,后续对话使用新模型 | PRD-聊天-1 |
| TC-F-020 | 对话自动保存 | 对话进行中 | 发送消息后刷新页面 | 对话记录仍然存在 | PRD-聊天-3 |
| TC-F-021 | 对话重命名 | 已有对话 | 1.选中对话<br>2.点击重命名<br>3.输入新名称<br>4.确认 | 对话名称更新成功 | PRD-聊天-4 |
| TC-F-022 | 对话删除 | 已有对话 | 1.选中对话<br>2.点击删除<br>3.确认删除 | 对话从列表中移除 | PRD-聊天-5 |
| TC-F-023 | 对话归档 | 已有对话 | 1.选中对话<br>2.点击归档 | 对话移动到归档列表,不再显示在活跃列表 | PRD-聊天-6 |
| TC-F-024 | 上下文清空 | 正在进行的对话 | 点击"清空上下文"按钮 | 当前对话上下文被清空,AI不再记忆之前内容 | PRD-聊天-7 |
| TC-F-025 | 挂载知识库到对话 | 已有知识库 | 在对话中选择挂载已有知识库 | 对话关联知识库,AI回复可引用知识库内容 | PRD-聊天-8 |
| TC-F-026 | 挂载Agent到对话 | 已购买Agent | 在对话中选择挂载已有Agent | 对话关联Agent,AI行为受Agent控制 | PRD-聊天-9 |
| TC-F-027 | 挂载技能到对话 | 已有Skill应用 | 在对话中选择挂载Skill | 对话关联Skill,可使用技能工具 | PRD-聊天-10 |
| TC-F-028 | 对话列表搜索 | 有多条对话记录 | 在搜索框输入关键词 | 对话列表过滤显示匹配的对话 | PRD-聊天-列表 |
| TC-F-029 | 对话置顶 | 有多条对话记录 | 对某对话执行置顶操作 | 该对话显示在列表顶部 | 🔄超出PRD |
| TC-F-030 | 对话转知识图谱 | 有对话内容 | 点击转换知识图谱按钮 | 将对话内容转换为知识图谱展示 | 🔄超出PRD |
| TC-F-031 | 对话数据仅归属当前用户 | 用户A有对话记录 | 用户B登录后查看对话列表 | 用户B看不到用户A的任何对话 | KR4 |
### 2.4 IM频道绑定(ChannelPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-032 | 频道页面加载 | 已登录 | 导航到频道页面 | 显示IM频道绑定管理页面 | ⚠️偏PRD |
| TC-F-033 | 飞书平台绑定 | 已登录 | 1.选择飞书<br>2.按指引完成绑定配置 | 飞书绑定的Agent/知识库配置生效 | ⚠️偏PRD |
| TC-F-034 | 微信平台绑定 | 已登录 | 1.选择微信<br>2.按指引完成绑定配置 | 微信绑定的Agent/知识库配置生效 | ⚠️偏PRD |
| TC-F-035 | 钉钉平台绑定 | 已登录 | 1.选择钉钉<br>2.按指引完成绑定配置 | 钉钉绑定的Agent/知识库配置生效 | ⚠️偏PRD |
| TC-F-036 | 频道绑定Agent | 已绑定IM平台 | 在频道设置中绑定Agent | 频道内对话使用绑定的Agent | ⚠️偏PRD |
| TC-F-037 | 频道绑定知识库 | 已绑定IM平台 | 在频道设置中绑定知识库 | 频道内对话可引用知识库内容 | ⚠️偏PRD |
| TC-F-038 | 解除IM平台绑定 | 已绑定某IM平台 | 执行解绑操作 | 该平台配置清除,不再生效 | ⚠️偏PRD |
### 2.5 知识库(KnowledgePage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-039 | 访问知识库页面 | 已登录 | 导航到知识库页面 | 显示用户的知识库列表(如果是新用户则显示空状态) | PRD-知识库-1 |
| TC-F-040 | 创建知识库 | 已登录 | 1.点击新建知识库<br>2.输入名称和描述<br>3.确认创建 | 新知识库创建成功,分配独立向量空间 | PRD-知识库-1 |
| TC-F-041 | 上传PDF文档 | 已有知识库 | 1.选择知识库<br>2.点击上传<br>3.选择PDF文件<br>4.确认上传 | 文档上传成功,自动切片向量化 | PRD-知识库-2 |
| TC-F-042 | 上传Word文档 | 已有知识库 | 1.选择知识库<br>2.上传Word文件 | 文档上传成功,切片向量化 | PRD-知识库-2 |
| TC-F-043 | 上传Excel表格 | 已有知识库 | 1.选择知识库<br>2.上传Excel文件 | 表格上传成功,切片向量化 | PRD-知识库-2 |
| TC-F-044 | 上传PPT文档 | 已有知识库 | 1.选择知识库<br>2.上传PPT文件 | 文档上传成功,切片向量化 | PRD-知识库-2 |
| TC-F-045 | 上传TXT文档 | 已有知识库 | 1.选择知识库<br>2.上传TXT文件 | 文档上传成功,切片向量化 | PRD-知识库-2 |
| TC-F-046 | 添加网页URL | 已有知识库 | 1.点击添加URL<br>2.输入网页地址<br>3.确认 | URL内容抓取并向量化 | PRD-知识库-2 |
| TC-F-047 | 文档处理状态显示 | 已上传文档 | 查看文档列表 | 显示处理中/已完成/失败状态 | PRD-知识库-2 |
| TC-F-048 | 知识图谱构建 | 已有多文档的知识库 | 查看知识图谱 | 展示知识节点和关系的可视化图谱 | PRD-知识库-4 |
| TC-F-049 | 目录管理-创建目录 | 已有知识库 | 1.点击新建目录<br>2.输入目录名<br>3.确认 | 新目录创建成功 | PRD-知识库-5 |
| TC-F-050 | 目录管理-移动文档 | 已有目录和文档 | 将文档拖拽或移动到某目录 | 文档归属目录变更 | PRD-知识库-5 |
| TC-F-051 | 目录管理-删除目录 | 已有空目录 | 删除目录 | 目录被移除 | PRD-知识库-5 |
| TC-F-052 | 知识库删除 | 已有知识库 | 1.选择知识库<br>2.点击删除<br>3.确认 | 知识库及其所有文档被删除 | PRD-知识库-6 |
| TC-F-053 | 知识库挂载到对话 | 已有知识库 | 在AI对话中选择该知识库挂载 | 挂载成功后对话能引用知识库内容 | PRD-知识库-7 |
| TC-F-054 | 知识库仅自己可见 | 用户A有知识库 | 用户B登录后查看 | 用户B无法看到用户A的知识库 | KR4 |
### 2.6 应用市场(MarketPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-055 | 浏览应用市场 | 已登录 | 进入应用市场页面 | 展示Skills/Agent/MCP三大分类标签 | PRD-市场-1 |
| TC-F-056 | Skills分类筛选 | 在应用市场 | 点击Skills分类标签 | 仅显示Skills类型应用 | PRD-市场-1 |
| TC-F-057 | Agent分类筛选 | 在应用市场 | 点击Agent分类标签 | 仅显示Agent类型应用 | PRD-市场-1 |
| TC-F-058 | MCP分类筛选 | 在应用市场 | 点击MCP分类标签 | 仅显示MCP协议类型应用 | PRD-市场-1 |
| TC-F-059 | 应用搜索 | 在应用市场 | 输入关键词搜索 | 显示匹配的应用列表 | PRD-市场-1 |
| TC-F-060 | 查看应用详情 | 在应用市场 | 点击某应用卡片 | 显示详情页:应用说明、使用教程、评分、价格 | PRD-市场-8/9 |
| TC-F-061 | 购买付费应用 | 有余额,未购应用 | 1.进入详情页<br>2.点击购买<br>3.选择支付方式<br>4.完成支付 | 支付成功,应用加入"我的已购"列表 | PRD-市场-4 |
| TC-F-062 | 一键安装已购应用 | 已购买应用 | 在已购列表点击安装 | 应用安装到个人应用列表,可在对话中使用 | PRD-市场-10 |
| TC-F-063 | 应用评分评价 | 已购买并安装应用 | 1.进入已购应用<br>2.点击评价<br>3.填写评分和内容<br>4.提交 | 评价成功,应用详情页显示评分 | PRD-市场-7 |
| TC-F-064 | 用户自主上传应用 | 已登录 | 1.点击发布应用<br>2.填写信息<br>3.设置价格<br>4.提交审核 | 应用提交成功,进入审核状态 | PRD-市场-3 |
| TC-F-065 | 发布时设置价格 | 发布应用时 | 在发布表单设置单次购买价格 | 价格保存成功,审核通过后生效 | PRD-市场-4 |
| TC-F-066 | 发布时选择优惠券参与 | 发布应用时 | 选择是否参与平台优惠券满减 | 设置保存 | PRD-市场-5 |
| TC-F-067 | 会员免费使用专属应用 | 会员用户 | 浏览标记为"会员专属"的应用 | 显示"免费使用"而非购买按钮 | PRD-市场-6 |
| TC-F-068 | 已购应用不可转让 | 用户A已购应用 | 用户B登录查看市场 | 用户B需要重新购买,无法看到用户A的已购 | PRD-市场-5 |
| TC-F-069 | Hub导入应用 | 在应用市场 | 点击Hub导入,选择第三方应用源 | 从Hub导入应用 | 🔄超出PRD |
| TC-F-070 | 平台对接 | 在应用市场 | 配置与其他平台的对接 | 平台对接配置生效 | 🔄超出PRD |
### 2.7 Token驾驶舱(TokenDashboardPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-071 | 查看累计总消耗Token | 有对话消耗记录 | 进入Token驾驶舱页面 | 显示累计总消耗Token数值 | PRD-驾驶舱-1 |
| TC-F-072 | 查看使用中应用数量 | 已安装应用 | 进入Token驾驶舱页面 | 显示当前使用中的应用数量 | PRD-驾驶舱-2 |
| TC-F-073 | 查看消耗排名-最大模型 | 有多个模型调用记录 | 查看"消耗量第一的大模型" | 显示消耗最多的模型名称和消耗量 | PRD-驾驶舱-3 |
| TC-F-074 | 查看消耗排名-TOP3应用 | 有多个应用消耗记录 | 查看"消耗量TOP3应用" | 展示前3个消耗量最大的应用及其消耗量 | PRD-驾驶舱-4 |
| TC-F-075 | 查看Token消耗明细表 | 有消耗记录 | 查看消耗明细列表 | 每笔记录显示:时间、模型、应用、消耗量、费用 | PRD-驾驶舱-5 |
| TC-F-076 | 按时间筛选明细 | 有消耗记录 | 选择时间段筛选 | 仅显示时间段内的消耗记录 | PRD-驾驶舱-5 |
| TC-F-077 | 按模型筛选明细 | 有多个模型记录 | 按模型筛选 | 仅显示该模型的消耗记录 | PRD-驾驶舱-5 |
| TC-F-078 | 余额不足预警 | Token余额低于阈值 | 进入任何页面 | 弹窗提示余额不足,引导一键充值 | PRD-驾驶舱-6 |
| TC-F-079 | 一键充值 | 余额不足弹窗显示 | 点击"一键充值"按钮 | 跳转到付费中心充值页面 | PRD-驾驶舱-7 |
| TC-F-080 | 消耗数据导出CSV | 有消耗记录 | 点击"导出"选择CSV格式 | 下载CSV格式的消耗明细文件 | PRD-驾驶舱-8 |
| TC-F-081 | 消耗数据导出Excel | 有消耗记录 | 点击"导出"选择Excel格式 | 下载Excel格式的消耗明细文件 | PRD-驾驶舱-8 |
| TC-F-082 | Token计费准确性验证 | 有多次对话调用 | 对比明细中每笔的总Token与费用 | 费用=总Token/1000000*模型单价,计算一致 | KR5-计费 |
### 2.8 付费中心(PricingPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-083 | 查看会员方案 | 已登录 | 进入付费中心 | 展示月/季/年三档会员方案及价格 | PRD-付费-1 |
| TC-F-084 | 按月订阅会员 | 有足够余额/支付方式 | 1.选择月度方案<br>2.点击订阅<br>3.选择支付方式<br>4.完成支付 | 订阅成功,会员状态生效 | PRD-付费-1 |
| TC-F-085 | 按季订阅会员 | 有足够余额/支付方式 | 1.选择季度方案<br>2.订阅并支付 | 季度会员生效,到期日为90天后 | PRD-付费-1 |
| TC-F-086 | 按年订阅会员 | 有足够余额/支付方式 | 1.选择年度方案<br>2.订阅并支付 | 年度会员生效,到期日为365天后 | PRD-付费-1 |
| TC-F-087 | 微信支付 | 选择微信支付 | 1.选择商品<br>2.选择微信支付<br>3.完成支付流程 | 支付成功,订单状态为已支付 | PRD-付费-3 |
| TC-F-088 | 支付宝支付 | 选择支付宝支付 | 1.选择商品<br>2.选择支付宝<br>3.完成支付流程 | 支付成功,订单状态为已支付 | PRD-付费-3 |
| TC-F-089 | 购买单独增值服务 | 有上架的增值服务 | 1.浏览增值服务<br>2.选择服务<br>3.支付购买 | 购买成功,增值服务可用 | PRD-付费-2 |
| TC-F-090 | 查看订单列表 | 有订单记录 | 进入订单页面 | 显示所有历史订单 | PRD-付费-4 |
| TC-F-091 | 按状态筛选订单 | 有多状态订单 | 选择"已支付"/"待支付"/"已退款" | 仅显示对应状态的订单 | PRD-付费-4 |
| TC-F-092 | 使用优惠券 | 有可用优惠券 | 下单时选择优惠券 | 订单金额按优惠券规则减免 | PRD-付费-6 |
| TC-F-093 | 优惠券过期不可用 | 有过期优惠券 | 下单时查看可使用优惠券 | 过期优惠券不显示在可用列表中 | PRD-付费-6 |
### 2.9 个人中心(ProfilePage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-094 | 查看个人资料 | 已登录 | 进入个人中心 | 显示头像、用户名、邮箱、手机号等信息 | PRD-个人-1 |
| TC-F-095 | 修改密码 | 已登录 | 1.输入旧密码<br>2.输入新密码<br>3.确认新密码<br>4.保存 | 密码修改成功,需重新登录 | PRD-个人-1 |
| TC-F-096 | 绑定手机号 | 未绑定手机 | 1.输入手机号<br>2.获取验证码<br>3.输入验证码<br>4.确认 | 手机号绑定成功 | PRD-个人-1 |
| TC-F-097 | 绑定邮箱 | 未绑定邮箱 | 1.输入邮箱<br>2.获取验证码<br>3.输入验证码<br>4.确认 | 邮箱绑定成功 | PRD-个人-1 |
| TC-F-098 | 查看登录日志 | 有登录记录 | 查看登录日志 | 显示登录时间、IP、设备信息 | PRD-个人-1 |
| TC-F-099 | 查看我的订单 | 有订单记录 | 点击"我的订单" | 显示全部订单记录 | PRD-个人-2 |
| TC-F-100 | 查看我的会员 | 已是会员 | 点击"我的会员" | 显示当前会员等级、到期时间、续费状态 | PRD-个人-3 |
| TC-F-101 | 管理自动续费 | 已是会员 | 切换自动续费开关 | 开关状态保存,到期时按设置处理 | PRD-个人-3 |
| TC-F-102 | 查看我的优惠券 | 有优惠券 | 点击"我的优惠券" | 显示可用/已用/过期优惠券 | PRD-个人-4 |
| TC-F-103 | 查看已购应用 | 有已购应用 | 点击"我的已购应用" | 显示所有已购Skills/Agent/MCP应用列表 | PRD-个人-5 |
| TC-F-104 | 管理已购应用 | 有已购应用 | 对已购应用执行卸载/重新安装 | 操作成功,状态更新 | PRD-个人-5 |
| TC-F-105 | 生成API密钥 | 需要API访问 | 1.进入API密钥管理<br>2.点击生成密钥<br>3.填写名称和过期时间<br>4.确认 | 生成API Key和Secret,支持复制 | PRD-个人-6 |
| TC-F-106 | 删除API密钥 | 已有API密钥 | 删除某API密钥 | 密钥被删除,使用该密钥的请求将被拒绝 | PRD-个人-6 |
| TC-F-107 | 个人信息编辑 | 已登录 | 修改昵称、头像等 | 修改保存成功 | PRD-个人-1 |
### 2.10 消息通知(NotificationPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-108 | 查看通知列表 | 有通知记录 | 进入消息通知页面 | 显示所有通知列表 | PRD-通知 |
| TC-F-109 | 通知已读标记 | 有未读通知 | 点击某条通知 | 通知标记为已读 | PRD-通知 |
| TC-F-110 | 平台公告通知 | 管理员发布了公告 | 查看通知列表 | 显示平台公告内容 | PRD-通知-1 |
| TC-F-111 | 会员到期提醒 | 会员即将到期 | 查看通知 | 收到会员到期提醒通知 | PRD-通知-2 |
| TC-F-112 | 余额不足提醒 | Token余额低于阈值 | 查看通知 | 收到余额不足提醒 | PRD-通知-3 |
| TC-F-113 | 应用更新通知 | 已购应用有更新 | 查看通知 | 收到应用更新通知 | PRD-通知-4 |
| TC-F-114 | 订单结果通知 | 完成支付/退款 | 查看通知 | 收到支付成功/退款通知 | PRD-通知-5 |
| TC-F-115 | 全部标为已读 | 有多条未读通知 | 点击"全部已读" | 所有通知标记为已读 | PRD-通知 |
| TC-F-116 | 删除通知 | 有通知记录 | 删除某条通知 | 通知被移除 | PRD-通知 |
### 2.11 资产管理(AssetsPage)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-F-117 | 进入资产管理页面 | 已登录 | 导航到资产管理页面 | 显示文件/小说/图片/视频/音频分类 | 🔄超出PRD |
| TC-F-118 | 文件上传与管理 | 已登录 | 1.上传文件<br>2.查看文件列表<br>3.删除文件 | 文件上传/管理正常 | 🔄超出PRD |
| TC-F-119 | AI小说创作 | 已登录 | 1.进入小说模块<br>2.输入创作需求<br>3.AI生成小说内容 | 生成小说章节内容 | 🔄超出PRD |
| TC-F-120 | AI图片生成 | 已登录 | 1.进入图片模块<br>2.输入图片描述<br>3.生成图片 | AI生成对应描述的图片 | 🔄超出PRD |
| TC-F-121 | AI视频生成 | 已登录 | 1.进入视频模块<br>2.输入视频描述<br>3.生成视频 | AI生成视频内容 | 🔄超出PRD |
| TC-F-122 | AI音频生成 | 已登录 | 1.进入音频模块<br>2.输入音频需求<br>3.生成音频 | AI生成音频内容 | 🔄超出PRD |
| TC-F-123 | 生成内容保存到资产库 | 已生成内容 | 查看资产库 | 生成的内容自动保存到资产库 | 🔄超出PRD |
| TC-F-124 | 资产数据仅归属当前用户 | 用户A有资产 | 用户B登录查看 | 用户B看不到用户A的资产 | 🔄超出PRD + KR4 |
---
## 3. 后台功能测试用例
### 3.1 后台访问权限
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-001 | 管理员登录后台 | 管理员账号 | 1.访问后台地址<br>2.输入管理员账号密码<br>3.登录 | 登录成功,进入管理仪表盘 | KR4 |
| TC-A-002 | 普通用户访问后台 | 普通用户账号 | 直接访问后台URL | 被拒绝访问,返回403或无权限提示 | KR4 |
| TC-A-003 | 未登录访问后台 | 未登录 | 直接访问后台URL | 跳转到登录页面 | KR4 |
### 3.2 管理仪表盘(Dashboard)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-004 | 查看仪表盘概览 | 管理员登录 | 进入后台首页 | 显示用户统计、订单统计、模型调用统计等图表 | 🔄超出PRD |
| TC-A-005 | 仪表盘数据刷新 | 管理员登录 | 查看仪表盘,等待数据刷新 | 仪表盘数据实时或定时刷新 | 🔄超出PRD |
### 3.3 用户管理(Users)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-006 | 查看用户列表 | 管理员登录 | 进入用户管理页面 | 显示所有注册用户列表 | PRD-后台 |
| TC-A-007 | 搜索用户 | 管理员登录 | 输入用户名/邮箱/手机号搜索 | 显示匹配的用户 | PRD-后台 |
| TC-A-008 | 查看用户详情 | 管理员登录 | 点击某用户 | 显示用户详细信息 | PRD-后台 |
| TC-A-009 | 封禁用户 | 管理员登录 | 1.选择用户<br>2.点击封禁<br>3.确认 | 用户状态变为封禁,该用户无法登录 | PRD-风控-4 |
| TC-A-010 | 解封用户 | 管理员登录 | 1.选择被封禁用户<br>2.点击解封 | 用户状态恢复正常,可正常登录 | PRD-风控-4 |
| TC-A-011 | 注册设置管理 | 管理员登录 | 1.进入注册设置<br>2.配置注册方式开关 | 注册方式配置生效 | 🔄超出PRD |
| TC-A-012 | 实名认证审核 | 有用户提交认证 | 1.查看认证申请<br>2.审核通过/拒绝 | 审核结果生效,用户收到通知 | 🔄超出PRD |
### 3.4 大模型库管理(Models)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-013 | 查看模型列表 | 管理员登录 | 进入模型库管理页面 | 显示所有已接入的模型列表 | PRD-后台-1 |
| TC-A-014 | 添加模型供应商 | 管理员登录 | 1.点击添加<br>2.填写供应商信息<br>3.配置API地址<br>4.保存 | 模型供应商添加成功 | PRD-后台-1 |
| TC-A-015 | 编辑模型供应商 | 管理员登录 | 1.选择供应商<br>2.修改信息<br>3.保存 | 修改成功 | PRD-后台-1 |
| TC-A-016 | 删除模型供应商 | 管理员登录 | 1.选择供应商<br>2.点击删除<br>3.确认 | 供应商及关联模型被删除 | PRD-后台-1 |
| TC-A-017 | 配置模型API密钥 | 管理员登录 | 1.选择模型<br>2.填写API密钥<br>3.保存 | API密钥保存成功 | PRD-后台-2 |
| TC-A-018 | 配置超时参数 | 管理员登录 | 1.选择模型<br>2.设置超时时间<br>3.保存 | 超时配置生效 | PRD-后台-2 |
| TC-A-019 | 开启免费调用 | 管理员登录 | 对某模型开启免费调用状态 | 用户使用该模型时不计费 | PRD-后台-3 |
| TC-A-020 | 开启付费调用 | 管理员登录 | 对某模型开启付费调用状态 | 用户使用该模型时按计费单价扣费 | PRD-后台-3 |
| TC-A-021 | 关闭模型 | 管理员登录 | 将模型设为禁用 | 用户无法选择该模型进行对话 | PRD-后台-3 |
| TC-A-022 | 设置Token计费单价 | 管理员登录 | 1.选择模型<br>2.输入"元/百万Token"价格<br>3.保存 | 计费单价立即生效 | PRD-后台-4 |
| TC-A-023 | 查看全局调用统计 | 管理员登录 | 进入调用统计页面 | 显示全部用户模型调用统计数据 | PRD-后台-5 |
### 3.5 网站基础设置(SiteSettings)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-024 | 配置网站LOGO | 管理员登录 | 1.上传LOGO图片<br>2.保存 | 前台显示新LOGO | PRD-后台-6 |
| TC-A-025 | 配置网站名称 | 管理员登录 | 1.修改网站名称<br>2.保存 | 前台显示新网站名称 | PRD-后台-6 |
| TC-A-026 | 配置首页公告 | 管理员登录 | 1.编辑公告内容<br>2.保存 | 前台显示新公告 | PRD-后台-6 |
| TC-A-027 | 配置备案号 | 管理员登录 | 1.输入备案号<br>2.保存 | 前台底部显示备案号 | PRD-后台-6 |
| TC-A-028 | 配置邮件服务器 | 管理员登录 | 1.填写SMTP信息<br>2.测试连接<br>3.保存 | 邮件服务配置成功,可正常发送邮件 | PRD-后台-7 |
| TC-A-029 | 配置短信接口 | 管理员登录 | 1.填写短信接口信息<br>2.测试<br>3.保存 | 短信服务配置成功,可正常发送短信 | PRD-后台-8 |
### 3.6 支付渠道配置(Payment)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-030 | 配置微信支付 | 管理员登录 | 1.填写商户号<br>2.上传密钥/证书<br>3.保存 | 微信支付配置保存成功 | PRD-后台-9 |
| TC-A-031 | 配置支付宝支付 | 管理员登录 | 1.填写应用ID<br>2.填写支付密钥<br>3.保存 | 支付宝支付配置保存成功 | PRD-后台-10 |
| TC-A-032 | 查看订单列表 | 管理员登录 | 进入订单管理页面 | 显示全平台订单列表 | PRD-后台-11 |
| TC-A-033 | 订单对账 | 管理员登录 | 1.选择时间段<br>2.查看订单统计 | 显示订单金额汇总与对账状态 | PRD-后台-11 |
| TC-A-034 | 订单退款 | 管理员登录 | 1.选择已支付订单<br>2.点击退款<br>3.确认 | 退款处理成功,用户收到退款通知 | PRD-后台-11 |
### 3.7 增值服务管理(Services)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-035 | 上架增值服务 | 管理员登录 | 1.点击新增<br>2.填写服务名称/描述/价格<br>3.选择类型<br>4.上架 | 服务在前台付费中心可见 | PRD-后台-12 |
| TC-A-036 | 编辑增值服务 | 管理员登录 | 1.选择服务<br>2.修改信息<br>3.保存 | 修改后的信息在前台更新 | PRD-后台-12 |
| TC-A-037 | 下架增值服务 | 管理员登录 | 1.选择服务<br>2.点击下架 | 前台不再显示该服务 | PRD-后台-12 |
| TC-A-038 | 上架定制服务(Skills) | 管理员登录 | 1.新增定制服务<br>2.选择Skills类型<br>3.上架 | 前台可下单定制Skills | PRD-后台-13 |
| TC-A-039 | 上架定制服务(Agent) | 管理员登录 | 1.新增定制服务<br>2.选择Agent类型<br>3.上架 | 前台可下单定制Agent | PRD-后台-13 |
| TC-A-040 | 上架定制服务(MCP) | 管理员登录 | 1.新增定制服务<br>2.选择MCP类型<br>3.上架 | 前台可下单定制MCP应用 | PRD-后台-13 |
| TC-A-041 | 增值服务订单管理 | 管理员登录 | 查看/修改增值服务订单状态 | 订单状态修改生效 | PRD-后台-14 |
### 3.8 会员订阅体系(Membership)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-042 | 新增会员等级 | 管理员登录 | 1.点击新增等级<br>2.填写等级名称<br>3.配置价格<br>4.保存 | 新会员等级在付费中心可见 | PRD-后台-15 |
| TC-A-043 | 编辑会员等级 | 管理员登录 | 1.选择等级<br>2.修改信息<br>3.保存 | 修改生效 | PRD-后台-15 |
| TC-A-044 | 删除会员等级 | 管理员登录 | 删除某等级 | 该等级不再显示 | PRD-后台-15 |
| TC-A-045 | 配置月订阅价格 | 管理员登录 | 1.选择等级<br>2.设置月度价格<br>3.保存 | 月度价格生效 | PRD-后台-16 |
| TC-A-046 | 配置季订阅价格 | 管理员登录 | 1.选择等级<br>2.设置季度价格<br>3.保存 | 季度价格生效 | PRD-后台-16 |
| TC-A-047 | 配置年订阅价格 | 管理员登录 | 1.选择等级<br>2.设置年度价格<br>3.保存 | 年度价格生效 | PRD-后台-16 |
| TC-A-048 | 配置会员免费应用清单 | 管理员登录 | 1.选择等级<br>2.勾选免费应用<br>3.保存 | 该等级会员可免费使用选定应用 | PRD-后台-17 |
| TC-A-049 | 配置免费Token额度 | 管理员登录 | 1.选择等级<br>2.设置每日免费Token<br>3.保存 | 会员每日获得对应免费Token额度 | PRD-后台-18 |
| TC-A-050 | 配置自动降级规则 | 管理员登录 | 1.开启自动降级<br>2.设置降级规则 | 会员到期后自动降级 | PRD-后台-19 |
| TC-A-051 | 配置自动续费 | 管理员登录 | 1.开启自动续费选项<br>2.保存 | 用户可设置自动续费 | PRD-后台-19 |
### 3.9 广告位管理(Ads)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-052 | 查看广告位列表 | 管理员登录 | 进入广告位管理页面 | 显示所有广告位 | 🔄超出PRD |
| TC-A-053 | 创建广告位 | 管理员登录 | 1.新建广告位<br>2.填写位置/尺寸/跳转链接<br>3.上传广告图片<br>4.保存 | 广告位创建成功 | 🔄超出PRD |
| TC-A-054 | 编辑广告位 | 管理员登录 | 1.选择广告位<br>2.修改内容<br>3.保存 | 修改生效 | 🔄超出PRD |
| TC-A-055 | 删除广告位 | 管理员登录 | 删除广告位 | 广告位被移除 | 🔄超出PRD |
| TC-A-056 | 广告位前台显示 | 有已上线的广告位 | 访问前台对应位置 | 显示管理员配置的广告内容 | 🔄超出PRD |
### 3.10 应用市场审核(Market Admin)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-057 | 查看待审核应用 | 管理员登录 | 进入市场审核页面 | 显示待审核的应用列表 | PRD-后台-20 |
| TC-A-058 | 审核通过应用 | 有用户提交的应用 | 1.查看应用详情<br>2.点击审核通过 | 应用上架至市场,用户可见 | PRD-后台-20 |
| TC-A-059 | 拒绝并下架应用 | 有已上架应用 | 1.选择应用<br>2.点击拒绝/下架 | 应用从市场移除 | PRD-后台-20 |
| TC-A-060 | 创建优惠券 | 管理员登录 | 1.新建优惠券<br>2.填写类型/面值/门槛/有效期<br>3.发放 | 优惠券创建并发放给用户 | PRD-后台-21 |
| TC-A-061 | 编辑优惠券 | 管理员登录 | 修改优惠券信息 | 修改保存成功 | PRD-后台-21 |
| TC-A-062 | 官方应用上架 | 管理员登录 | 1.新建官方应用<br>2.填写信息<br>3.上架 | 官方应用在前台市场显示 | PRD-后台-22 |
| TC-A-063 | 官方应用下架 | 管理员登录 | 对官方应用执行下架 | 前台不再显示该应用 | PRD-后台-22 |
### 3.11 日志与风控(Logs)
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 对应PRD |
|----------|----------|----------|----------|----------|----------|
| TC-A-064 | 查看操作日志 | 管理员登录 | 进入操作日志页面 | 显示全平台用户操作日志 | PRD-后台-23 |
| TC-A-065 | 按用户筛选操作日志 | 管理员登录 | 选择特定用户筛选 | 仅显示该用户的操作日志 | PRD-后台-23 |
| TC-A-066 | 导出操作日志 | 管理员登录 | 点击导出 | 下载操作日志文件 | PRD-后台-23 |
| TC-A-067 | 操作日志不可删除-无删除按钮 | 管理员登录 | 查看操作日志界面 | 界面上无删除按钮或删除操作不可用 | KR5 |
| TC-A-068 | 查看模型调用日志 | 管理员登录 | 进入调用日志页面 | 显示模型调用日志 | PRD-后台-24 |
| TC-A-069 | 导出调用日志 | 管理员登录 | 点击导出 | 下载调用日志文件 | PRD-后台-24 |
| TC-A-070 | 调用日志不可删除 | 管理员登录 | 查看调用日志界面 | 界面上无删除按钮或删除操作不可用 | KR5 |
| TC-A-071 | 查看付费日志 | 管理员登录 | 进入付费日志页面 | 显示付费订单日志 | PRD-后台-25 |
| TC-A-072 | 导出付费日志 | 管理员登录 | 点击导出 | 下载付费日志文件 | PRD-后台-25 |
| TC-A-073 | 付费日志不可删除 | 管理员登录 | 查看付费日志界面 | 界面上无删除按钮或删除操作不可用 | KR5 |
| TC-A-074 | API调用限流配置 | 管理员登录 | 1.进入风控设置<br>2.设置API限流规则<br>3.保存 | 限流规则生效 | PRD-后台-27 |
| TC-A-075 | 异常调用风控拦截 | 管理员登录 | 配置异常调用规则 | 达到阈值的异常调用被拦截 | PRD-后台-28 |
---
## 4. 核心检查项专项测试用例
| 用例编号 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 | 重要等级 |
|----------|----------|----------|----------|----------|----------|
| TC-CORE-001 | 用户数据物理隔离-对话 | 用户A和用户B各有对话记录 | 用户B登录,通过API尝试获取用户A的对话 | 无法获取,返回空或权限错误 | ⭐⭐⭐ |
| TC-CORE-002 | 用户数据物理隔离-知识库 | 用户A有知识库 | 用户B登录,尝试访问用户A的知识库API | 无法访问,返回空或权限错误 | ⭐⭐⭐ |
| TC-CORE-003 | 用户数据物理隔离-资产 | 用户A有资产文件 | 用户B尝试访问用户A的资产 | 无法访问 | ⭐⭐⭐ |
| TC-CORE-004 | 用户数据物理隔离-订单 | 用户A有订单 | 用户B尝试查看用户A的订单 | 无法查看 | ⭐⭐⭐ |
| TC-CORE-005 | 日志不可删除-API验证 | 管理员登录 | 尝试通过API DELETE操作删除日志记录 | 返回操作不允许,日志记录未被删除 | ⭐⭐⭐ |
| TC-CORE-006 | Token计费准确性-单次调用 | 已知模型单价 | 1.发起一次对话<br>2.查询消耗明细<br>3.计算费用 | 费用 = tokens/1000000 × 单价 | ⭐⭐⭐ |
| TC-CORE-007 | Token计费准确性-多次调用累计 | 多次对话 | 1.多次对话<br>2.查看Token驾驶舱汇总<br>3.手动求和比对 | 汇总数据与手动计算一致 | ⭐⭐⭐ |
| TC-CORE-008 | 权限隔离-普通用户访问后台API | 普通用户登录 | 直接请求后台管理API(如 /app/admin/users) | 返回403 Forbidden | ⭐⭐⭐ |
| TC-CORE-009 | 权限隔离-普通用户访问后台页面 | 普通用户登录 | 浏览器直接访问后台页面URL | 跳转或显示无权限 | ⭐⭐⭐ |
| TC-CORE-010 | 管理员无法访问用户私密对话 | 管理员登录 | 尝试通过API查看某用户的对话内容 | 仅能查看统计数据,无法查看对话具体内容 | ⭐⭐⭐ |
---
## 5. 测试环境要求
| 项目 | 要求 |
|------|------|
| 前端访问地址 | 通过`APP_ACCESS_URL`环境变量获取 |
| 后端API | `localhost:18080`,接口前缀 `/app/api` |
| 数据库 | MySQL 8 (`localhost:3306`, root/pwd2026) |
| Redis | `localhost:6379`, 密码 pwd2026 |
| 测试管理员账号 | admin / admin123 |
| 测试用普通账号 | 需在测试过程中自行注册2个 |
| 浏览器 | 基于远端容器中的Chromium |
---
## 6. 测试用例统计
| 测试分类 | 用例数量 |
|----------|----------|
| 访客首页 | 6 |
| 用户注册/登录 | 9 |
| AI聊天 | 16 |
| IM频道绑定 | 7 |
| 知识库 | 16 |
| 应用市场 | 16 |
| Token驾驶舱 | 12 |
| 付费中心 | 11 |
| 个人中心 | 14 |
| 消息通知 | 9 |
| 资产管理 | 8 |
| 后台访问权限 | 3 |
| 管理仪表盘 | 2 |
| 用户管理 | 7 |
| 大模型库管理 | 11 |
| 网站基础设置 | 6 |
| 支付渠道配置 | 5 |
| 增值服务管理 | 7 |
| 会员订阅体系 | 10 |
| 广告位管理 | 5 |
| 应用市场审核 | 7 |
| 日志与风控 | 12 |
| 核心检查项 | 10 |
| **合计** | **207** |
---
## 7. PRD未覆盖代码功能的处理建议
以下功能在代码中已实现但PRD中未描述,建议通知产品经理评估是否需要补充PRD:
| 序号 | 功能 | 风险评估 |
|------|------|----------|
| 1 | 资产管理(文件/小说/图片/视频/音频) | ⚠️ 功能已完成开发,需补充PRD |
| 2 | 广告位管理系统 | ⚠️ 功能已完成,需补充PRD |
| 3 | 用户注册设置(后台) | 低风险,配置管理类功能 |
| 4 | 实名认证审核(后台) | 低风险,配置管理类功能 |
| 5 | 后台管理仪表盘 | 低风险,通用管理功能 |
| 6 | 对话置顶 | 低风险,UI增强功能 |
| 7 | 对话转知识图谱 | 低风险,但涉及向量数据库 |
| 8 | Hub导入(应用市场) | 中风险,涉及第三方对接 |
| 9 | 平台对接(应用市场) | 中风险,涉及跨平台集成 |
| 10 | 小说预览页 | 低风险,展示页面 |
---
> **文档状态**: 待审核
> **创建日期**: 2026-05-27
> **文档版本**: v1.0
> **创建人**: 测试工程师(QA)