facc04aa65
本提交为 .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-*/
4.7 KiB
4.7 KiB
测试用例 - 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. 用户发送问题 2. AI回复 3. 检查回复末尾是否显示🕸️ |
| 预期结果 | 回复末尾显示🕸️标识 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-002 |
|---|---|
| 用例名称 | 单来源 - Dify推理显示标识 |
| 前置条件 | 用户发送复杂问题,触发Dify推理 |
| 测试步骤 | 1. 用户发送复杂问题 2. AI回复 3. 检查回复末尾是否显示🤖 |
| 预期结果 | 回复末尾显示🤖标识 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-003 |
|---|---|
| 用例名称 | 多来源 - 业务路由+资产推荐叠加显示 |
| 前置条件 | 用户发送"推荐笔记本电脑",触发业务路由+资产推荐 |
| 测试步骤 | 1. 用户发送"推荐笔记本电脑" 2. AI回复 3. 检查是否显示📋💻 |
| 预期结果 | 回复末尾显示📋💻两个标识 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-004 |
|---|---|
| 用例名称 | 多来源 - 超过3个标识时只显示前3个 |
| 前置条件 | 触发3个以上来源的场景 |
| 测试步骤 | 1. 触发多来源场景 2. AI回复 3. 检查标识数量 |
| 预期结果 | 最多显示3个标识,按优先级排列 |
| 测试结果 | ⬜ 待测试 |
2.2 来源追溯
| TC-ID | TC-005 |
|---|---|
| 用例名称 | 坐席端 - 查看消息来源详情 |
| 前置条件 | 坐席进入会话详情 |
| 测试步骤 | 1. 坐席打开会话 2. 点击AI消息 3. 检查是否显示来源详情 |
| 预期结果 | 显示"来源:🕸️ 图谱"或"📋 业务路由 + 💻 资产推荐" |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-006 |
|---|---|
| 用例名称 | 数据库 - reply_source字段存储正确 |
| 前置条件 | AI回复已持久化 |
| 测试步骤 | 1. 查询messages表 2. 检查reply_source字段 |
| 预期结果 | 字段存储JSON数组,如'["graph"]'或'["routing","assets"]' |
| 测试结果 | ⬜ 待测试 |
2.3 配置管理
| TC-ID | TC-007 |
|---|---|
| 用例名称 | 配置热更新 - 修改图标后生效 |
| 前置条件 | 修改配置文件 |
| 测试步骤 | 1. 修改config/ai_reply.yaml 2. 触发热更新 3. 发送消息测试 |
| 预期结果 | 标识图标按新配置显示 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-008 |
|---|---|
| 用例名称 | 无来源 - 不显示标识 |
| 前置条件 | 异常情况未获取到来源 |
| 测试步骤 | 1. 触发异常场景 2. AI回复 3. 检查是否显示标识 |
| 预期结果 | 不显示任何来源标识 |
| 测试结果 | ⬜ 待测试 |
三、接口测试用例
3.1 消息查询接口
| TC-ID | TC-009 |
|---|---|
| 用例名称 | API返回reply_source字段 |
| 前置条件 | 无 |
| 测试步骤 | 1. 调用GET /api/messages/{conversation_id} 2. 检查返回的messages中是否包含reply_source字段 |
| 预期结果 | 返回消息中包含reply_source字段 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-010 |
|---|---|
| 用例名称 | WebSocket推送包含标识 |
| 前置条件 | 建立WS连接 |
| 测试步骤 | 1. 建立WS连接 2. 触发AI回复 3. 检查推送消息 |
| 预期结果 | 推送消息中content带标识,reply_source为数组 |
| 测试结果 | ⬜ 待测试 |
3.2 边界情况
| TC-ID | TC-011 |
|---|---|
| 用例名称 | reply_source为null时 |
| 前置条件 | 历史数据reply_source为null |
| 测试步骤 | 1. 查询历史消息 2. 检查显示 |
| 预期结果 | 不显示标识,不报错 |
| 测试结果 | ⬜ 待测试 |
| TC-ID | TC-012 |
|---|---|
| 用例名称 | reply_source包含非法值时 |
| 前置条件 | 数据中存在非法来源值 |
| 测试步骤 | 1. 构造非法来源值 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 |