重构:文件系统模块化架构,优化应用启动流程
This commit is contained in:
467
docs/04-功能迭代/GO-DESK-2.数据库客户端/测试用例/功能测试用例.md
Normal file
467
docs/04-功能迭代/GO-DESK-2.数据库客户端/测试用例/功能测试用例.md
Normal file
@@ -0,0 +1,467 @@
|
||||
# 功能测试用例
|
||||
|
||||
**创建日期**:2025-01-28
|
||||
**测试范围**:数据库客户端核心功能
|
||||
|
||||
---
|
||||
|
||||
## 一、连接管理测试
|
||||
|
||||
### TC-001: 创建数据库连接
|
||||
|
||||
**前置条件**:
|
||||
- 应用已启动
|
||||
- 数据库服务可访问
|
||||
|
||||
**测试步骤**:
|
||||
1. 点击"新建连接"按钮
|
||||
2. 填写连接信息(名称、类型、主机、端口、用户名、密码、数据库)
|
||||
3. 点击"测试连接"验证连接
|
||||
4. 点击"保存"
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 连接创建成功
|
||||
- ✅ 连接出现在连接树中
|
||||
- ✅ 可以选中连接
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-002: 编辑数据库连接
|
||||
|
||||
**前置条件**:
|
||||
- 已存在至少一个连接
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击连接节点
|
||||
2. 选择"编辑连接"
|
||||
3. 修改连接信息
|
||||
4. 点击"保存"
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 连接信息更新成功
|
||||
- ✅ 连接树中显示更新后的信息
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-003: 删除数据库连接
|
||||
|
||||
**前置条件**:
|
||||
- 已存在至少一个连接
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击连接节点
|
||||
2. 选择"删除连接"
|
||||
3. 确认删除
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 连接删除成功
|
||||
- ✅ 连接从连接树中移除
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-004: 连接列表加载
|
||||
|
||||
**前置条件**:
|
||||
- 已存在至少一个连接
|
||||
|
||||
**测试步骤**:
|
||||
1. 启动应用
|
||||
2. 查看连接树
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 连接列表自动加载
|
||||
- ✅ 所有连接正确显示
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
## 二、SQL执行测试
|
||||
|
||||
### TC-005: MySQL查询执行
|
||||
|
||||
**前置条件**:
|
||||
- 已创建MySQL连接
|
||||
- 已选中连接和数据库
|
||||
|
||||
**测试步骤**:
|
||||
1. 在SQL编辑器中输入:`SELECT * FROM table_name LIMIT 10;`
|
||||
2. 点击"执行"按钮
|
||||
|
||||
**预期结果**:
|
||||
- ✅ SQL执行成功
|
||||
- ✅ 结果在结果面板中显示
|
||||
- ✅ 结果格式正确(表格)
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-006: Redis命令执行
|
||||
|
||||
**前置条件**:
|
||||
- 已创建Redis连接
|
||||
- 已选中连接和数据库
|
||||
|
||||
**测试步骤**:
|
||||
1. 在SQL编辑器中输入:`KEYS *`
|
||||
2. 点击"执行"按钮
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 命令执行成功
|
||||
- ✅ 结果在结果面板中显示
|
||||
- ✅ 结果格式正确(列表或表格)
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-007: MongoDB查询执行
|
||||
|
||||
**前置条件**:
|
||||
- 已创建MongoDB连接
|
||||
- 已选中连接和数据库
|
||||
|
||||
**测试步骤**:
|
||||
1. 在SQL编辑器中输入:`db.collection.find({})`
|
||||
2. 点击"执行"按钮
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 查询执行成功
|
||||
- ✅ 结果在结果面板中显示
|
||||
- ✅ 结果格式正确(JSON)
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-008: SQL执行错误处理
|
||||
|
||||
**前置条件**:
|
||||
- 已创建连接并选中
|
||||
|
||||
**测试步骤**:
|
||||
1. 在SQL编辑器中输入错误的SQL:`SELECT * FROM non_existent_table;`
|
||||
2. 点击"执行"按钮
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 错误信息在结果面板中显示
|
||||
- ✅ 错误信息清晰明确
|
||||
- ✅ 应用不崩溃
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
## 三、表结构查看测试
|
||||
|
||||
### TC-009: MySQL表结构查看
|
||||
|
||||
**前置条件**:
|
||||
- 已创建MySQL连接
|
||||
- 已选中连接和数据库
|
||||
- 数据库中存在表
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击表节点
|
||||
2. 选择"查看结构"
|
||||
3. 查看结构面板
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 表结构信息正确显示
|
||||
- ✅ 字段信息完整(字段名、类型、允许NULL、键、默认值、额外)
|
||||
- ✅ 索引信息完整(索引名、列名、唯一、类型)
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-010: MongoDB集合结构查看
|
||||
|
||||
**前置条件**:
|
||||
- 已创建MongoDB连接
|
||||
- 已选中连接和数据库
|
||||
- 数据库中存在集合
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击集合节点
|
||||
2. 选择"查看结构"
|
||||
3. 查看结构面板
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 集合结构信息正确显示
|
||||
- ✅ 文档总数显示
|
||||
- ✅ 字段统计信息显示(基于采样)
|
||||
- ✅ 文档示例显示
|
||||
- ✅ 索引信息显示
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-011: Redis Key信息查看
|
||||
|
||||
**前置条件**:
|
||||
- 已创建Redis连接
|
||||
- 已选中连接和数据库
|
||||
- 数据库中存在Key
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击Key节点
|
||||
2. 选择"查看结构"
|
||||
3. 查看结构面板
|
||||
|
||||
**预期结果**:
|
||||
- ✅ Key信息正确显示
|
||||
- ✅ Key类型显示
|
||||
- ✅ TTL显示
|
||||
- ✅ 长度显示
|
||||
- ✅ 值预览显示
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
## 四、右键菜单测试
|
||||
|
||||
### TC-012: 连接节点右键菜单
|
||||
|
||||
**前置条件**:
|
||||
- 已存在至少一个连接
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击连接节点
|
||||
2. 查看菜单项
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 菜单正确显示
|
||||
- ✅ 菜单项包括:查看结构、编辑连接、删除连接、刷新、测试连接
|
||||
- ✅ 菜单定位在鼠标位置
|
||||
- ✅ 点击菜单项后菜单关闭
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-013: 数据库节点右键菜单
|
||||
|
||||
**前置条件**:
|
||||
- 已存在连接并展开数据库
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击数据库节点
|
||||
2. 查看菜单项
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 菜单正确显示
|
||||
- ✅ 菜单项根据数据库类型显示(MySQL/MongoDB/Redis)
|
||||
- ✅ 菜单定位在鼠标位置
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-014: 表节点右键菜单
|
||||
|
||||
**前置条件**:
|
||||
- 已存在连接并展开到表节点
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击表节点
|
||||
2. 查看菜单项
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 菜单正确显示
|
||||
- ✅ 菜单项包括:查看结构、生成SELECT语句、复制表名、刷新
|
||||
- ✅ 菜单定位在鼠标位置
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-015: 菜单项功能测试
|
||||
|
||||
**前置条件**:
|
||||
- 已存在连接和表
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击表节点
|
||||
2. 依次点击各菜单项
|
||||
|
||||
**预期结果**:
|
||||
- ✅ "查看结构":切换到结构面板并显示表结构
|
||||
- ✅ "生成SELECT语句":在SQL编辑器中生成SELECT语句
|
||||
- ✅ "复制表名":表名复制到剪贴板
|
||||
- ✅ "刷新":刷新表列表
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
## 五、SQL编辑器测试
|
||||
|
||||
### ~~TC-016: 多Tab编辑器~~ ⚠️ 暂时移除
|
||||
|
||||
**状态**:多Tab支持暂时移除,仅保留一个SQL编辑区
|
||||
|
||||
**说明**:功能将在后续版本恢复
|
||||
|
||||
---
|
||||
|
||||
### TC-017: SQL自动保存
|
||||
|
||||
**前置条件**:
|
||||
- 已创建连接
|
||||
- 已打开SQL编辑器
|
||||
|
||||
**测试步骤**:
|
||||
1. 在SQL编辑器中输入SQL
|
||||
2. 等待几秒
|
||||
3. 刷新页面或重新打开应用
|
||||
|
||||
**预期结果**:
|
||||
- ✅ SQL内容自动保存
|
||||
- ✅ 重新打开后SQL内容恢复
|
||||
|
||||
**优先级**:P1
|
||||
|
||||
---
|
||||
|
||||
## 六、结果面板测试
|
||||
|
||||
### TC-018: 结果显示
|
||||
|
||||
**前置条件**:
|
||||
- 已执行SQL查询
|
||||
|
||||
**测试步骤**:
|
||||
1. 执行查询
|
||||
2. 查看结果面板
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 结果正确显示
|
||||
- ✅ 结果格式正确(表格/JSON/列表)
|
||||
- ✅ 可以切换"结果"和"消息"Tab
|
||||
- ✅ 可以切换"结果"和"结构"Tab
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
### TC-019: 大数据量结果
|
||||
|
||||
**前置条件**:
|
||||
- 已创建连接
|
||||
- 表中存在大量数据
|
||||
|
||||
**测试步骤**:
|
||||
1. 执行查询大量数据的SQL
|
||||
2. 查看结果面板
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 结果正确显示
|
||||
- ✅ 性能可接受(不卡顿)
|
||||
- ✅ 可以分页或滚动查看
|
||||
|
||||
**优先级**:P1
|
||||
|
||||
---
|
||||
|
||||
## 七、测试连接功能测试
|
||||
|
||||
### TC-020: 右键菜单测试连接
|
||||
|
||||
**前置条件**:
|
||||
- 已存在至少一个连接
|
||||
|
||||
**测试步骤**:
|
||||
1. 右键点击连接节点
|
||||
2. 选择"测试连接"
|
||||
|
||||
**预期结果**:
|
||||
- ✅ 显示测试结果(成功/失败)
|
||||
- ✅ 成功时显示"连接测试成功"
|
||||
- ✅ 失败时显示错误信息
|
||||
|
||||
**优先级**:P0
|
||||
|
||||
---
|
||||
|
||||
## 八、书签和模板测试 ❌ 已废弃
|
||||
|
||||
**说明**:书签和模板功能已删除,以下测试用例已废弃。
|
||||
|
||||
### TC-021: 书签管理 ❌ 已废弃
|
||||
|
||||
**状态**:功能已删除
|
||||
|
||||
### TC-022: SQL模板管理 ❌ 已废弃
|
||||
|
||||
**状态**:功能已删除
|
||||
|
||||
---
|
||||
|
||||
## 九、测试检查清单
|
||||
|
||||
### 功能测试
|
||||
- [ ] TC-001: 创建数据库连接
|
||||
- [ ] TC-002: 编辑数据库连接
|
||||
- [ ] TC-003: 删除数据库连接
|
||||
- [ ] TC-004: 连接列表加载
|
||||
- [ ] TC-005: MySQL查询执行
|
||||
- [ ] TC-006: Redis命令执行
|
||||
- [ ] TC-007: MongoDB查询执行
|
||||
- [ ] TC-008: SQL执行错误处理
|
||||
- [ ] TC-009: MySQL表结构查看
|
||||
- [ ] TC-010: MongoDB集合结构查看
|
||||
- [ ] TC-011: Redis Key信息查看
|
||||
- [ ] TC-012: 连接节点右键菜单
|
||||
- [ ] TC-013: 数据库节点右键菜单
|
||||
- [ ] TC-014: 表节点右键菜单
|
||||
- [ ] TC-015: 菜单项功能测试
|
||||
- [ ] ~~TC-016: 多Tab编辑器~~(暂时移除,仅保留一个编辑区)
|
||||
- [ ] TC-017: SQL自动保存
|
||||
- [ ] TC-018: 结果显示
|
||||
- [ ] TC-019: 大数据量结果
|
||||
- [ ] TC-020: 右键菜单测试连接
|
||||
- [ ] ~~TC-021: 书签管理~~(已废弃,功能已删除)
|
||||
- [ ] ~~TC-022: SQL模板管理~~(已废弃,功能已删除)
|
||||
|
||||
### 集成测试
|
||||
- [ ] 连接管理 → SQL执行流程
|
||||
- [ ] 右键菜单 → 表结构查看流程
|
||||
- [ ] SQL执行 → 结果显示流程
|
||||
|
||||
### 性能测试
|
||||
- [ ] 大数据量查询性能
|
||||
- [ ] ~~多Tab编辑器性能~~(暂时移除)
|
||||
- [ ] 连接列表加载性能
|
||||
|
||||
---
|
||||
|
||||
## 十、测试环境
|
||||
|
||||
### 数据库环境
|
||||
- MySQL 8.0+
|
||||
- Redis 6.0+
|
||||
- MongoDB 4.4+
|
||||
|
||||
### 测试数据
|
||||
- MySQL:至少包含一个数据库和一个表
|
||||
- Redis:至少包含一个Key
|
||||
- MongoDB:至少包含一个集合
|
||||
|
||||
---
|
||||
|
||||
## 十一、测试报告
|
||||
|
||||
**测试日期**:待填写
|
||||
**测试人员**:待填写
|
||||
**测试结果**:待填写
|
||||
|
||||
Reference in New Issue
Block a user