468 lines
8.8 KiB
Markdown
468 lines
8.8 KiB
Markdown
# 功能测试用例
|
||
|
||
**创建日期**: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:至少包含一个集合
|
||
|
||
---
|
||
|
||
## 十一、测试报告
|
||
|
||
**测试日期**:待填写
|
||
**测试人员**:待填写
|
||
**测试结果**:待填写
|
||
|