# 测试用例 - 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` |