功能测试流程文档
累积追加模式:每次完成功能迁移后,将新功能的测试内容追加至本文档末尾。
测试人员按章节执行,通过项打 ✅,未通过项记录具体问题。
测试环境配置
| 配置项 |
要求 |
| 浏览器 |
Chrome 最新版、Edge 最新版 |
| 屏幕分辨率 |
≥ 1920×1080 |
| 后端服务 |
测试环境 API 正常运行 |
| 测试账号 |
具有系统管理员权限(含用户管理、角色管理菜单权限) |
| 语言 |
先测中文,再切换到英文验证 i18n |
测试前置条件
- 后端 API 服务已启动并正常运行
- 前端项目
pnpm dev 正常启动,可访问登录页
- 使用管理员账号登录系统
- 侧边栏菜单 系统设置 → 用户管理 下可见 角色 和 用户 两个子菜单
一、角色管理功能测试
迁移日期:2026-05-28
对应页面:src/views/system-administration/user-management/role/index.vue
API 文件:src/api/system-administration/role.js
路由路径:/system_settings/user_management/role
1.1 页面加载与数据展示
TC-ROLE-001:角色列表正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 用户管理 → 角色」 |
| 预期结果 |
页面正常加载,显示角色列表表格,包含序号、角色名称、状态、描述、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-002:状态列显示正确
| 项目 |
内容 |
| 测试步骤 |
查看角色列表中各行的状态列 |
| 预期结果 |
状态为 1 时显示绿色 ✅ 图标 + "启用" 文字;状态为 0 时显示灰色 ❌ 图标 + "禁用" 文字 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-003:搜索功能
| 项目 |
内容 |
| 测试步骤 |
1. 在角色名称输入框输入关键字 2. 选择状态下拉为"启用" 3. 点击「查询」按钮 |
| 预期结果 |
表格数据按搜索条件过滤,仅显示匹配的角色 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-004:重置搜索
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
搜索条件清空,表格恢复显示全部数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-005:分页功能
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数 2. 点击下一页/上一页 3. 输入页码跳转 |
| 预期结果 |
分页切换正常,表格数据按分页加载,总条数正确显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.2 新增角色
TC-ROLE-006:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新增」按钮 |
| 预期结果 |
弹出新增角色弹框,标题显示"新增角色",表单为空(名称、描述为空,状态默认"启用") |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-007:新增表单校验
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写任何内容直接点击「确定」 |
| 预期结果 |
角色名称输入框下方显示红色校验提示"请输入角色名称" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-008:新增角色成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入角色名称(如"测试角色001")3. 输入描述 4. 选择状态为"启用" 5. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格刷新并显示新增的角色 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-009:取消新增
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,表格数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.3 编辑角色
TC-ROLE-010:打开编辑弹框
| 项目 |
内容 |
| 测试步骤 |
点击非系统角色(非超级管理员等)行操作列的「编辑」按钮 |
| 预期结果 |
弹出编辑角色弹框,标题显示"编辑角色",表单回填该角色的名称、描述、状态 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-011:编辑角色成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改角色名称 3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格数据更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.4 删除角色
TC-ROLE-012:删除角色确认
| 项目 |
内容 |
| 测试步骤 |
点击非系统角色行操作列的「删除」按钮 |
| 预期结果 |
弹出确认提示框,内容为"确定要删除该角色吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-013:删除角色成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击删除按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该角色从列表中消失,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-014:取消删除
| 项目 |
内容 |
| 测试步骤 |
1. 点击删除按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,角色数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.5 启用/禁用角色
TC-ROLE-015:启用角色
| 项目 |
内容 |
| 测试步骤 |
1. 勾选一个或多个状态为"禁用"的非系统角色 2. 点击工具栏「启用」按钮 |
| 预期结果 |
所选角色状态变为"启用" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-016:禁用角色
| 项目 |
内容 |
| 测试步骤 |
1. 勾选一个或多个状态为"启用"的非系统角色 2. 点击工具栏「禁用」按钮 |
| 预期结果 |
所选角色状态变为"禁用" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-017:未选中时点击启用/禁用
| 项目 |
内容 |
| 测试步骤 |
不勾选任何行,直接点击工具栏「启用」或「禁用」按钮 |
| 预期结果 |
提示"请先勾选要操作的数据" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.6 系统角色保护
TC-ROLE-018:系统角色不可勾选
| 项目 |
内容 |
| 测试步骤 |
尝试勾选 system=1 的系统角色(如超级管理员) |
| 预期结果 |
复选框不可勾选(灰色禁用状态) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-019:系统角色不显示编辑/删除/分配权限按钮
| 项目 |
内容 |
| 测试步骤 |
查看系统角色(system=1)行操作列 |
| 预期结果 |
操作列不显示「编辑」「分配权限」「删除」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
1.7 权限分配抽屉
TC-ROLE-020:打开权限分配抽屉
| 项目 |
内容 |
| 测试步骤 |
点击非系统角色行操作列的「分配权限」按钮 |
| 预期结果 |
从右侧滑出抽屉面板,标题显示"分配权限",内含加载中的菜单树,底部有「取消」「确定」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-021:权限树正确加载
| 项目 |
内容 |
| 测试步骤 |
等待权限树加载完成 |
| 预期结果 |
显示完整菜单树(含多层级),该角色已拥有的权限节点处于勾选状态 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-022:勾选/取消权限节点
| 项目 |
内容 |
| 测试步骤 |
1. 勾选一个未勾选的菜单节点 2. 取消一个已勾选的菜单节点 |
| 预期结果 |
勾选状态正常切换,父子节点独立勾选(check-strictly 模式) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-023:保存权限分配
| 项目 |
内容 |
| 测试步骤 |
1. 修改权限勾选 2. 点击抽屉底部「确定」按钮 |
| 预期结果 |
提交成功提示"操作成功",抽屉关闭,表格刷新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-ROLE-024:取消权限分配
| 项目 |
内容 |
| 测试步骤 |
1. 修改权限勾选 2. 点击抽屉底部「取消」按钮 |
| 预期结果 |
抽屉关闭,勾选修改不生效 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
二、用户管理功能测试
迁移日期:2026-05-28
对应页面:src/views/system-administration/user-management/user/index.vue
API 文件:src/api/system-administration/user.js
路由路径:/system_settings/user_management/user
2.1 页面加载与数据展示
TC-USER-001:用户列表正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 用户管理 → 用户」 |
| 预期结果 |
页面正常加载,显示用户列表表格,包含序号、账号、姓名、出入证编号、状态、用户组、上次登录IP、上次登录时间、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-002:状态列显示正确
| 项目 |
内容 |
| 测试步骤 |
查看用户列表中各行的状态列 |
| 预期结果 |
状态为 1 时显示绿色 ✅ 图标 + "启用" 文字;状态为 0 时显示灰色 ❌ 图标 + "禁用" 文字 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-003:搜索功能—按账号
| 项目 |
内容 |
| 测试步骤 |
1. 在账号输入框输入关键字 2. 点击「查询」 |
| 预期结果 |
表格数据按账号关键字过滤 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-004:搜索功能—按姓名
| 项目 |
内容 |
| 测试步骤 |
1. 在姓名输入框输入关键字 2. 点击「查询」 |
| 预期结果 |
表格数据按姓名关键字过滤 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-005:搜索功能—组合条件
| 项目 |
内容 |
| 测试步骤 |
1. 同时输入账号和姓名关键字 2. 点击「查询」 |
| 预期结果 |
表格数据按两个条件同时过滤(AND 逻辑) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-006:重置搜索
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
搜索条件清空,表格恢复显示全部数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-007:分页功能
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数(10/25/50/100)2. 点击下一页/上一页 3. 输入页码跳转 |
| 预期结果 |
分页切换正常,表格数据按分页加载,总条数正确显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.2 新增用户
TC-USER-008:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新增」按钮 |
| 预期结果 |
弹出新增用户弹框,标题显示"新增用户",表单包含:账号、密码、确认密码、用户组(下拉)、姓名、出入证编号、状态(默认"启用") |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-009:新增表单校验—必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写任何内容直接点击「确定」 |
| 预期结果 |
账号、密码、确认密码、用户组字段下方分别显示红色校验提示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-010:新增表单校验—账号长度
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入账号为 2 个字符(如"ab")3. 点击「确定」 |
| 预期结果 |
账号字段下方提示"长度在 3 到 20 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-011:新增表单校验—密码长度
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入密码为 5 个字符 3. 点击「确定」 |
| 预期结果 |
密码字段下方提示"长度在 6 到 64 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-012:新增表单校验—两次密码不一致
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 密码输入"123456",确认密码输入"654321" 3. 填写其他必填项 4. 点击「确定」 |
| 预期结果 |
提示"两次输入的密码不一致",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-013:新增用户成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入账号(如"testuser001")3. 输入密码和确认密码 4. 选择用户组 5. 输入姓名 6. 选择状态为"启用" 7. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格刷新并显示新增的用户 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-014:取消新增
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,表格数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.3 编辑用户
TC-USER-015:打开编辑弹框
| 项目 |
内容 |
| 测试步骤 |
点击任意用户行操作列的「编辑」按钮 |
| 预期结果 |
弹出编辑用户弹框,标题显示"编辑用户",表单回填该用户的账号、用户组、姓名、出入证编号、状态;密码和确认密码字段不显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-016:编辑用户成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改用户组 3. 修改姓名 4. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格数据更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.4 删除用户
TC-USER-017:删除其他用户确认
| 项目 |
内容 |
| 测试步骤 |
点击非当前登录用户行操作列的「删除」按钮 |
| 预期结果 |
弹出确认提示框"确定要删除该用户吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-018:删除用户成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击非当前用户的删除按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该用户从列表中消失 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-019:不能删除自己
| 项目 |
内容 |
| 测试步骤 |
找到当前登录用户所在行,点击「删除」按钮 |
| 预期结果 |
提示"不能删除自己的账号",不弹出确认框 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.5 批量删除
TC-USER-020:批量删除—正常
| 项目 |
内容 |
| 测试步骤 |
1. 勾选多个非当前用户的用户行 2. 点击工具栏「批量删除」按钮 3. 确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",勾选的用户从列表中消失 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-021:批量删除—包含自己
| 项目 |
内容 |
| 测试步骤 |
1. 勾选自己 + 其他用户 2. 点击工具栏「批量删除」按钮 |
| 预期结果 |
自己的账号自动从勾选列表中排除,仅删除其他用户 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-022:批量删除—未勾选
| 项目 |
内容 |
| 测试步骤 |
不勾选任何行,直接点击「批量删除」按钮 |
| 预期结果 |
提示"请先勾选要操作的数据" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.6 启用/禁用用户
TC-USER-023:启用用户
| 项目 |
内容 |
| 测试步骤 |
1. 勾选一个或多个状态为"禁用"的其他用户 2. 点击工具栏「启用」按钮 3. 确认框中点击「确定」 |
| 预期结果 |
所选用户状态变为"启用" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-024:禁用用户
| 项目 |
内容 |
| 测试步骤 |
1. 勾选一个或多个状态为"启用"的其他用户 2. 点击工具栏「禁用」按钮 3. 确认框中点击「确定」 |
| 预期结果 |
所选用户状态变为"禁用" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-025:不能禁用自己
| 项目 |
内容 |
| 测试步骤 |
1. 勾选自己的账号 2. 点击工具栏「禁用」按钮 |
| 预期结果 |
提示"不能操作自己的账号",操作不执行 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-026:未勾选时点击启用/禁用
| 项目 |
内容 |
| 测试步骤 |
不勾选任何行,直接点击「启用」或「禁用」按钮 |
| 预期结果 |
提示"请先勾选要操作的数据" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.7 重置密码
TC-USER-027:重置密码确认
| 项目 |
内容 |
| 测试步骤 |
点击任意用户行操作列的「重置密码」按钮 |
| 预期结果 |
弹出确认提示框"确定要重置该用户密码吗?" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-028:重置密码成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击「重置密码」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该用户密码被重置 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-029:取消重置密码
| 项目 |
内容 |
| 测试步骤 |
1. 点击「重置密码」按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,密码不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.8 用户组下拉数据
TC-USER-030:新增时用户组下拉有数据
| 项目 |
内容 |
| 测试步骤 |
打开新增用户弹框,点击用户组下拉框 |
| 预期结果 |
下拉框显示所有角色列表(从角色管理页创建的角色应全部出现) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-031:编辑时用户组下拉有数据
| 项目 |
内容 |
| 测试步骤 |
打开编辑用户弹框,点击用户组下拉框 |
| 预期结果 |
下拉框显示所有角色列表,当前用户所属角色为选中状态 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
2.9 多语言切换
TC-USER-032:切换到英文
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看用户管理页面 |
| 预期结果 |
所有标签、按钮、表头、弹框标题均切换为英文显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-USER-033:英文下操作正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:查询、新增、编辑、删除操作 |
| 预期结果 |
所有功能正常运行,提示信息为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
三、菜单配置功能测试
迁移日期:2026-05-29
对应页面:src/views/system-administration/menu-management/menu-configuration/index.vue
API 文件:src/api/system-administration/menu-configuration.js
路由路径:/system_settings/menu_configuration/menu
页面结构:左侧树形菜单 + 右侧表单卡片 + 顶部筛选栏
3.1 页面加载与树形展示
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 菜单管理 → 菜单配置」 |
| 预期结果 |
页面正常加载,左侧显示后台菜单树形结构(含文件夹/文档图标和菜单名称),右侧默认显示表单卡片(标题为"新增菜单") |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
查看左侧树形结构的各级节点图标 |
| 预期结果 |
有子节点的菜单展开时显示「打开的文件夹」图标,收起时显示「关闭的文件夹」图标;叶子节点显示「文档」图标;如果菜单配置了 FontAwesome 图标,则显示对应图标 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
点击左侧树形结构中任意菜单节点 |
| 预期结果 |
右侧表单卡片标题变为"编辑菜单",表单回填该菜单的所有信息(上级菜单、名称、别名、图标、排序、导航开关、链接类型、打开方式、URL、参数、备注) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
找到状态为"禁用"的菜单节点(如有),查看其显示样式 |
| 预期结果 |
禁用的菜单节点文字颜色为灰色,并带有删除线样式(text-decoration: line-through),与其他正常节点明显区分 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.2 模块切换筛选
| 项目 |
内容 |
| 测试步骤 |
在顶部筛选栏,点击「PDA」单选按钮 |
| 预期结果 |
树形结构自动刷新,切换到 PDA 模块的菜单数据(与后台模块菜单不同) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 在状态下拉框选择"启用" 2. 点击「查询」按钮 |
| 预期结果 |
树形结构仅显示状态为启用的菜单节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 在导航属性下拉框选择"可见" 2. 点击「查询」按钮 |
| 预期结果 |
树形结构仅显示导航属性为可见的菜单节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 设置菜单深度为 1 2. 点击「查询」按钮 |
| 预期结果 |
树形结构仅显示深度为 1(一级菜单)的节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 设置多个筛选条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
筛选条件恢复默认(模块=后台,其他清空),树形结构恢复加载全部后台菜单数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.3 树的展开/收起/过滤
| 项目 |
内容 |
| 测试步骤 |
点击工具栏「展开」按钮 |
| 预期结果 |
树形结构所有节点全部展开,显示完整的层级结构 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 先点击「展开」使所有节点展开 2. 再点击「收起」按钮 |
| 预期结果 |
所有子节点收起,仅显示一级根节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 在过滤输入框输入某个菜单名称的关键字(如"用户")2. 观察树形结构变化 |
| 预期结果 |
树形结构仅显示名称包含关键字的节点及其父/子路径节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 输入过滤关键字使树节点被过滤 2. 清除过滤输入框内容(点击清空按钮或手动删除) |
| 预期结果 |
树形结构恢复显示所有菜单节点 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.4 新增菜单(顶层)
| 项目 |
内容 |
| 测试步骤 |
点击工具栏「新增顶层菜单」按钮 |
| 预期结果 |
右侧表单标题变为"新增菜单",表单所有字段清空为默认值,上级菜单为空(顶层) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击「新增顶层菜单」2. 填写名称(如"测试菜单")3. 选择图标 4. 设置排序号 5. 设置导航开关 6. 点击「确定」 |
| 预期结果 |
提示"操作成功",左侧树形结构根级新增该菜单节点,表单恢复为新增状态 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击「新增顶层菜单」2. 不填写名称,点击「确定」 |
| 预期结果 |
名称字段下方提示"名称不能为空",表单不提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击「新增顶层菜单」2. 名称输入超过 32 个字符 3. 点击「确定」 |
| 预期结果 |
名称字段下方提示"长度不能大于 32 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.5 新增子菜单
| 项目 |
内容 |
| 测试步骤 |
将鼠标悬停到某个树节点上,点击出现的「新增」按钮 |
| 预期结果 |
右侧表单标题变为"新增菜单",上级菜单自动设置为当前悬停的节点,表单其他字段为空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 悬停到某个树节点上点击「新增」2. 填写名称 3. 选择链接类型为"模块" 4. 填写 URL 5. 点击「确定」 |
| 预期结果 |
提示"操作成功",左侧树形结构中该节点下出现新增的子菜单节点,表单恢复为新增状态 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击「新增顶层菜单」2. 在上级菜单级联选择器中输入关键字搜索(如"首页") |
| 预期结果 |
级联选择器按关键字过滤,可从中选择任意节点作为上级菜单 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.6 编辑菜单
| 项目 |
内容 |
| 测试步骤 |
1. 点击树中某个菜单节点加载编辑表单 2. 修改名称、别名 3. 修改排序号 4. 点击「修改」按钮 |
| 预期结果 |
提示"操作成功",树中该节点的名称和排序立即更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击树中某个模块菜单节点 2. 切换链接类型为"外链" 3. 输入外部 URL 4. 点击「修改」 |
| 预期结果 |
提示"操作成功",菜单链接类型和外链 URL 保存成功 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击树中某个菜单节点 2. 切换导航开关(开启→关闭 或 关闭→开启)3. 点击「修改」 |
| 预期结果 |
提示"操作成功",导航属性更新(在侧边栏菜单渲染时相应生效) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击树中某个外链菜单 2. 切换打开方式为"新窗口" 3. 点击「修改」 |
| 预期结果 |
提示"操作成功",打开方式更新为在新标签页打开 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.7 删除菜单
| 项目 |
内容 |
| 测试步骤 |
鼠标悬停到某个菜单节点上,点击出现的「删除」按钮 |
| 预期结果 |
弹出确认提示框"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 悬停到叶子菜单节点上点击「删除」2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该菜单节点从树中消失 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,菜单节点未被删除 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.8 启用/禁用菜单
| 项目 |
内容 |
| 测试步骤 |
鼠标悬停到某个状态为启用的菜单节点上,点击出现的「禁用」按钮 |
| 预期结果 |
弹出确认提示框"状态的切换会影响上下级菜单,是否确认操作?" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击启用菜单的「禁用」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",树刷新后该节点显示为灰色+删除线的禁用样式 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 点击禁用菜单的「启用」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",树刷新后该节点恢复正常显示样式 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.9 拖拽排序
| 项目 |
内容 |
| 测试步骤 |
在同级菜单中,拖拽某个节点到另一个同级节点的上方或下方 |
| 预期结果 |
松手后触发排序 API,同级节点的排序号自动更新,页面刷新后顺序保持 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
拖拽某个菜单节点到另一个非同级父节点内部 |
| 预期结果 |
菜单移动到新父级下,页面刷新后位置保持 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.10 表单校验
| 项目 |
内容 |
| 测试步骤 |
1. 新增或编辑菜单 2. 别名输入超过 16 个字符 3. 点击提交 |
| 预期结果 |
别名字段下方提示"长度不能大于 16 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 新增外链菜单 2. URL 输入超过 255 个字符 3. 点击提交 |
| 预期结果 |
URL 字段下方提示"长度不能大于 255 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
1. 新增或编辑菜单 2. 排序号输入非数字字符 3. 点击提交 |
| 预期结果 |
排序号字段下方提示"必须为数字值" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
3.11 多语言切换
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看菜单配置页面 |
| 预期结果 |
所有标签、按钮、表单字段名、提示信息均切换为英文显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:切换模块、新增顶层菜单、新增子菜单、编辑菜单、删除菜单、启用/禁用、拖拽排序 |
| 预期结果 |
所有功能正常运行,提示信息为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
四、接口日志功能测试
迁移日期:2026-05-29
对应页面:src/views/system-administration/system-utilities/api-logs/index.vue
API 文件:src/api/system-administration/api-logs.js
路由路径:/system_settings/system_assistant/interface_log
页面结构:顶部搜索区域 + 数据表格 + 查看响应弹框组件
4.1 页面加载与数据展示
TC-API-001:接口日志页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 接口日志」 |
| 预期结果 |
页面正常加载,显示接口日志列表表格,包含 ID、IP、请求方法、响应状态、响应时长、工序编码、托盘号、电池条码、批次号、进程ID、创建日期、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-002:响应状态列显示正确
| 项目 |
内容 |
| 测试步骤 |
查看接口日志列表中各行的响应状态列 |
| 预期结果 |
状态为 0 时显示绿色 ✅ 图标 + "成功"文字;状态非 0 时显示红色 ❌ 图标 + "失败"文字 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-003:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
1. 观察表格列头 2. 横向滚动查看所有列 |
| 预期结果 |
表格包含以下列:ID、IP、请求方法、响应状态、响应时长(毫秒)、工序编码、托盘号、电池条码、批次号、进程ID、创建日期、操作(共 12 列),操作列固定在右侧 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
4.2 搜索筛选
TC-API-004:按 IP 搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在 IP 输入框输入已知 IP 地址 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示该 IP 来源的接口日志 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-005:按接口名称搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在接口名称输入框输入关键字 2. 点击「查询」按钮 |
| 预期结果 |
表格按接口名称过滤,仅显示匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-006:按状态筛选
| 项目 |
内容 |
| 测试步骤 |
1. 在状态下拉框选择"成功" 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示响应状态为成功的日志记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-007:按批次搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在批次输入框输入已知批次号 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示该批次的日志记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-008:按时间范围筛选
| 项目 |
内容 |
| 测试步骤 |
1. 在创建时间选择器中设置一个时间范围 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示该时间范围内的日志记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-009:组合搜索
| 项目 |
内容 |
| 测试步骤 |
1. 同时设置多个搜索条件(如 IP + 状态 + 时间范围)2. 点击「查询」按钮 |
| 预期结果 |
表格按照所有条件的交集进行过滤显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-010:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 设置多个搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
所有搜索条件清空,表格恢复显示全部数据(第一页) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
4.3 分页功能
TC-API-011:分页切换
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数(10 → 20 → 50)2. 点击下一页/上一页 |
| 预期结果 |
分页切换正常,表格数据按分页加载,总条数正确显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
4.4 查看响应
TC-API-012:打开查看响应弹框
| 项目 |
内容 |
| 测试步骤 |
点击任一接口日志行操作列的「查看响应」按钮 |
| 预期结果 |
弹出"响应"弹框,显示两段内容:请求体和响应内容,均为 JSON 树形结构展示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-013:复制请求内容
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击「复制请求内容」按钮 |
| 预期结果 |
请求体的 JSON 内容被复制到剪贴板,提示"操作成功" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-014:复制响应内容
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击「复制响应内容」按钮 |
| 预期结果 |
响应内容的 JSON 被复制到剪贴板,提示"操作成功" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-015:关闭响应弹框
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击弹框右上角 X 按钮或弹框遮罩层 |
| 预期结果 |
弹框关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-016:响应弹框 JSON 树形展开/折叠
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击请求体或响应内容 JSON 树中的展开/折叠箭头 |
| 预期结果 |
JSON 节点可正常展开/折叠,嵌套数据层级清晰可见 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-017:切换不同行的响应数据
| 项目 |
内容 |
| 测试步骤 |
1. 点击第 1 行「查看响应」→ 记下内容后关闭 2. 点击第 3 行「查看响应」 |
| 预期结果 |
每次打开的弹框显示对应行的请求体和响应内容,数据不混淆 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
4.5 多语言切换
TC-API-018:切换到英文
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看接口日志页面 |
| 预期结果 |
所有标签、按钮、表头、弹框标题均切换为英文显示;状态列显示 "Success" / "Failure" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-019:英文下搜索功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:按 IP 搜索、按状态筛选、查看响应、复制请求/响应内容 |
| 预期结果 |
所有功能正常运行,提示信息为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-API-020:英文下查看响应弹框正常
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击「View Response」打开弹框 |
| 预期结果 |
弹框标题为 "Response",分隔标题为 "Request Body" / "Response Body",按钮文字为 "Copy Request" / "Copy Response" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
五、操作日志功能测试
迁移日期:2026-05-29
对应页面:src/views/system-administration/system-utilities/operation-logs/index.vue
API 文件:src/api/system-administration/operation-logs.js
路由路径:/system_settings/system_assistant/operate_log
页面结构:折叠式搜索区 + 数据表格 + 查看响应弹框(复用)
5.1 页面加载与数据展示
TC-OPL-001:操作日志页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 操作日志」 |
| 预期结果 |
页面正常加载,显示操作日志列表表格,包含 ID、操作人、IP、状态、操作动作名称、操作动作编码、请求路径、批次、托盘号、创建日期、操作列;底部显示分页组件和总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-002:响应状态列显示正确
| 项目 |
内容 |
| 测试步骤 |
查看操作日志列表中各行的状态列 |
| 预期结果 |
状态为 0 时显示绿色 ✅ + "成功"文字;状态非 0 时显示红色 ❌ + "失败"文字 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-003:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
1. 观察表格列头 2. 横向滚动查看所有列 |
| 预期结果 |
表格包含以下列:ID、操作人、IP、状态、操作动作名称、操作动作编码、请求路径、批次、托盘号、创建日期、操作(共 11 列),操作列固定在右侧 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
5.2 搜索筛选
TC-OPL-004:按 IP 搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在 IP 输入框输入已知 IP 地址 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示该 IP 来源的操作日志 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-005:按操作人搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在操作人下拉框选择一个用户 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示该操作人的日志;下拉框支持输入关键字搜索过滤 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-006:展开更多搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 点击「展开更多」按钮 2. 观察搜索区 |
| 预期结果 |
搜索区展开显示额外条件:批次、托盘号、创建时间(时间范围选择器);按钮变为「收起」图标向上 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-007:折叠搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 先展开搜索区 2. 点击「收起」按钮 |
| 预期结果 |
额外搜索条件隐藏,搜索区恢复为单行;按钮变回「展开更多」图标向下 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-008:组合搜索
| 项目 |
内容 |
| 测试步骤 |
1. 同时设置多个搜索条件(如 IP + 操作人 + 时间范围)2. 点击「查询」按钮 |
| 预期结果 |
表格按照所有条件的交集进行过滤显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-009:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 设置搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
所有搜索条件清空,下拉框恢复默认,表格恢复显示全部数据(第一页) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
5.3 分页功能
TC-OPL-010:分页切换
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数(10 → 20 → 50)2. 点击下一页/上一页 |
| 预期结果 |
分页切换正常,表格数据按分页加载,总条数正确显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
5.4 查看响应
TC-OPL-011:打开查看响应弹框
| 项目 |
内容 |
| 测试步骤 |
点击任一操作日志行操作列的「查看响应」按钮 |
| 预期结果 |
弹出"响应"弹框,显示两段 JSON 树形结构:请求体和响应内容 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-012:复制请求内容
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击「复制请求内容」按钮 |
| 预期结果 |
请求体的 JSON 被复制到剪贴板,提示"操作成功" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-013:复制响应内容
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击「复制响应内容」按钮 |
| 预期结果 |
响应内容的 JSON 被复制到剪贴板,提示"操作成功" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-014:关闭响应弹框
| 项目 |
内容 |
| 测试步骤 |
1. 打开查看响应弹框 2. 点击弹框右上角 X 或遮罩层 |
| 预期结果 |
弹框关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
5.5 多语言切换
TC-OPL-015:切换到英文
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看操作日志页面 |
| 预期结果 |
所有标签、按钮、表头、弹框均切换为英文;状态列显示 "Success" / "Failure" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-016:英文下搜索功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:按 IP 搜索、按操作人筛选、展开/收起搜索区 |
| 预期结果 |
所有功能正常运行,提示信息为英文;操作人下拉框显示英文用户名 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-017:英文下查看响应弹框正常
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击「View Response」打开弹框 |
| 预期结果 |
弹框标题 "Response",分隔标题 "Request Body" / "Response Content",按钮 "Copy Request Content" / "Copy Response Content" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-OPL-018:表格无选中框
| 项目 |
内容 |
| 测试步骤 |
查看操作日志表格的左侧 |
| 预期结果 |
表格左侧无复选框选中列(只读页面,无需批量操作) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
六、问题帮助功能测试
迁移日期:2026-05-29
对应页面:src/views/system-administration/system-utilities/problem-help/index.vue
API 文件:src/api/system-administration/problem-help.js
路由路径:/system_settings/system_assistant/problem_help
页面结构:搜索区 + 左侧树形菜单 + 右侧 Markdown 预览 + 分类弹框 + 文档编辑抽屉
6.1 页面加载与数据展示
TC-PHP-001:问题帮助页面正常加载
| 项目 |
内容 |
| 测试前置条件 |
系统中已存在问题帮助的分类目录和文档数据 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 问题帮助」 |
| 预期结果 |
页面正常加载,左侧显示树形分类菜单,右侧显示空白提示"请从左侧菜单选择文档查看" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-002:树形菜单展示完整
| 项目 |
内容 |
| 测试步骤 |
观察左侧树形菜单 |
| 预期结果 |
菜单以树形层级结构展示所有分类目录和文档节点;md 类型文档显示文件夹图标 📁,file 类型文档显示文件图标 📄 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-003:点击文档查看内容
| 项目 |
内容 |
| 测试前置条件 |
树形菜单中存在 md 类型的文档 |
| 测试步骤 |
1. 展开树形菜单的分类目录 2. 点击一个 md 文档节点 |
| 预期结果 |
右侧区域显示 Markdown 渲染后的文档内容,包含标题、提交人、创建时间信息 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-004:树菜单展开/折叠
| 项目 |
内容 |
| 测试步骤 |
1. 点击一个分类目录展开其子节点 2. 点击另一个分类目录 |
| 预期结果 |
树形菜单支持唯一展开(展开新分类时旧分类自动收起),子节点列表正常显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
6.2 搜索功能
TC-PHP-005:搜索文档
| 项目 |
内容 |
| 测试前置条件 |
系统中存在包含搜索关键字的文档 |
| 测试步骤 |
1. 在顶部搜索框输入文档标题关键字 2. 点击搜索按钮或按 Enter |
| 预期结果 |
如果查找结果存在数据,左侧树形菜单上方出现搜索结果卡片区域,显示匹配的文档标题和描述;如果没有匹配数据,无结果展示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-006:清除搜索结果
| 项目 |
内容 |
| 测试步骤 |
1. 执行搜索出现结果后 2. 点击搜索输入框的清除按钮 |
| 预期结果 |
搜索结果区域消失,恢复显示树形菜单 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-007:搜索空内容
| 项目 |
内容 |
| 测试步骤 |
不输入任何内容,直接点击搜索按钮 |
| 预期结果 |
搜索结果区域清空 / 不出现搜索结果 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
6.3 分类目录管理
TC-PHP-008:新增分类目录
| 项目 |
内容 |
| 测试步骤 |
1. 点击搜索框旁的「新增目录」按钮 2. 在弹框中填写分类名称 3. 选择上级菜单(可选)4. 选择查看权限角色 5. 设置序号 6. 点击「确定」 |
| 预期结果 |
提示"添加成功",弹框关闭,树形菜单中显示新分类 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-009:编辑分类目录
| 项目 |
内容 |
| 测试前置条件 |
先在树形菜单上选中一个分类目录 |
| 测试步骤 |
1. 点击树形菜单中的一个分类节点使其被选中 2. 点击左侧工具栏的「编辑」按钮 3. 修改分类名称 4. 点击「修改」 |
| 预期结果 |
提示"修改成功",弹框关闭,树形菜单中的分类名称更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-010:删除分类目录
| 项目 |
内容 |
| 测试前置条件 |
先在树形菜单上选中一个分类目录 |
| 测试步骤 |
1. 点击分类节点使其选中 2. 点击「删除」按钮 3. 确认删除弹框 |
| 预期结果 |
删除确认弹框出现,确认后提示"删除成功",树形菜单刷新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-011:未选中分类时编辑/删除提示
| 项目 |
内容 |
| 测试步骤 |
1. 不选中任何树节点 2. 直接点击「编辑」或「删除」按钮 |
| 预期结果 |
弹出提示"请先选择需要编辑的目录"或"请先选择需要删除的目录" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-012:取消删除操作
| 项目 |
内容 |
| 测试步骤 |
1. 选中分类后点击「删除」2. 在确认弹框中点击「取消」 |
| 预期结果 |
删除操作取消,分类不丢失 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
6.4 文档管理
TC-PHP-013:新增文档
| 项目 |
内容 |
| 测试步骤 |
1. 点击左侧工具栏「新增文档」2. 在抽屉中填写标题、描述 3. 选择上级分类菜单 4. 选择权限角色 5. 设置序号 6. 在 Markdown 编辑器中输入内容 7. 点击「新增」 |
| 预期结果 |
提示"新增成功",抽屉关闭,树形菜单中显示新文档 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-014:编辑文档
| 项目 |
内容 |
| 测试步骤 |
1. 在树形菜单中找到 md 文档节点 2. 点击文档右侧的「编辑」按钮 |
| 预期结果 |
打开编辑抽屉,回填该文档的标题、描述、分类、内容等数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-015:删除文档
| 项目 |
内容 |
| 测试步骤 |
1. 在树形菜单中文档节点右侧点击「删除」2. 确认删除 |
| 预期结果 |
弹出确认框,确认后提示"删除成功",树形菜单刷新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-016:编辑抽屉关闭确认
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增文档抽屉并填写部分内容 2. 直接点击抽屉遮罩层或右上角 X 关闭 |
| 预期结果 |
弹出"确认关闭?"确认框,确认后抽屉关闭,表单重置 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-017:文档表单验证
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增文档抽屉 2. 不填写标题直接点击「新增」 |
| 预期结果 |
表单验证提示"请输入标题"和"请输入描述",阻止提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
6.5 多语言切换
TC-PHP-018:切换到英文
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看问题帮助页面 |
| 预期结果 |
所有标签、按钮、弹框标题均切换为英文;工具栏显示 "Add Directory"、"Add Document"、"Edit"、"Delete" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-019:英文下搜索功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:搜索文档、查看搜索结果、清除搜索 |
| 预期结果 |
所有功能正常运行,提示信息为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-020:英文下分类弹框正常
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击「Add Directory」打开分类弹框 |
| 预期结果 |
弹框标题为 "Add Category" 或 "Edit Category",表单字段标签为英文,底部按钮为 "Confirm" / "Cancel" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PHP-021:英文下Markdown编辑器正常
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击「Add Document」打开编辑器抽屉 |
| 预期结果 |
抽屉标题和表单标签为英文;验证提示信息为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
测试结果汇总
| 功能模块 |
测试用例数 |
通过 |
未通过 |
通过率 |
| 角色管理 |
24 |
|
|
|
| 用户管理 |
33 |
|
|
|
| 菜单配置 |
37 |
|
|
|
| 接口日志 |
20 |
|
|
|
| 操作日志 |
18 |
|
|
|
| 问题帮助 |
21 |
|
|
|
| 合计 |
153 |
|
|
|
七、产品列表功能测试
迁移日期:2026-06-01
对应页面:src/views/production-master-data/product-management/product-list/index.vue
API 文件:src/api/production-master-data/product-management.js
路由路径:/production_configuration/product_management/product_list
页面结构:搜索区(产品代号搜索)+ 数据表格 + 新增/编辑弹框
7.1 页面加载与数据展示
TC-PROD-001:产品列表页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「生产配置 → 产品管理 → 产品列表」 |
| 预期结果 |
页面正常加载,显示产品列表表格,包含序号、产品代号、产品名称、备注、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-002:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
1. 观察表格列头 2. 横向滚动查看所有列 |
| 预期结果 |
表格包含以下列:序号、产品代号、产品名称、备注、操作(共 5 列),操作列固定在右侧 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-003:空数据状态展示
| 项目 |
内容 |
| 测试前置条件 |
确保数据库中没有产品数据(或清空搜索条件后无匹配数据) |
| 测试步骤 |
1. 在搜索框中输入一个不存在产品代号 2. 点击「查询」 |
| 预期结果 |
表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-004:表格序号正确递增
| 项目 |
内容 |
| 测试步骤 |
1. 加载产品列表 2. 观察序号列 |
| 预期结果 |
序号从 1 开始递增,翻页后序号接续正确 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.2 搜索与分页
TC-PROD-005:按产品代号搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在产品代号输入框中输入已知存在的产品代号(如"P001")2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示产品代号匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-006:模糊搜索产品代号
| 项目 |
内容 |
| 测试步骤 |
1. 在产品代号输入框中输入部分关键字(如"P")2. 点击「查询」按钮 |
| 预期结果 |
表格显示所有产品代号包含关键字的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-007:搜索无匹配结果
| 项目 |
内容 |
| 测试步骤 |
1. 在产品代号输入框中输入不存在的代号(如"ZZZ999")2. 点击「查询」按钮 |
| 预期结果 |
表格显示空状态,分页总数显示为 0 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-008:回车键触发搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在产品代号输入框中输入关键字 2. 按键盘 Enter 键 |
| 预期结果 |
触发表格搜索,效果与点击「查询」按钮一致 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-009:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
搜索输入框内容清空,表格恢复显示全部数据(回到第一页) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-010:输入框清空按钮
| 项目 |
内容 |
| 测试步骤 |
1. 在产品代号输入框输入内容 2. 点击输入框右侧的清空(×)图标 |
| 预期结果 |
输入框内容被清空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-011:分页切换—切换每页条数
| 项目 |
内容 |
| 测试步骤 |
1. 点击分页组件的每页条数下拉框 2. 依次切换为 10、25、50、100 |
| 预期结果 |
每种条数下表格显示正确数量的数据,总页数相应变化 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-012:分页切换—翻页
| 项目 |
内容 |
| 测试步骤 |
1. 点击分页组件的「下一页」按钮 2. 点击「上一页」按钮 3. 直接输入页码跳转(如跳到第 3 页) |
| 预期结果 |
页码切换后表格数据显示对应页的数据,当前页码高亮正确 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.3 新增产品
TC-PROD-013:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新增」按钮 |
| 预期结果 |
弹出新增产品弹框,标题显示"新增产品",表单字段为空:产品代号(输入框)、产品名称(输入框)、备注(多行文本域) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-014:新增产品成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入产品代号(如"P-TEST-001")3. 输入产品名称(如"测试产品001")4. 输入备注(如"用于测试")5. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格刷新并显示新增的产品 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-015:新增产品—仅填写必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 必填:产品代号和产品名称 3. 备注留空 4. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-016:取消新增
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| 预期结果 |
弹框关闭,表格数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-017:连续新增
| 项目 |
内容 |
| 测试步骤 |
1. 新增产品 A 成功后 2. 再次点击「新增」按钮 3. 新增产品 B |
| 预期结果 |
弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.4 编辑产品
TC-PROD-018:打开编辑弹框
| 项目 |
内容 |
| 测试步骤 |
点击产品列表中任一产品行操作列的「编辑」按钮 |
| 预期结果 |
弹出编辑产品弹框,标题显示"编辑产品",表单回填该产品的产品代号、产品名称、备注 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-019:编辑产品—修改产品名称
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改产品名称(如改为"测试产品-已修改")3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格中该行产品名称更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-020:编辑产品—修改备注
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改备注内容 3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",备注更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-021:编辑产品—产品代号不可修改(如适用)
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 查看产品代号输入框 |
| 预期结果 |
产品代号字段显示为禁用状态(灰色不可编辑),仅产品名称和备注可修改 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-022:取消编辑
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,原数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.5 删除产品
TC-PROD-023:删除产品确认弹框
| 项目 |
内容 |
| 测试步骤 |
点击产品列表中任一产品行操作列的「删除」按钮 |
| 预期结果 |
弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-024:删除产品成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击产品行的「删除」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该产品从列表中消失,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-025:取消删除
| 项目 |
内容 |
| 测试步骤 |
1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,产品数据保持不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-026:删除最后一页唯一数据后的分页处理
| 项目 |
内容 |
| 测试前置条件 |
存在数据,且最后一页只有一条记录 |
| 测试步骤 |
1. 翻到最后一页 2. 删除该页唯一的产品 |
| 预期结果 |
提示"操作成功",自动跳转到前一页,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.6 表单校验
TC-PROD-027:新增表单校验—产品代号必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写产品代号 3. 填写产品名称 4. 点击「确定」 |
| 预期结果 |
产品代号输入框下方显示红色校验提示"请输入产品代号",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-028:新增表单校验—产品名称必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写产品代号 3. 不填写产品名称 4. 点击「确定」 |
| 预期结果 |
产品名称输入框下方显示红色校验提示"请输入产品名称",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-029:新增表单校验—产品代号长度上限
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在产品代号输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| 预期结果 |
产品代号输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-030:新增表单校验—产品名称长度上限
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在产品名称输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| 预期结果 |
产品名称输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-031:新增表单校验—中文字符正常输入
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 产品名称输入中文字符 3. 点击「确定」 |
| 预期结果 |
表单正常提交,中文内容正确保存 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-032:编辑表单校验—修改后清空必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开已存在产品的编辑弹框 2. 清空产品名称 3. 点击「确定」 |
| 预期结果 |
产品名称输入框下方显示红色校验提示"请输入产品名称" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
7.7 多语言切换
TC-PROD-033:切换到英文—页面标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 点击菜单进入产品列表页面 |
| 预期结果 |
搜索区标签显示"Product Code"、"Search"、"Reset";表格列头显示"No."、"Product Code"、"Product Name"、"Remark"、"Actions";工具栏按钮显示"Add" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-034:切换到英文—弹框标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| 预期结果 |
弹框标题为"Add Product";表单标签为"Product Code"、"Product Name"、"Remark";底部按钮为"Confirm"、"Cancel" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-035:切换到英文—编辑弹框
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击某行的编辑按钮 |
| 预期结果 |
弹框标题为"Edit Product",表单回填正确,所有标签为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-036:切换到英文—提示信息
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 执行新增/编辑/删除操作 |
| 预期结果 |
操作成功提示为"Operation succeeded";删除确认框内容为"Are you sure to delete?";校验提示为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PROD-037:英文下所有操作功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:搜索、新增产品、编辑产品、删除产品、分页切换 |
| 预期结果 |
所有功能正常运行,交互逻辑与中文界面一致 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
八、工艺流程类别功能测试
迁移日期:2026-06-01
对应页面:src/views/production-master-data/process-model/process-category/index.vue
API 文件:src/api/production-master-data/process-category.js
路由路径:/production_configuration/technology_model/technology_flow_category
页面结构:搜索区(编码+名称搜索)+ 数据表格 + 新增/编辑弹框
8.1 页面加载与数据展示
TC-PCAT-001:工艺流程类别页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「生产配置 → 工艺模型 → 工艺流程类别」 |
| 预期结果 |
页面正常加载,显示工艺流程类别列表表格,包含序号、流程类别编码、流程类别名称、备注、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-002:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
1. 观察表格列头 2. 横向滚动查看所有列 |
| 预期结果 |
表格包含以下列:序号、流程类别编码、流程类别名称、备注、操作(共 5 列),操作列固定在右侧 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-003:空数据状态展示
| 项目 |
内容 |
| 测试前置条件 |
确保数据库中没有工艺流程类别数据(或清空搜索条件后无匹配数据) |
| 测试步骤 |
1. 在搜索框中输入一个不存在的编码 2. 点击「查询」 |
| 预期结果 |
表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-004:表格序号正确递增
| 项目 |
内容 |
| 测试步骤 |
1. 加载工艺流程类别列表 2. 观察序号列 3. 翻页后观察序号 |
| 预期结果 |
序号从 1 开始递增,翻页后序号接续正确 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.2 搜索与分页
TC-PCAT-005:按流程类别编码搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在流程类别编码输入框中输入已知存在的编码 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示编码匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-006:按流程类别名称搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在流程类别名称输入框中输入已知存在的名称 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示名称匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-007:组合搜索(编码+名称)
| 项目 |
内容 |
| 测试步骤 |
1. 同时输入流程类别编码和名称关键字 2. 点击「查询」按钮 |
| 预期结果 |
表格按照两个条件同时过滤(AND 逻辑),显示匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-008:回车键触发搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在编码或名称输入框中输入关键字 2. 按键盘 Enter 键 |
| 预期结果 |
触发表格搜索,效果与点击「查询」按钮一致 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-009:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
搜索输入框内容清空,表格恢复显示全部数据(回到第一页) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-010:输入框清空按钮
| 项目 |
内容 |
| 测试步骤 |
1. 在编码输入框输入内容 2. 点击输入框右侧的清空(×)图标 |
| 预期结果 |
输入框内容被清空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-011:分页切换—每页条数
| 项目 |
内容 |
| 测试步骤 |
点击分页组件的每页条数下拉框,依次切换为 10、25、50、100 |
| 预期结果 |
每种条数下表格显示正确数量的数据,总页数相应变化 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-012:分页切换—翻页
| 项目 |
内容 |
| 测试步骤 |
1. 点击分页组件的「下一页」按钮 2. 点击「上一页」按钮 3. 直接输入页码跳转(如跳到第 3 页) |
| 预期结果 |
页码切换后表格数据显示对应页的数据,当前页码高亮正确 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.3 新增工艺流程类别
TC-PCAT-013:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新增」按钮 |
| 预期结果 |
弹出新增工艺流程类别弹框,标题显示"新增工艺流程类别",表单字段为空:流程类别编码(输入框)、流程类别名称(输入框)、备注(多行文本域) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-014:新增工艺流程类别成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入流程类别编码(如"PC-001")3. 输入流程类别名称(如"测试流程类别001")4. 输入备注(如"用于测试")5. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格刷新并显示新增的流程类别 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-015:新增工艺流程类别—仅填写必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写编流程类别码和名称 3. 备注留空 4. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-016:取消新增
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| 预期结果 |
弹框关闭,表格数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-017:连续新增
| 项目 |
内容 |
| 测试步骤 |
1. 新增流程类别 A 成功后 2. 再次点击「新增」按钮 3. 新增流程类别 B |
| 预期结果 |
弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.4 编辑工艺流程类别
TC-PCAT-018:打开编辑弹框
| 项目 |
内容 |
| 测试步骤 |
点击工艺流程类别列表中任一类别行操作列的「编辑」按钮 |
| 预期结果 |
弹出编辑工艺流程类别弹框,标题显示"编辑工艺流程类别",表单回填该流程类别的编码、名称、备注 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-019:编辑工艺流程类别—修改名称
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改流程类别名称(如改为"测试流程类别-已修改")3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格中该行名称更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-020:编辑工艺流程类别—修改备注
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改备注内容 3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",备注更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-021:取消编辑
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,原数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.5 删除工艺流程类别
TC-PCAT-022:删除确认弹框
| 项目 |
内容 |
| 测试步骤 |
点击工艺流程类别列表中任一类别行操作列的「删除」按钮 |
| 预期结果 |
弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-023:删除工艺流程类别成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击类别行的「删除」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该工艺流程类别从列表中消失,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-024:取消删除
| 项目 |
内容 |
| 测试步骤 |
1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,工艺流程类别数据保持不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-025:删除最后一页唯一数据后的分页处理
| 项目 |
内容 |
| 测试前置条件 |
存在数据,且最后一页只有一条记录 |
| 测试步骤 |
1. 翻到最后一页 2. 删除该页唯一的工艺流程类别 |
| 预期结果 |
提示"操作成功",自动跳转到前一页,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.6 表单校验
TC-PCAT-026:新增表单校验—编码必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写流程类别编码 3. 填写流程类别名称 4. 点击「确定」 |
| 预期结果 |
编码输入框下方显示红色校验提示"请输入流程类别编码",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-027:新增表单校验—名称必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写流程类别编码 3. 不填写流程类别名称 4. 点击「确定」 |
| 预期结果 |
名称输入框下方显示红色校验提示"请输入流程类别名称",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-028:新增表单校验—编码长度上限
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在编码输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| 预期结果 |
编码输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-029:新增表单校验—名称长度上限
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在名称输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| 预期结果 |
名称输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-030:新增表单校验—中文字符正常输入
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 流程类别名称输入中文字符 3. 点击「确定」 |
| 预期结果 |
表单正常提交,中文内容正确保存 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-031:编辑表单校验—修改后清空必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开已存在流程类别的编辑弹框 2. 清空流程类别名称 3. 点击「确定」 |
| 预期结果 |
名称输入框下方显示红色校验提示"请输入流程类别名称" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
8.7 多语言切换
TC-PCAT-032:切换到英文—页面标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 点击菜单进入工艺流程类别页面 |
| 预期结果 |
搜索区标签显示"Category Code"、"Category Name"、"Search"、"Reset";表格列头显示"No."、"Category Code"、"Category Name"、"Remark"、"Actions";工具栏按钮显示"Add" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-033:切换到英文—新增弹框标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| 预期结果 |
弹框标题为"Add Process Category";表单标签为"Category Code"、"Category Name"、"Remark";底部按钮为"Confirm"、"Cancel" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-034:切换到英文—编辑弹框标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击某行的编辑按钮 |
| 预期结果 |
弹框标题为"Edit Process Category",表单回填正确,所有标签为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-035:切换到英文—提示信息
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 执行新增/编辑/删除操作 |
| 预期结果 |
操作成功提示为"Operation succeeded";删除确认框内容为"Are you sure to delete?";校验提示为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PCAT-036:英文下所有操作功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:搜索、新增流程类别、编辑流程类别、删除流程类别、分页切换 |
| 预期结果 |
所有功能正常运行,交互逻辑与中文界面一致 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
九、产线设置功能测试
迁移日期:2026-06-01
对应页面:src/views/production-master-data/factory-model/production-line/index.vue
API 文件:src/api/production-master-data/production-line.js
路由路径:/production_configuration/factory_model/factory_line
页面结构:搜索区(产线编码 + 产线名称 + 所区下拉 + 查询/重置按钮)+ 数据表格 + 新增/编辑弹框(含所区下拉选择)
9.1 页面加载与数据展示
TC-PL-001:产线设置页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「生产配置 → 工厂模型 → 产线设置」 |
| 预期结果 |
页面正常加载,显示产线列表表格,包含序号、产线编码、产线名称、所属所区、备注、操作列;搜索区包含产线编码输入框、产线名称输入框、所区下拉选择器;底部有分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-002:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
查看产线列表表格的列头 |
| 预期结果 |
表格列依次为:序号、产线编码、产线名称、所属所区、备注、操作。各列宽度合理,内容不重叠 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-003:工具栏按钮显示
| 项目 |
内容 |
| 测试步骤 |
查看表格上方的工具栏 |
| 预期结果 |
工具栏左侧显示「新 增」按钮,带加号图标,类型为蓝色主按钮;右侧显示帮助按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-004:行内操作按钮显示
| 项目 |
内容 |
| 测试步骤 |
查看表格每行的操作列 |
| 预期结果 |
每行操作列显示「编 辑」按钮(带编辑图标)和「删 除」按钮(红色危险按钮,带删除图标) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.2 查询与搜索
TC-PL-005:按产线编码搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在「产线编码」输入框输入一个已知的产线编码 2. 点击「查询」按钮或按 Enter 键 |
| 预期结果 |
表格数据按产线编码模糊匹配过滤,仅显示匹配的产线记录;分页回到第 1 页 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-006:按产线名称搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在「产线名称」输入框输入关键字 2. 点击「查询」按钮 |
| 预期结果 |
表格数据按产线名称模糊匹配过滤,仅显示匹配的产线记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-007:按所区下拉筛选
| 项目 |
内容 |
| 测试步骤 |
1. 点击搜索区「所区」下拉框 2. 选择一个具体所区 3. 点击「查询」按钮 |
| 预期结果 |
下拉框显示所有已存在的所区选项;选择某个所区后查询,表格仅显示属于该所区的产线记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-008:组合条件搜索
| 项目 |
内容 |
| 测试步骤 |
1. 输入产线编码关键字 2. 同时选择一个所区 3. 点击「查询」按钮 |
| 预期结果 |
表格数据按多个条件 AND 逻辑过滤,显示同时满足所有条件的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-009:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
产线编码、产线名称输入框清空,所区下拉恢复为空;表格恢复显示全部数据;分页回到第 1 页 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-010:空关键字搜索
| 项目 |
内容 |
| 测试步骤 |
不输入任何条件直接点击「查询」按钮 |
| 预期结果 |
显示全部产线数据,无过滤效果 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.3 分页功能
TC-PL-011:分页切换
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数(10/20/50/100) 2. 点击下一页/上一页 3. 输入页码直接跳转 |
| 预期结果 |
分页切换正常,表格数据按分页正确加载;总条数显示正确;切换每页条数后当前页重置为第 1 页 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.4 新增产线
TC-PL-012:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新 增」按钮 |
| 预期结果 |
弹出新增产线弹框,标题显示"新增产线";表单包含 4 个字段:产线编码(输入框)、产线名称(输入框)、所区(下拉选择器)、备注(文本域);所有字段为空;底部有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-013:所区下拉框正常加载选项
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 点击「所区」下拉选择器 |
| 预期结果 |
下拉框正常显示所有已存在的所区列表选项,选项格式为"所区名称";支持 filterable 筛选 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-014:新增产线—正常提交
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入产线编码(如"PL-001") 3. 输入产线名称(如"测试产线") 4. 选择一个所区 5. 输入备注(可选) 6. 点击「确定」按钮 |
| 预期结果 |
弹框关闭,显示"操作成功"提示消息;表格自动刷新,新增的产线出现在列表中 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-015:新增产线—表单验证(必填项为空)
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写任何内容直接点击「确定」按钮 |
| 预期结果 |
产线编码字段提示"请输入产线编码";产线名称字段提示"请输入产线名称";所区字段提示"请选择所区";表单阻止提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-016:新增产线—编码/名称超长验证
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在产线编码输入框输入 101 个字符 3. 在产线名称输入框输入 101 个字符 4. 选择所区 5. 点击「确定」按钮 |
| 预期结果 |
提示"长度在 1 到 100 个字符",表单阻止提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-017:新增产线—取消操作
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,表格数据不变;再次打开新增弹框时表单已重置为空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.5 编辑产线
TC-PL-018:打开编辑弹框并数据回填
| 项目 |
内容 |
| 测试步骤 |
1. 在表格中找到一条产线记录 2. 点击该行的「编 辑」按钮 |
| 预期结果 |
弹出编辑产线弹框,标题显示"编辑产线";表单自动回填该产线的编码、名称、所区、备注数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-019:编辑产线—修改名称后提交
| 项目 |
内容 |
| 测试步骤 |
1. 编辑一条产线 2. 修改产线名称为新值 3. 点击「确定」按钮 |
| 预期结果 |
弹框关闭,显示"操作成功"提示;表格自动刷新,该行显示更新后的产线名称 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-020:编辑产线—修改所属所区后提交
| 项目 |
内容 |
| 测试步骤 |
1. 编辑一条产线 2. 切换选择另一个所区 3. 点击「确定」按钮 |
| 预期结果 |
弹框关闭,操作成功;表格刷新后该行的「所属所区」列显示更新后的所区名称 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-021:编辑产线—验证必填项
| 项目 |
内容 |
| 测试步骤 |
1. 编辑一条产线 2. 清空产线编码或产线名称 3. 清空所区选择 4. 点击「确定」按钮 |
| 预期结果 |
对应字段出现必填验证提示,表单阻止提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.6 删除产线
TC-PL-022:删除产线—确认删除
| 项目 |
内容 |
| 测试步骤 |
1. 在表格中找到一条产线记录 2. 点击该行的「删 除」按钮 3. 在弹出的确认框中点击「确定」 |
| 预期结果 |
弹出确认框,标题为"提示",内容为"确定要执行该操作吗?";点击确定后显示"操作成功"提示;表格自动刷新,该产线不再出现在列表中;分页正确调整 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-023:删除产线—取消删除
| 项目 |
内容 |
| 测试步骤 |
1. 点击某条产线记录的「删 除」按钮 2. 在弹出的确认框中点击「取消」 |
| 预期结果 |
确认框关闭,该产线记录仍然保留在表格中,数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.7 多语言切换
TC-PL-024:切换到英文—页面标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 查看产线设置页面 |
| 预期结果 |
所有标签、按钮、表头均切换为英文:搜索区标签 "Production Line Code" / "Production Line Name" / "Plant Area";表格列头 "No." / "Production Line Code" / "Production Line Name" / "Plant Area" / "Remark" / "Actions";工具栏 "Add";行按钮 "Edit" / "Delete" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-025:切换到英文—弹框标题与表单
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击「Add」按钮打开新增弹框 3. 查看弹框内容 |
| 预期结果 |
弹框标题为 "Add Production Line";表单字段标签为英文;底部按钮为 "Confirm" / "Cancel";所区下拉 placeholder 为 "Please select plant area" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-026:切换到英文—提示信息
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 执行新增/编辑/删除操作 |
| 预期结果 |
操作成功提示为 "Operation succeeded";删除确认框内容为 "Are you sure to delete?",按钮为 "Confirm" / "Cancel";校验提示为英文(如 "Please enter production line code") |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-027:英文下所有核心功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行完整操作流程:按编码搜索 → 按所区筛选 → 新增产线 → 编辑产线 → 删除产线 → 分页切换 |
| 预期结果 |
所有功能正常运行,交互逻辑与中文界面一致,无 i18n key 缺失导致的未翻译文本 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
9.8 边界与异常场景
TC-PL-028:搜索关键词无匹配结果
| 项目 |
内容 |
| 测试步骤 |
1. 在产线编码输入框输入一个不存在的编码(如"ZZZZZZZ") 2. 点击「查询」按钮 |
| 预期结果 |
表格显示空数据,分页显示总条数为 0;页面无报错 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-029:新增产线—编码重复
| 项目 |
内容 |
| 测试步骤 |
1. 新增一条产线,编码与已有产线编码完全相同 2. 点击「确定」按钮 |
| 预期结果 |
后端返回编码重复错误,前端以错误提示形式展示;弹框不关闭,允许用户修改后重新提交 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-PL-030:删除后分页自动调整
| 项目 |
内容 |
| 测试步骤 |
1. 翻到最后一页 2. 如果该页只有 1 条数据,将其删除 |
| 预期结果 |
删除成功后自动跳转到上一页(当前页页码正确调整),不会停留在空页面 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
测试结果汇总
| 功能模块 |
测试用例数 |
通过 |
未通过 |
通过率 |
| 角色管理 |
24 |
|
|
|
| 用户管理 |
33 |
|
|
|
| 菜单配置 |
37 |
|
|
|
| 接口日志 |
20 |
|
|
|
| 操作日志 |
18 |
|
|
|
| 问题帮助 |
21 |
|
|
|
| 产品列表 |
37 |
|
|
|
| 工艺流程类别 |
36 |
|
|
|
| 产线设置 |
30 |
|
|
|
| 工序单元 |
36 |
|
|
|
| 合计 |
292 |
|
|
|
十、工序单元功能测试
迁移日期:2026-06-01
对应页面:src/views/production-master-data/process-model/process-step/index.vue
API 文件:src/api/production-master-data/process-step.js
路由路径:/production_configuration/technology_model/technology_flow_workingsubclass
页面结构:搜索区(工序单元编码 + 工序单元名称 + 查询/重置按钮)+ 数据表格 + 新增/编辑弹框(含设备类别下拉选择)
10.1 页面加载与数据展示
TC-STEP-001:工序单元页面正常加载
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 点击菜单「生产配置 → 工艺模型 → 工序单元」 |
| 预期结果 |
页面正常加载,显示工序单元列表表格,包含序号、工序单元编码、工序单元名称、设备类别、备注、操作列;底部分页组件显示总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-002:表格列完整显示
| 项目 |
内容 |
| 测试步骤 |
1. 观察表格列头 2. 横向滚动查看所有列 |
| 预期结果 |
表格包含以下列:序号、工序单元编码、工序单元名称、设备类别、备注、操作(共 6 列),操作列固定在右侧 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-003:空数据状态展示
| 项目 |
内容 |
| 测试前置条件 |
确保数据库中没有工序单元数据(或清空搜索条件后无匹配数据) |
| 测试步骤 |
1. 在搜索框中输入一个不存在的工序单元编码 2. 点击「查询」 |
| 预期结果 |
表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-004:表格序号正确递增
| 项目 |
内容 |
| 测试步骤 |
1. 加载工序单元列表 2. 观察序号列 |
| 预期结果 |
序号从 1 开始递增,翻页后序号接续正确 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.2 搜索与分页
TC-STEP-005:按工序单元编码搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在工序单元编码输入框中输入已知存在的编码 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示编码匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-006:按工序单元名称搜索
| 项目 |
内容 |
| 测试步骤 |
1. 在工序单元名称输入框中输入已知存在的名称 2. 点击「查询」按钮 |
| 预期结果 |
表格仅显示名称匹配的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-007:组合搜索
| 项目 |
内容 |
| 测试步骤 |
1. 同时填写工序单元编码和名称搜索条件 2. 点击「查询」按钮 |
| 预期结果 |
表格显示同时满足编码和名称条件的记录 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-008:重置搜索条件
| 项目 |
内容 |
| 测试步骤 |
1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| 预期结果 |
搜索条件清空,表格恢复显示全部数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-009:分页功能
| 项目 |
内容 |
| 测试步骤 |
1. 切换每页显示条数 2. 点击下一页/上一页 3. 输入页码跳转 |
| 预期结果 |
分页切换正常,表格数据按分页加载,总条数正确显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.3 新增工序单元
TC-STEP-010:打开新增弹框
| 项目 |
内容 |
| 测试步骤 |
点击表格上方工具栏「新增」按钮 |
| 预期结果 |
弹出新增工序单元弹框,标题显示"新增工序单元",表单字段为空:工序单元编码(输入框)、工序单元名称(输入框)、设备类别(下拉选择)、备注(多行文本域) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-011:新增工序单元成功
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 输入工序单元编码(如"PS-001")3. 输入工序单元名称(如"测试工序单元001")4. 选择设备类别 5. 输入备注(如"用于测试")6. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格刷新并显示新增的工序单元 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-012:新增工序单元—仅填写必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写编码、名称,选择设备类别 3. 备注留空 4. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-013:新增工序单元—设备类别下拉选择
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 点击设备类别下拉框 |
| 预期结果 |
下拉列表显示所有设备类别选项,可搜索过滤 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-014:取消新增
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| 预期结果 |
弹框关闭,表格数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-015:连续新增
| 项目 |
内容 |
| 测试步骤 |
1. 新增工序单元 A 成功后 2. 再次点击「新增」按钮 3. 新增工序单元 B |
| 预期结果 |
弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.4 编辑工序单元
TC-STEP-016:打开编辑弹框
| 项目 |
内容 |
| 测试步骤 |
点击工序单元列表中任一工序单元行操作列的「编辑」按钮 |
| 预期结果 |
弹出编辑工序单元弹框,标题显示"编辑工序单元",表单回填该工序单元的编码、名称、设备类别、备注 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-017:编辑工序单元—修改名称
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改工序单元名称(如改为"测试工序单元-已修改")3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格中该行名称更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-018:编辑工序单元—修改设备类别
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 切换选择另一个设备类别 3. 点击「确定」 |
| 预期结果 |
弹框关闭,提示"操作成功",表格中该行设备类别列更新 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-019:编辑工序单元—工序单元编码不可修改
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 查看工序单元编码输入框 |
| 预期结果 |
工序单元编码字段显示为禁用状态(灰色不可编辑) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-020:取消编辑
| 项目 |
内容 |
| 测试步骤 |
1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| 预期结果 |
弹框关闭,原数据不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.5 删除工序单元
TC-STEP-021:删除确认弹框
| 项目 |
内容 |
| 测试步骤 |
点击工序单元列表中任一工序单元行操作列的「删除」按钮 |
| 预期结果 |
弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-022:删除工序单元成功
| 项目 |
内容 |
| 测试步骤 |
1. 点击工序单元行的「删除」按钮 2. 在确认框中点击「确定」 |
| 预期结果 |
提示"操作成功",该工序单元从列表中消失,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-023:取消删除
| 项目 |
内容 |
| 测试步骤 |
1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| 预期结果 |
确认框关闭,工序单元数据保持不变 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-024:删除最后一页唯一数据后的分页处理
| 项目 |
内容 |
| 测试前置条件 |
存在数据,且最后一页只有一条记录 |
| 测试步骤 |
1. 翻到最后一页 2. 删除该页唯一的工序单元 |
| 预期结果 |
提示"操作成功",自动跳转到前一页,分页总数减 1 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.6 表单校验
TC-STEP-025:新增表单校验—编码必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 不填写工序单元编码 3. 填写其他必填项 4. 点击「确定」 |
| 预期结果 |
编码输入框下方显示红色校验提示,弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-026:新增表单校验—名称必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写编码 3. 不填写工序单元名称 4. 选择设备类别 5. 点击「确定」 |
| 预期结果 |
名称输入框下方显示红色校验提示,弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-027:新增表单校验—设备类别必填
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 填写编码和名称 3. 不选择设备类别 4. 点击「确定」 |
| 预期结果 |
设备类别下方显示红色校验提示"请选择设备类别",弹框不关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-028:新增表单校验—编码长度上限
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 在编码输入框中输入超过 100 个字符 3. 点击「确定」 |
| 预期结果 |
编码输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-029:新增表单校验—中文字符正常输入
| 项目 |
内容 |
| 测试步骤 |
1. 打开新增弹框 2. 工序单元名称输入中文字符 3. 点击「确定」 |
| 预期结果 |
表单正常提交,中文内容正确保存 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-030:编辑表单校验—清空必填项
| 项目 |
内容 |
| 测试步骤 |
1. 打开已存在工序单元的编辑弹框 2. 清空工序单元名称 3. 点击「确定」 |
| 预期结果 |
名称输入框下方显示红色校验提示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
10.7 多语言切换
TC-STEP-031:切换到英文—页面标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文语言 2. 点击菜单进入工序单元页面 |
| 预期结果 |
搜索区标签显示"Process Unit Code"、"Process Unit Name"、"Search"、"Reset";表格列头显示"No."、"Process Unit Code"、"Process Unit Name"、"Device Category"、"Remark"、"Actions";工具栏按钮显示"Add" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-032:切换到英文—新增弹框标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| 预期结果 |
弹框标题为"Add Process Unit";表单标签为"Process Unit Code"、"Process Unit Name"、"Device Category"、"Remark";底部按钮为"Confirm"、"Cancel" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-033:切换到英文—编辑弹框标签
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 点击某行的编辑按钮 |
| 预期结果 |
弹框标题为"Edit Process Unit",表单回填正确,所有标签为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-034:切换到英文—提示信息
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 执行新增/编辑/删除操作 |
| 预期结果 |
操作成功提示为"Operation succeeded";删除确认框内容为"Proceed with this action?";校验提示为英文 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-035:切换到英文—设备类别下拉
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 打开新增弹框 3. 点击设备类别下拉框 |
| 预期结果 |
下拉 placeholder 为"Please select device category" |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-036:英文下所有操作功能正常
| 项目 |
内容 |
| 测试步骤 |
在英文界面下执行:搜索、新增工序单元、编辑工序单元、删除工序单元、分页切换 |
| 预期结果 |
所有功能正常运行,交互逻辑与中文界面一致 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-037:预设设定值按钮权限控制
| 项目 |
内容 |
| 测试步骤 |
1. 登录系统 2. 进入工序单元页面 3. 查看某行数据的操作列 |
| 预期结果 |
操作列显示:编辑(黄色)、预设设定值(橙色)、预设结果参数(绿色)、删除(红色)四个按钮 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-038:打开预设设定值弹框
| 项目 |
内容 |
| 测试步骤 |
1. 进入工序单元页面 2. 点击某行的"预设设定值"按钮 |
| 预期结果 |
弹出"预设设定值"对话框,标题正确,显示配置区域占位符和提示信息 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-039:预设设定值弹框关闭
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设设定值弹框 2. 点击取消按钮 |
| 预期结果 |
弹框关闭,无错误 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-040:预设设定值提交
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设设定值弹框 2. 点击确定按钮 |
| 预期结果 |
显示"操作成功"提示,弹框关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-041:预设结果参数按钮存在
| 项目 |
内容 |
| 测试步骤 |
进入工序单元页面,查看操作列按钮 |
| 预期结果 |
显示"预设结果参数"按钮(绿色图标) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-042:打开预设结果参数弹框
| 项目 |
内容 |
| 测试步骤 |
1. 进入工序单元页面 2. 点击某行的"预设结果参数"按钮 |
| 预期结果 |
弹出"预设结果参数"对话框,显示可选参数列表表格(名称、参数、类别、备注、是否唯一、是否上传) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-043:预设结果参数搜索功能
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 输入名称和参数进行搜索 |
| 预期结果 |
点击查询按钮后,表格数据根据搜索条件过滤 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-044:新增可选参数
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 点击"新增一行"按钮 3. 填写参数信息 4. 点击确定 |
| 预期结果 |
新增成功,列表刷新显示新数据,弹出成功提示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-045:编辑可选参数
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 点击某行的编辑图标 3. 修改信息 4. 点击确定 |
| 预期结果 |
编辑成功,列表刷新显示更新后的数据 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-046:删除可选参数
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 点击某行的删除图标 3. 确认删除 |
| 预期结果 |
删除成功,列表刷新,该数据不再显示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-047:预设结果参数分页
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 当数据较多时切换分页 |
| 预期结果 |
分页切换正常,显示正确的页码和总条数 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-048:预设结果参数关闭
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 点击关闭按钮 |
| 预期结果 |
弹框正常关闭 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-049:预设结果参数导入功能入口
| 项目 |
内容 |
| 测试步骤 |
1. 打开预设结果参数弹框 2. 点击"导入"按钮 |
| 预期结果 |
显示"导入功能开发中"提示 |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
TC-STEP-050:预设结果参数英文界面
| 项目 |
内容 |
| 测试步骤 |
1. 切换到英文 2. 打开预设结果参数弹框 |
| 预期结果 |
弹框标题显示"Preset Result Parameters",表格列头显示英文(Name、Parameter、Category等) |
| 实际结果 |
|
| 测试状态 |
⬜ 通过 / ⬜ 未通过 |
| 问题描述 |
|
测试结果汇总
| 功能模块 |
测试用例数 |
通过 |
未通过 |
通过率 |
| 角色管理 |
24 |
|
|
|
| 用户管理 |
33 |
|
|
|
| 菜单配置 |
37 |
|
|
|
| 接口日志 |
20 |
|
|
|
| 操作日志 |
18 |
|
|
|
| 问题帮助 |
21 |
|
|
|
| 产品列表 |
37 |
|
|
|
| 工艺流程类别 |
36 |
|
|
|
| 产线设置 |
30 |
|
|
|
| 工序单元 |
50 |
|
|
|
| 合计 |
306 |
|
|
|
版本记录:
- v1.0 (2026-05-28):初始版本,包含角色管理功能(24 条用例)
- v1.1 (2026-05-28):追加用户管理功能(33 条用例)
- v1.2 (2026-05-29):追加菜单配置功能(37 条用例)
- v1.3 (2026-05-29):追加接口日志功能(20 条用例)
- v1.4 (2026-05-29):追加操作日志功能(18 条用例)
- v1.5 (2026-05-29):追加问题帮助功能(21 条用例)
- v1.6 (2026-06-01):追加产品列表功能(37 条用例)
- v1.7 (2026-06-01):追加工艺流程类别功能(36 条用例)
- v1.8 (2026-06-01):追加产线设置功能(30 条用例)
- v1.9 (2026-06-01):追加工序单元功能(36 条用例)
- v1.10 (2026-06-01):追加工序单元预设设定值和预设结果参数功能(14 条用例)