# 功能测试文档 ## 测试说明 本文档为四川路桥 Maas 智能体平台 v1.0 的完整功能测试用例,供测试人员逐项执行验证。 ### 测试前准备 1. **平台已部署完成**,可通过浏览器正常访问 2. **管理员账号**:admin / admin123(或部署时设置的密码) 3. **AI 模型 API Key**:至少准备一个可用的 LLM 模型 Key(推荐 DeepSeek)和一个 Embedding 模型 Key 4. **测试文档**:准备 2-3 个测试文件(txt/pdf/docx 格式,内容已知,方便验证检索结果) 5. **SSO 环境**(如需测试 SSO):确认 SSO 服务可用,已配置好回调地址 6. **样本中心环境**(如需测试):确认样本中心服务可用,有 App ID 和 Secret ### 测试地址 `http://<部署服务器IP>/admin/` --- ## 一、登录与认证模块 ### TC-1.1 账号密码登录(正常流程) **前置条件:** 未登录状态 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 打开平台地址 | 显示登录页面,页面标题显示平台名称 | | 2 | 确认页面元素 | 包含:用户名输入框、密码输入框、验证码输入框、验证码图片、登录按钮、SSO 登录按钮 | | 3 | 输入正确用户名 admin | - | | 4 | 输入正确密码 admin123 | - | | 5 | 输入验证码图片中显示的字符 | - | | 6 | 点击"登录"按钮 | 登录成功,页面跳转到智能体列表页,左上角显示平台名称 | ### TC-1.2 登录异常场景 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 输入正确用户名,错误密码,正确验证码,点击登录 | 提示"用户名或密码错误",不跳转 | | 2 | 输入不存在的用户名,点击登录 | 提示"用户名或密码错误" | | 3 | 不输入验证码,点击登录 | 表单校验提示验证码必填 | | 4 | 输入错误验证码,点击登录 | 提示验证码错误,验证码图片刷新 | | 5 | 所有字段为空,点击登录 | 表单校验提示各字段必填 | | 6 | 点击验证码图片 | 验证码刷新为新的图片 | ### TC-1.3 SSO 单点登录 **前置条件:** SSO 服务已配置且可用 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在登录页点击"统一认证登录 (SSO)"按钮 | 浏览器跳转到 SSO 认证平台的登录页面 | | 2 | 在 SSO 页面输入 SSO 账号密码,完成登录 | SSO 认证成功,浏览器回调到平台 | | 3 | 观察回调后的页面 | 自动登录成功,跳转到智能体列表页 | | 4 | 首次 SSO 登录的用户 | 系统自动创建本地用户,角色根据 SSO 返回的角色信息映射 | ### TC-1.4 退出登录 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 已登录状态,点击右上角用户头像 | 弹出下拉菜单 | | 2 | 点击"退出登录" | 跳转到登录页面 | | 3 | 退出后,直接在地址栏输入平台内页地址 | 自动跳转到登录页(Token 已清除) | | 4 | 退出后,点击浏览器后退按钮 | 不能回到已登录的页面 | ### TC-1.5 Token 过期 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 登录后等待 Token 过期(默认 8 小时,可调短测试) | - | | 2 | 过期后点击页面中的任意操作 | 自动跳转到登录页,提示需要重新登录 | --- ## 二、模型管理模块 ### TC-2.1 查看模型列表 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击顶部导航栏"模型" | 进入模型管理页面 | | 2 | 查看页面内容 | 左侧显示模型提供商列表(OpenAI、DeepSeek、通义千问等),右侧显示已添加的模型 | ### TC-2.2 添加 LLM 模型 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在模型提供商列表中选择一个(如 DeepSeek) | 弹出模型配置对话框 | | 2 | 填写 API Key(使用有效的 Key) | - | | 3 | 填写 API 地址(如有自定义地址) | - | | 4 | 点击"获取模型"或选择模型 | 显示该提供商可用的模型列表 | | 5 | 勾选需要的模型(如 deepseek-chat) | - | | 6 | 点击"添加" | 模型添加成功,列表中显示新模型,状态为绿色"可用" | ### TC-2.3 添加 Embedding 模型 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 选择支持 Embedding 的提供商 | 弹出配置对话框 | | 2 | 填写 API Key | - | | 3 | 选择 Embedding 类型的模型 | - | | 4 | 点击添加 | Embedding 模型添加成功(后续创建知识库时需要) | ### TC-2.4 模型异常场景 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 使用无效的 API Key 添加模型 | 模型状态显示红色"不可用" | | 2 | 删除一个已被智能体使用的模型 | 提示该模型正在被使用,确认是否删除 | | 3 | 编辑模型,修改为无效 Key | 模型状态变为"不可用" | --- ## 三、知识库模块 ### TC-3.1 创建通用知识库 **前置条件:** 已添加至少一个 Embedding 模型 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击顶部导航"知识库" | 进入知识库列表页 | | 2 | 点击右上角"创建"按钮 | 弹出下拉菜单,显示多种知识库类型 | | 3 | 选择"通用知识库" | 弹出创建对话框 | | 4 | 输入知识库名称(如"测试知识库") | - | | 5 | 输入描述(可选) | - | | 6 | 在"向量模型"下拉中选择已添加的 Embedding 模型 | 下拉列表显示可用模型 | | 7 | 点击"创建" | 创建成功,自动跳转到该知识库的文档管理页 | ### TC-3.2 上传文档 **前置条件:** 已创建知识库 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在知识库文档页,点击"上传文档" | 跳转到文档上传页面 | | 2 | 点击选择文件或拖拽文件到上传区域 | 文件出现在待上传列表中 | | 3 | 上传一个 txt 文件 | 文件显示在列表中 | | 4 | 上传一个 pdf 文件 | 文件显示在列表中 | | 5 | 上传一个 docx 文件 | 文件显示在列表中 | | 6 | 查看分段预览(如有) | 显示文档将被切分的段落预览 | | 7 | 点击"开始上传"或"确认" | 上传成功,返回文档列表页 | | 8 | 查看文档状态 | 初始显示"向量化中",等待后变为"已完成" | ### TC-3.3 文档段落管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在文档列表中点击某个文档名称 | 进入段落列表页,显示该文档的所有段落 | | 2 | 查看段落内容 | 每个段落显示文本内容、字符数、状态 | | 3 | 点击某个段落的"编辑" | 可修改段落内容 | | 4 | 修改内容后保存 | 保存成功,内容更新 | | 5 | 点击"新增段落" | 可添加新的段落 | | 6 | 填写内容后保存 | 新段落出现在列表中 | | 7 | 选中一个段落,点击"删除" | 确认后段落删除 | | 8 | 切换段落的"启用/禁用"状态 | 禁用的段落不参与检索 | ### TC-3.4 命中测试 **前置条件:** 知识库中有已向量化完成的文档 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在知识库中找到"命中测试"功能入口 | 进入命中测试页面 | | 2 | 在输入框中输入一个与文档内容相关的问题 | - | | 3 | 点击"测试"按钮 | 返回匹配的段落列表 | | 4 | 查看结果 | 每条结果显示:段落内容、相似度分数、所属文档 | | 5 | 修改"相似度阈值"为更高的值(如 0.8) | 结果数量减少(只保留高相似度的) | | 6 | 修改"Top N"为 1 | 只返回最匹配的 1 条结果 | | 7 | 切换搜索模式为"关键词检索" | 使用关键词匹配,结果可能不同 | | 8 | 切换搜索模式为"混合检索" | 综合向量和关键词的结果 | | 9 | 输入一个与文档完全无关的问题 | 返回空结果或相似度很低的结果 | ### TC-3.5 知识库管理操作 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在知识库列表中,点击某个知识库的"编辑" | 可修改名称和描述 | | 2 | 修改后保存 | 保存成功 | | 3 | 选中文档 → 点击"向量化" | 重新向量化任务启动 | | 4 | 选中文档 → 点击"删除" | 确认后文档删除 | | 5 | 删除整个知识库 | 确认后知识库及所有文档、段落全部删除 | ### TC-3.6 样本中心知识库 **前置条件:** 样本中心服务可用 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 创建 → 选择"样本中心知识库" | 弹出连接配置对话框(步骤一) | | 2 | 填写 API 地址 | - | | 3 | 填写 App ID | - | | 4 | 填写 App Secret | - | | 5 | 点击"连接" | 连接成功,进入步骤二,显示样本中心的知识库列表 | | 6 | 连接失败场景:填写错误的地址或密钥 | 提示连接失败 | | 7 | 在列表中选择一个知识库,点击"选择" | 进入步骤三,显示创建表单 | | 8 | 确认知识库名称(默认为样本中心知识库名称) | - | | 9 | 选择向量模型 | - | | 10 | 点击"创建" | 本地知识库创建成功,跳转到文档页 | | 11 | 上传文档到该知识库 | 上传成功(与普通知识库相同) | | 12 | 选中文档 → 点击"推送到样本中心" | 弹出推送确认对话框 | | 13 | 确认目标知识库信息,点击"确认推送" | 任务提交成功,显示进度信息 | | 14 | 观察任务进度 | 状态从"等待处理"→"处理中"→"已完成" | | 15 | 任务完成后查看结果 | 显示成功条数和失败条数 | --- ## 四、智能体模块 ### TC-4.1 创建简单智能体 **前置条件:** 已添加至少一个 LLM 模型 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击顶部导航"智能体" | 进入智能体列表页 | | 2 | 点击"创建" | 弹出创建对话框 | | 3 | 选择"简易模式" | - | | 4 | 输入智能体名称(如"测试助手") | - | | 5 | 选择 AI 模型 | 下拉显示已添加的 LLM 模型 | | 6 | 点击"创建" | 创建成功,进入智能体设置页 | | 7 | 在"系统提示词"中输入提示词(如"你是一个友好的助手") | - | | 8 | 点击保存 | 保存成功 | ### TC-4.2 智能体关联知识库 **前置条件:** 已创建知识库且有已向量化的文档 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在智能体设置页,找到"知识库"配置区域 | - | | 2 | 点击"添加知识库" | 弹出知识库选择列表 | | 3 | 勾选要关联的知识库 | - | | 4 | 确认 | 知识库关联成功,显示在配置中 | | 5 | 保存智能体设置 | 保存成功 | ### TC-4.3 智能体对话调试 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在智能体页面点击"调试"按钮 | 打开对话调试窗口 | | 2 | 输入"你好" | 智能体正常回复问候 | | 3 | 输入与知识库内容相关的问题 | 回复中引用了知识库的内容 | | 4 | 查看回复中的"来源"标记 | 显示引用的段落来源 | | 5 | 连续发送多条消息 | 上下文连贯,智能体记住之前的对话 | | 6 | 点击"新建对话" | 清空历史,开始全新对话 | | 7 | 查看左侧对话历史列表 | 显示之前的对话记录 | ### TC-4.4 创建高级智能体(工作流模式) | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 创建智能体 → 选择"工作流模式" | 创建成功,进入工作流可视化编辑器 | | 2 | 查看默认工作流 | 画布上显示默认节点(开始→AI对话→直接回复) | | 3 | 点击"AI 对话"节点 | 右侧弹出节点配置面板 | | 4 | 选择模型、填写提示词 | - | | 5 | 保存节点配置 | 配置保存成功 | | 6 | 从左侧节点面板拖拽"知识库检索"节点到画布 | 节点出现在画布上 | | 7 | 删除原有连线,重新连接:开始→知识库检索→AI对话→直接回复 | 连线成功 | | 8 | 配置"知识库检索"节点(选择知识库) | 配置保存 | | 9 | 点击右上角"调试" | 打开调试对话窗口 | | 10 | 发送一条消息 | 工作流按顺序执行,返回结果 | | 11 | 查看执行详情 | 显示每个节点的输入、输出、耗时 | ### TC-4.5 工作流节点测试 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 添加"条件判断"节点 | 节点添加成功,可配置条件 | | 2 | 添加"工具调用"节点 | 节点添加成功,可选择工具 | | 3 | 添加"参数提取"节点 | 节点添加成功,可配置提取规则 | | 4 | 删除一个节点 | 节点及其连线删除 | | 5 | 撤销操作 | 恢复删除的节点 | | 6 | 保存工作流 | 保存成功 | ### TC-4.6 智能体发布 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入智能体 → "概览"页面 | 显示发布配置 | | 2 | 开启"公开访问"开关 | 生成公开访问链接 | | 3 | 复制链接,在新的浏览器窗口(未登录状态)打开 | 显示对话界面,可正常发送消息和接收回复 | | 4 | 设置"访问次数限制"为 5 | 保存成功 | | 5 | 在公开链接中发送超过 5 次消息 | 第 6 次提示访问次数已用完 | | 6 | 开启"白名单",添加一个 IP 地址 | 保存成功 | | 7 | 从非白名单 IP 访问公开链接 | 拒绝访问 | | 8 | 关闭"公开访问"开关 | 公开链接不再可用 | ### TC-4.7 智能体版本管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 修改工作流后点击"发布" | 弹出发布确认,创建新版本 | | 2 | 再次修改工作流并发布 | 又创建一个新版本 | | 3 | 查看版本列表 | 显示所有历史版本及发布时间 | | 4 | 选择一个历史版本,点击"回滚" | 工作流恢复到该版本的状态 | --- ## 五、工具管理模块 ### TC-5.1 创建自定义工具 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击顶部导航"工具" | 进入工具列表页 | | 2 | 点击"创建" → "自定义工具" | 弹出工具编辑对话框 | | 3 | 输入工具名称(如"获取当前时间") | - | | 4 | 输入工具描述 | - | | 5 | 在代码编辑器中编写 Python 代码 | 如:`import datetime; return {"time": str(datetime.datetime.now())}` | | 6 | 定义输入参数(如无参数可跳过) | - | | 7 | 点击"调试" | 弹出调试面板 | | 8 | 点击"执行" | 返回当前时间,执行成功 | | 9 | 点击"保存" | 工具保存成功,出现在列表中 | ### TC-5.2 工具在智能体中使用 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入一个智能体的设置页 | - | | 2 | 在"工具"配置区域,点击添加 | 弹出工具选择列表 | | 3 | 勾选刚创建的工具 | - | | 4 | 保存 | 工具关联成功 | | 5 | 在对话中问"现在几点了" | 智能体调用工具,返回当前时间 | ### TC-5.3 MCP 工具 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 创建 → "MCP 工具" | 弹出 MCP 配置对话框 | | 2 | 填写 MCP 服务地址和配置 | - | | 3 | 测试连接 | 显示连接状态(成功/失败) | | 4 | 保存 | MCP 工具添加成功 | ### TC-5.4 工具管理操作 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 编辑已有工具的代码 | 修改保存成功 | | 2 | 删除工具 | 确认后删除成功 | | 3 | 启用/禁用工具 | 状态切换成功 | --- ## 六、触发器模块 ### TC-6.1 访问触发器页面 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击右上角的触发器图标(闪电图标) | 进入触发器管理页面 | | 2 | 查看页面 | 显示触发器列表(可能为空) | ### TC-6.2 创建定时触发器 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击"创建" | 弹出创建对话框 | | 2 | 选择"定时触发" | 显示定时配置选项 | | 3 | 选择关联的智能体或工具 | - | | 4 | 配置执行周期(如"每 5 分钟执行一次") | - | | 5 | 配置输入参数(如有) | - | | 6 | 点击保存 | 触发器创建成功,状态为"启用" | | 7 | 等待触发时间到达 | 触发器自动执行 | | 8 | 查看执行记录 | 显示执行时间、状态(成功/失败)、执行结果 | ### TC-6.3 创建事件触发器(Webhook) | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 创建 → 选择"事件触发" | 显示事件配置选项 | | 2 | 选择关联的智能体或工具 | - | | 3 | 保存 | 创建成功,页面显示生成的 Webhook URL | | 4 | 复制 Webhook URL | - | | 5 | 使用 Postman 或 curl 向该 URL 发送 POST 请求 | 触发器被触发执行 | | 6 | 查看执行记录 | 显示本次触发的执行记录 | ### TC-6.4 触发器管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 禁用一个触发器 | 状态变为"禁用" | | 2 | 禁用后等待触发时间 | 不再自动执行 | | 3 | 重新启用 | 状态变为"启用",恢复执行 | | 4 | 编辑触发器配置 | 修改保存成功 | | 5 | 删除触发器 | 确认后删除成功 | | 6 | 批量选中多个触发器 → 批量删除 | 批量删除成功 | --- ## 七、系统管理模块 ### TC-7.1 用户管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击右上角头像 → "系统管理" → "用户管理" | 进入用户管理页面,显示用户列表 | | 2 | 点击"创建用户" | 弹出创建表单 | | 3 | 填写用户名(如 testuser) | - | | 4 | 填写密码 | - | | 5 | 选择角色为"普通用户" | - | | 6 | 点击确认 | 用户创建成功,列表中显示新用户 | | 7 | 退出当前账号,用新用户登录 | 登录成功 | | 8 | 新用户查看页面 | 只能看到被授权的资源(初始可能为空) | | 9 | 切回 admin 账号,编辑 testuser 的信息 | 修改成功 | | 10 | 禁用 testuser | 状态变为禁用 | | 11 | 尝试用 testuser 登录 | 登录失败,提示账号已禁用 | | 12 | 重新启用 testuser | 可以正常登录 | | 13 | 删除 testuser | 确认后删除成功 | ### TC-7.2 角色管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入"系统管理" → "角色管理" | 显示角色列表 | | 2 | 查看系统内置角色 | 包含:管理员、工作空间管理员、普通用户 | | 3 | 查看各角色的权限说明 | 显示权限范围 | ### TC-7.3 资源授权 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入"系统管理" → "资源授权" | 显示资源授权页面 | | 2 | 选择资源类型"知识库" | 显示知识库资源列表 | | 3 | 选择一个知识库,点击"授权" | 弹出用户选择 | | 4 | 选择 testuser,授予"查看"权限 | 授权成功 | | 5 | 用 testuser 登录 | 能看到被授权的知识库 | | 6 | testuser 尝试删除该知识库 | 无权限,操作被拒绝 | | 7 | admin 取消 testuser 的授权 | 取消成功 | | 8 | testuser 刷新页面 | 该知识库不再显示 | ### TC-7.4 修改密码 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击右上角头像 → "修改密码" | 弹出修改密码对话框 | | 2 | 输入旧密码 | - | | 3 | 输入新密码和确认密码 | - | | 4 | 点击确认 | 密码修改成功 | | 5 | 退出后用新密码登录 | 登录成功 | | 6 | 用旧密码登录 | 登录失败 | --- ## 八、插件管理模块 ### TC-8.1 创建插件 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入插件管理页面 | 显示插件列表 | | 2 | 点击"创建插件" | 弹出创建表单 | | 3 | 填写插件名称(如"测试插件") | - | | 4 | 填写插件编码(如"test_plugin",唯一标识) | - | | 5 | 选择插件类型(工具插件/知识库插件/模型插件/自定义) | - | | 6 | 填写描述 | - | | 7 | 填写版本号(如"1.0.0") | - | | 8 | 填写 Schema(JSON 格式的配置结构定义) | - | | 9 | 点击确认 | 插件创建成功 | | 10 | 尝试创建相同编码的插件 | 提示编码已存在 | ### TC-8.2 插件生命周期管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 查看新创建的插件状态 | 状态为"未安装" | | 2 | 点击"安装" | 状态变为"已启用" | | 3 | 点击"禁用" | 状态变为"已禁用" | | 4 | 点击"启用" | 状态恢复为"已启用" | | 5 | 点击"卸载" | 状态变为"未安装" | | 6 | 点击"重装"(安装) | 状态变为"已启用" | ### TC-8.3 插件版本管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入插件详情页 | 显示插件信息和版本列表 | | 2 | 点击"创建新版本" | 弹出版本创建表单 | | 3 | 填写版本号(如"1.1.0")和更新日志 | - | | 4 | 确认 | 新版本创建成功,插件当前版本更新 | | 5 | 查看版本列表 | 显示 1.0.0 和 1.1.0 两个版本 | | 6 | 选择 1.0.0 版本,点击"回滚" | 插件配置恢复到 1.0.0 版本 | | 7 | 确认当前版本号 | 显示为 1.0.0 | ### TC-8.4 插件测试 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在插件详情页点击"测试" | 弹出测试执行面板 | | 2 | 填写测试输入参数 | - | | 3 | 点击"执行测试" | 返回测试结果(通过/失败、耗时、输出数据) | | 4 | 查看测试历史 | 显示历史测试记录列表 | | 5 | 点击某条记录查看详情 | 显示完整的输入、输出、错误信息 | ### TC-8.5 Schema 验证 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在插件创建/编辑时,填写无效的 Schema(如缺少必填字段) | - | | 2 | 提交验证 | 返回具体的验证错误信息 | | 3 | 修正 Schema 后重新提交 | 验证通过 | --- ## 九、对话功能模块 ### TC-9.1 基础对话 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进入智能体调试页面 | 显示对话界面 | | 2 | 发送"你好" | 智能体回复问候语 | | 3 | 发送一个知识性问题 | 智能体正常回答 | | 4 | 观察回复过程 | 流式输出,逐字显示 | | 5 | 发送多轮对话(引用上文内容) | 智能体理解上下文,回复连贯 | ### TC-9.2 知识库增强对话 **前置条件:** 智能体已关联知识库 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 发送与知识库文档内容直接相关的问题 | 回复引用知识库内容,可能显示来源标记 | | 2 | 发送与知识库完全无关的问题 | 根据"无引用时"配置:AI 自行回答或提示无相关信息 | | 3 | 发送模糊相关的问题 | 智能体综合知识库内容和自身能力回答 | ### TC-9.3 对话历史 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 进行一段对话后,点击"新建对话" | 开始新的对话,之前的对话保存 | | 2 | 在左侧对话列表中点击之前的对话 | 恢复显示之前的对话内容 | | 3 | 删除一条对话记录 | 确认后删除成功 | ### TC-9.4 公开链接对话 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 获取智能体的公开访问链接 | - | | 2 | 在无痕浏览器窗口打开链接 | 显示对话界面(无需登录) | | 3 | 发送消息 | 正常回复 | | 4 | 刷新页面 | 对话历史保留(基于浏览器存储) | --- ## 十、其他功能 ### TC-10.1 多语言切换 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 点击右上角语言切换(或登录页右上角) | 显示语言选项 | | 2 | 切换为"English" | 界面文字变为英文 | | 3 | 切换为"繁體中文" | 界面文字变为繁体中文 | | 4 | 切换回"简体中文" | 界面恢复简体中文 | | 5 | 刷新页面 | 语言设置保持不变 | ### TC-10.2 文件夹管理 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 在知识库/智能体/工具列表页,点击"创建文件夹" | 弹出文件夹命名对话框 | | 2 | 输入文件夹名称,确认 | 文件夹创建成功 | | 3 | 将资源拖拽或移动到文件夹中 | 移动成功 | | 4 | 重命名文件夹 | 修改成功 | | 5 | 删除空文件夹 | 删除成功 | ### TC-10.3 平台名称配置验证 | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | 查看登录页标题 | 显示 .env 中配置的 APP_TITLE + APP_VERSION | | 2 | 查看浏览器标签页标题 | 显示前端 env 中配置的 VITE_APP_TITLE | | 3 | 登录后查看左上角 Logo 文字 | 显示 APP_TITLE + APP_VERSION | --- ## 测试结果汇总 | 模块 | 用例数 | 通过 | 失败 | 阻塞 | 备注 | |------|--------|------|------|------|------| | 一、登录认证 | 15 | | | | | | 二、模型管理 | 9 | | | | 需要有效 API Key | | 三、知识库 | 30 | | | | 样本中心需对应环境 | | 四、智能体 | 28 | | | | 需要模型和知识库就绪 | | 五、工具管理 | 12 | | | | | | 六、触发器 | 13 | | | | | | 七、系统管理 | 17 | | | | | | 八、插件管理 | 15 | | | | | | 九、对话功能 | 10 | | | | | | 十、其他 | 8 | | | | | | **合计** | **157** | | | | | --- ## 缺陷记录 | 编号 | 模块 | 用例编号 | 问题描述 | 复现步骤 | 严重程度 | 状态 | |------|------|----------|----------|----------|----------|------| | BUG-001 | | | | | 致命/严重/一般/轻微 | 新建/已确认/已修复/已关闭 | **严重程度定义:** - 致命:系统崩溃、数据丢失、核心功能完全不可用 - 严重:核心功能异常、影响主流程、无法绕过 - 一般:非核心功能异常、有替代方案可绕过 - 轻微:UI 显示问题、文案错误、不影响功能使用