Files
wecom_it_smart_desk/docs/03-测试文档/03-功能测试用例/TC-REQ-AI-004-AI回复来源标识.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

161 lines
4.7 KiB
Markdown

# 测试用例 - AI回复来源标识
> **REQ编号**: REQ-AI-004
> **版本**: v1.0
> **日期**: 2026-07-20
> **作者**: 许清楚
---
## 一、用例汇总
| 类别 | 用例数 | 通过 | 失败 |
|------|--------|------|------|
| 功能测试 | 8 | 0 | 0 |
| 接口测试 | 4 | 0 | 0 |
| 总计 | 12 | 0 | 0 |
---
## 二、功能测试用例
### 2.1 来源标识显示
| TC-ID | TC-001 |
|-------|--------|
| 用例名称 | 单来源 - 图谱回复显示标识 |
| 前置条件 | 用户发送"重置密码"问题,图谱路由命中 |
| 测试步骤 | 1. 用户发送问题<br>2. AI回复<br>3. 检查回复末尾是否显示🕸️ |
| 预期结果 | 回复末尾显示🕸️标识 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-002 |
|-------|--------|
| 用例名称 | 单来源 - Dify推理显示标识 |
| 前置条件 | 用户发送复杂问题,触发Dify推理 |
| 测试步骤 | 1. 用户发送复杂问题<br>2. AI回复<br>3. 检查回复末尾是否显示🤖 |
| 预期结果 | 回复末尾显示🤖标识 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-003 |
|-------|--------|
| 用例名称 | 多来源 - 业务路由+资产推荐叠加显示 |
| 前置条件 | 用户发送"推荐笔记本电脑",触发业务路由+资产推荐 |
| 测试步骤 | 1. 用户发送"推荐笔记本电脑"<br>2. AI回复<br>3. 检查是否显示📋💻 |
| 预期结果 | 回复末尾显示📋💻两个标识 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-004 |
|-------|--------|
| 用例名称 | 多来源 - 超过3个标识时只显示前3个 |
| 前置条件 | 触发3个以上来源的场景 |
| 测试步骤 | 1. 触发多来源场景<br>2. AI回复<br>3. 检查标识数量 |
| 预期结果 | 最多显示3个标识,按优先级排列 |
| 测试结果 | ⬜ 待测试 |
---
### 2.2 来源追溯
| TC-ID | TC-005 |
|-------|--------|
| 用例名称 | 坐席端 - 查看消息来源详情 |
| 前置条件 | 坐席进入会话详情 |
| 测试步骤 | 1. 坐席打开会话<br>2. 点击AI消息<br>3. 检查是否显示来源详情 |
| 预期结果 | 显示"来源:🕸️ 图谱"或"📋 业务路由 + 💻 资产推荐" |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-006 |
|-------|--------|
| 用例名称 | 数据库 - reply_source字段存储正确 |
| 前置条件 | AI回复已持久化 |
| 测试步骤 | 1. 查询messages表<br>2. 检查reply_source字段 |
| 预期结果 | 字段存储JSON数组,如'["graph"]'或'["routing","assets"]' |
| 测试结果 | ⬜ 待测试 |
---
### 2.3 配置管理
| TC-ID | TC-007 |
|-------|--------|
| 用例名称 | 配置热更新 - 修改图标后生效 |
| 前置条件 | 修改配置文件 |
| 测试步骤 | 1. 修改config/ai_reply.yaml<br>2. 触发热更新<br>3. 发送消息测试 |
| 预期结果 | 标识图标按新配置显示 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-008 |
|-------|--------|
| 用例名称 | 无来源 - 不显示标识 |
| 前置条件 | 异常情况未获取到来源 |
| 测试步骤 | 1. 触发异常场景<br>2. AI回复<br>3. 检查是否显示标识 |
| 预期结果 | 不显示任何来源标识 |
| 测试结果 | ⬜ 待测试 |
---
## 三、接口测试用例
### 3.1 消息查询接口
| TC-ID | TC-009 |
|-------|--------|
| 用例名称 | API返回reply_source字段 |
| 前置条件 | 无 |
| 测试步骤 | 1. 调用GET /api/messages/{conversation_id}<br>2. 检查返回的messages中是否包含reply_source字段 |
| 预期结果 | 返回消息中包含reply_source字段 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-010 |
|-------|--------|
| 用例名称 | WebSocket推送包含标识 |
| 前置条件 | 建立WS连接 |
| 测试步骤 | 1. 建立WS连接<br>2. 触发AI回复<br>3. 检查推送消息 |
| 预期结果 | 推送消息中content带标识,reply_source为数组 |
| 测试结果 | ⬜ 待测试 |
---
### 3.2 边界情况
| TC-ID | TC-011 |
|-------|--------|
| 用例名称 | reply_source为null时 |
| 前置条件 | 历史数据reply_source为null |
| 测试步骤 | 1. 查询历史消息<br>2. 检查显示 |
| 预期结果 | 不显示标识,不报错 |
| 测试结果 | ⬜ 待测试 |
---
| TC-ID | TC-012 |
|-------|--------|
| 用例名称 | reply_source包含非法值时 |
| 前置条件 | 数据中存在非法来源值 |
| 测试步骤 | 1. 构造非法来源值<br>2. 检查显示 |
| 预期结果 | 忽略非法值,显示合法标识 |
| 测试结果 | ⬜ 待测试 |
---
## 四、关联文档
| 文档 | 路径 |
|------|------|
| PRD | `01-产品文档/03-AI服务/PRD-REQ-AI-004-AI回复来源标识-v1.0.md` |
| 技术方案 | `02-技术文档/技术架构/技术方案-REQ-AI-004-AI回复来源标识-v1.0.md` |
| 原型图 | `01-产品文档/03-AI服务/原型-REQ-AI-004-AI回复来源标识-v1.0.html` |