296 lines
10 KiB
Markdown
296 lines
10 KiB
Markdown
# 多Agent系统测试用例
|
||
|
||
## 测试概述
|
||
|
||
### 测试目标
|
||
验证多Agent系统的核心功能、角色协作、项目管理和系统稳定性。
|
||
|
||
### 测试环境
|
||
- **系统**:Windows 10/11
|
||
- **OpenClaw版本**:2026.3.24
|
||
- **测试目录**:`D:\openclaw-multi-agent\`
|
||
- **测试时间**:2026-03-31
|
||
|
||
### 测试策略
|
||
1. **功能测试**:验证各角色基本功能
|
||
2. **集成测试**:验证角色间协作
|
||
3. **性能测试**:验证系统响应和资源使用
|
||
4. **稳定性测试**:验证长时间运行稳定性
|
||
|
||
## 测试用例列表
|
||
|
||
### TC-001:系统启动测试
|
||
**测试目标**:验证系统能够正常启动所有角色
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 运行 `start-all.bat` | 打开4个命令行窗口 | | |
|
||
| 2. 检查PM窗口标题 | 窗口标题包含"PM角色" | | |
|
||
| 3. 检查BE窗口标题 | 窗口标题包含"Backend角色" | | |
|
||
| 4. 检查FE窗口标题 | 窗口标题包含"Frontend角色" | | |
|
||
| 5. 检查QA窗口标题 | 窗口标题包含"QA角色" | | |
|
||
| 6. 检查各窗口OpenClaw版本 | 显示OpenClaw 2026.3.24 | | |
|
||
|
||
### TC-002:单个角色启动测试
|
||
**测试目标**:验证单个角色能够独立启动
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 运行 `start-pm.bat` | 打开PM角色窗口 | | |
|
||
| 2. 在窗口中输入 `openclaw --version` | 显示版本信息 | | |
|
||
| 3. 运行 `start-backend.bat` | 打开BE角色窗口 | | |
|
||
| 4. 运行 `start-frontend.bat` | 打开FE角色窗口 | | |
|
||
| 5. 运行 `start-qa.bat` | 打开QA角色窗口 | | |
|
||
|
||
### TC-003:文件系统访问测试
|
||
**测试目标**:验证各角色能够访问共享目录
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 在PM窗口中查看共享目录 | 显示shared目录内容 | | |
|
||
| 2. 在BE窗口中查看任务目录 | 显示tasks目录内容 | | |
|
||
| 3. 在FE窗口中查看设计目录 | 显示designs目录内容 | | |
|
||
| 4. 在QA窗口中查看报告目录 | 显示reports目录内容 | | |
|
||
| 5. 验证各角色可写入共享目录 | 创建测试文件成功 | | |
|
||
|
||
### TC-004:消息路由测试
|
||
**测试目标**:验证消息前缀路由功能
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 在PM窗口中输入 `[PM] 测试消息` | PM角色响应测试消息 | | |
|
||
| 2. 在BE窗口中输入 `[BE] 测试接口` | BE角色响应测试消息 | | |
|
||
| 3. 在FE窗口中输入 `[FE] 测试页面` | FE角色响应测试消息 | | |
|
||
| 4. 在QA窗口中输入 `[QA] 测试功能` | QA角色响应测试消息 | | |
|
||
| 5. 测试错误前缀 `[XXX] 测试` | 提示未知前缀或忽略 | | |
|
||
|
||
### TC-005:任务创建测试
|
||
**测试目标**:验证PM能够创建新任务
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 在PM窗口中输入 `[PM] 创建测试任务` | 创建新任务文件 | | |
|
||
| 2. 检查shared/tasks目录 | 新增TASK-YYYYMMDD-xxx.md文件 | | |
|
||
| 3. 验证任务文件格式 | 包含任务ID、描述、状态等字段 | | |
|
||
| 4. 查看任务状态 | 状态为"todo" | | |
|
||
| 5. 验证任务可读性 | 任务描述清晰明确 | | |
|
||
|
||
### TC-006:任务分配测试
|
||
**测试目标**:验证PM能够分配任务给开发角色
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. PM创建测试任务 | 任务文件创建成功 | | |
|
||
| 2. PM分配任务给BE | 任务指派信息更新 | | |
|
||
| 3. BE查看分配的任务 | 显示新分配的任务 | | |
|
||
| 4. BE开始处理任务 | 任务状态更新为"in-progress" | | |
|
||
| 5. 验证状态同步 | 所有角色看到相同状态 | | |
|
||
|
||
### TC-007:开发协作测试
|
||
**测试目标**:验证前后端开发协作流程
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. BE开始开发接口 | 在shared/code/backend创建文件 | | |
|
||
| 2. FE开始开发页面 | 在shared/code/frontend创建文件 | | |
|
||
| 3. BE请求联调 | 发送联调请求消息 | | |
|
||
| 4. FE响应联调 | 确认联调并测试接口 | | |
|
||
| 5. 验证代码可运行 | 代码无语法错误 | | |
|
||
|
||
### TC-008:测试流程测试
|
||
**测试目标**:验证QA测试流程
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 开发完成,标记为待测试 | 任务状态更新为"testing" | | |
|
||
| 2. QA查看待测试任务 | 显示待测试任务列表 | | |
|
||
| 3. QA开始测试 | 创建测试计划 | | |
|
||
| 4. QA执行测试 | 记录测试结果 | | |
|
||
| 5. QA提交测试报告 | 在shared/reports创建报告文件 | | |
|
||
| 6. 报告缺陷 | 如有缺陷,记录缺陷信息 | | |
|
||
|
||
### TC-009:验收流程测试
|
||
**测试目标**:验证PM验收流程
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 测试通过,标记为待验收 | 任务状态更新为"review" | | |
|
||
| 2. PM查看待验收任务 | 显示待验收任务 | | |
|
||
| 3. PM验收功能 | 验证功能符合需求 | | |
|
||
| 4. PM更新任务状态 | 状态更新为"done" | | |
|
||
| 5. 归档任务文档 | 任务文档整理归档 | | |
|
||
|
||
### TC-010:并行项目测试
|
||
**测试目标**:验证系统支持并行处理多个项目
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 创建项目A任务 | 项目A任务创建成功 | | |
|
||
| 2. 创建项目B任务 | 项目B任务创建成功 | | |
|
||
| 3. 同时处理两个项目 | 两个项目独立处理,互不干扰 | | |
|
||
| 4. 验证资源分配 | 系统资源合理分配 | | |
|
||
| 5. 验证数据隔离 | 项目数据不互相污染 | | |
|
||
|
||
### TC-011:系统性能测试
|
||
**测试目标**:验证系统性能指标
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 测量启动时间 | 所有角色在10秒内启动 | | |
|
||
| 2. 测量任务创建响应 | 任务创建<1秒 | | |
|
||
| 3. 测量文件操作响应 | 文件读写<100ms | | |
|
||
| 4. 测量内存使用 | 每个角色<300MB | | |
|
||
| 5. 测量CPU使用 | 空闲时<5%,繁忙时<30% | | |
|
||
|
||
### TC-012:系统稳定性测试
|
||
**测试目标**:验证系统长时间运行稳定性
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 连续运行4小时 | 系统无崩溃 | | |
|
||
| 2. 频繁创建/删除任务 | 文件系统无错误 | | |
|
||
| 3. 模拟网络中断 | 系统自动恢复 | | |
|
||
| 4. 模拟磁盘空间不足 | 优雅处理错误 | | |
|
||
| 5. 重启测试 | 重启后数据不丢失 | | |
|
||
|
||
### TC-013:错误处理测试
|
||
**测试目标**:验证系统错误处理能力
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 创建无效任务格式 | 提示格式错误 | | |
|
||
| 2. 分配不存在的任务 | 提示任务不存在 | | |
|
||
| 3. 访问不存在的目录 | 提示目录不存在 | | |
|
||
| 4. 模拟权限错误 | 提示权限不足 | | |
|
||
| 5. 输入无效命令 | 提示命令无效 | | |
|
||
|
||
### TC-014:备份恢复测试
|
||
**测试目标**:验证数据备份和恢复功能
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 执行数据备份 | 创建备份文件 | | |
|
||
| 2. 修改系统数据 | 数据发生变化 | | |
|
||
| 3. 执行数据恢复 | 数据恢复到备份状态 | | |
|
||
| 4. 验证数据一致性 | 恢复后数据与备份一致 | | |
|
||
| 5. 测试增量备份 | 只备份变化的数据 | | |
|
||
|
||
### TC-015:扩展性测试
|
||
**测试目标**:验证系统扩展能力
|
||
|
||
| 测试步骤 | 预期结果 | 实际结果 | 状态 |
|
||
|----------|----------|----------|------|
|
||
| 1. 添加新角色目录 | 新角色目录创建成功 | | |
|
||
| 2. 为新角色创建SOUL.md | 角色定义文件创建成功 | | |
|
||
| 3. 启动新角色 | 新角色正常启动 | | |
|
||
| 4. 测试新角色功能 | 新角色功能正常 | | |
|
||
| 5. 验证集成性 | 新角色与其他角色协作正常 | | |
|
||
|
||
## 测试执行记录
|
||
|
||
### 测试环境准备
|
||
- [ ] 确认测试目录存在:`D:\openclaw-multi-agent\`
|
||
- [ ] 确认OpenClaw已安装:`openclaw --version`
|
||
- [ ] 清理测试数据(如有)
|
||
- [ ] 准备测试记录表格
|
||
|
||
### 测试执行计划
|
||
| 测试阶段 | 测试用例 | 计划时间 | 负责人 | 状态 |
|
||
|----------|----------|----------|--------|------|
|
||
| 第一阶段 | TC-001 ~ TC-005 | 20:45-20:55 | 橙子 | 待执行 |
|
||
| 第二阶段 | TC-006 ~ TC-010 | 20:55-21:05 | 橙子 | 待执行 |
|
||
| 第三阶段 | TC-011 ~ TC-015 | 21:05-21:15 | 橙子 | 待执行 |
|
||
| 总结阶段 | 测试报告编写 | 21:15-21:25 | 橙子 | 待执行 |
|
||
|
||
## 测试工具准备
|
||
|
||
### 监控工具
|
||
```bash
|
||
# 监控系统资源
|
||
tasklist | findstr openclaw
|
||
wmic process where name="node.exe" get workingsetsize
|
||
|
||
# 监控文件变化
|
||
dir /s D:\openclaw-multi-agent\shared\tasks
|
||
```
|
||
|
||
### 日志记录
|
||
```bash
|
||
# 记录测试过程
|
||
echo [%date% %time%] 开始测试 >> test-log.txt
|
||
```
|
||
|
||
## 风险评估
|
||
|
||
### 高风险项目
|
||
1. **数据丢失风险**:测试可能修改或删除现有数据
|
||
- **缓解措施**:测试前备份重要数据
|
||
|
||
2. **系统崩溃风险**:测试可能导致系统不稳定
|
||
- **缓解措施**:分阶段测试,及时恢复
|
||
|
||
3. **资源耗尽风险**:性能测试可能耗尽系统资源
|
||
- **缓解措施**:监控资源使用,及时停止
|
||
|
||
### 测试限制
|
||
1. 无法测试真实用户并发
|
||
2. 无法测试大规模数据场景
|
||
3. 依赖本地环境,网络测试有限
|
||
|
||
## 通过标准
|
||
|
||
### 必须通过
|
||
- [ ] TC-001:系统启动测试
|
||
- [ ] TC-002:单个角色启动测试
|
||
- [ ] TC-003:文件系统访问测试
|
||
- [ ] TC-004:消息路由测试
|
||
- [ ] TC-005:任务创建测试
|
||
|
||
### 重要通过
|
||
- [ ] TC-006:任务分配测试
|
||
- [ ] TC-007:开发协作测试
|
||
- [ ] TC-008:测试流程测试
|
||
- [ ] TC-009:验收流程测试
|
||
|
||
### 期望通过
|
||
- [ ] TC-010:并行项目测试
|
||
- [ ] TC-011:系统性能测试
|
||
- [ ] TC-012:系统稳定性测试
|
||
- [ ] TC-013:错误处理测试
|
||
|
||
## 测试报告模板
|
||
|
||
### 测试总结
|
||
```
|
||
测试日期:2026-03-31
|
||
测试版本:v1.0
|
||
测试人员:橙子
|
||
通过率:X/Y (X%)
|
||
|
||
### 关键发现
|
||
1. [发现1]
|
||
2. [发现2]
|
||
3. [发现3]
|
||
|
||
### 建议改进
|
||
1. [建议1]
|
||
2. [建议2]
|
||
3. [建议3]
|
||
|
||
### 风险评估
|
||
- 高风险:X个
|
||
- 中风险:Y个
|
||
- 低风险:Z个
|
||
|
||
### 发布建议
|
||
□ 可以发布
|
||
□ 需要修复关键问题
|
||
□ 需要重新测试
|
||
```
|
||
|
||
---
|
||
|
||
**测试计划版本**:v1.0
|
||
**创建时间**:2026-03-31 20:44
|
||
**预计完成时间**:2026-03-31 21:25
|
||
**测试负责人**:橙子(龙虾助手)🦞🍊 |