199 lines
5.0 KiB
Markdown
199 lines
5.0 KiB
Markdown
# dev-workflow 集成测试指南
|
||
|
||
## 测试场景
|
||
|
||
### 场景1: 开发简单CLI工具(通用项目)
|
||
|
||
**目标**: 使用 dev-workflow 开发一个简单的待办事项CLI工具
|
||
|
||
**测试步骤**:
|
||
|
||
```bash
|
||
# 1. 初始化工作流
|
||
cd ~/work/kb-skills/dev-workflow
|
||
python3 orchestrator.py --init "开始开发一个简单的待办事项CLI工具,支持添加、列出、完成任务" --project-name "todo-cli"
|
||
|
||
# 2. 模拟头脑风暴(Phase 1)
|
||
# 主Agent应进入问答循环,收集需求
|
||
|
||
# 3. 方案设计(Phase 2)
|
||
# 应启动3个子代理设计方案
|
||
|
||
# 4-9. 后续阶段
|
||
# 按流程完成各阶段
|
||
```
|
||
|
||
**验收标准**:
|
||
- [ ] 生成可运行的 todo.py
|
||
- [ ] 支持 add/list/done 命令
|
||
- [ ] 有单元测试
|
||
- [ ] 代码通过审查
|
||
|
||
---
|
||
|
||
### 场景2: 开发新kb-skill(技能项目)
|
||
|
||
**目标**: 使用 dev-workflow 开发一个简单的 kb-hello 技能
|
||
|
||
**测试步骤**:
|
||
|
||
```bash
|
||
# 1. 初始化工作流
|
||
cd ~/work/kb-skills
|
||
python3 dev-workflow/orchestrator.py --init "开始开发一个新的kb-skill,名称为kb-hello,功能是向用户问好" --project-name "kb-hello"
|
||
|
||
# 2-9. 按流程完成
|
||
```
|
||
|
||
**验收标准**:
|
||
- [ ] 创建 kb-hello/SKILL.md
|
||
- [ ] SKILL.md 符合规范
|
||
- [ ] 有示例使用说明
|
||
- [ ] 文档完整
|
||
|
||
---
|
||
|
||
## 快速验证脚本
|
||
|
||
```bash
|
||
#!/bin/bash
|
||
# quick_test.sh - 快速验证dev-workflow基本功能
|
||
|
||
set -e
|
||
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo " DEV-WORKFLOW 快速验证"
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
||
# 1. 检查文件结构
|
||
echo ""
|
||
echo "1. 检查文件结构..."
|
||
required_files=(
|
||
"SKILL.md"
|
||
"state_manager.py"
|
||
"orchestrator.py"
|
||
"prompts/brainstorming.md"
|
||
"prompts/solution-design.md"
|
||
"prompts/solution-review.md"
|
||
"prompts/solution-report.md"
|
||
"prompts/spec-planning.md"
|
||
"prompts/parallel-development.md"
|
||
"prompts/testing.md"
|
||
"prompts/code-review.md"
|
||
"prompts/fix-verification.md"
|
||
)
|
||
|
||
all_found=true
|
||
for file in "${required_files[@]}"; do
|
||
if [ -f "$file" ]; then
|
||
echo " ✓ $file"
|
||
else
|
||
echo " ✗ $file (缺失)"
|
||
all_found=false
|
||
fi
|
||
done
|
||
|
||
if [ "$all_found" = false ]; then
|
||
echo "❌ 文件检查失败"
|
||
exit 1
|
||
fi
|
||
|
||
# 2. 运行单元测试
|
||
echo ""
|
||
echo "2. 运行单元测试..."
|
||
python3 test_dev_workflow.py
|
||
|
||
# 3. 测试状态管理
|
||
echo ""
|
||
echo "3. 测试状态管理..."
|
||
python3 -c "
|
||
from state_manager import init_state, load_state, set_phase, complete_phase
|
||
|
||
# 初始化
|
||
state = init_state('测试项目', '测试消息')
|
||
print(f' ✓ 初始化状态: Phase {state[\"current_phase\"]}')
|
||
|
||
# 设置阶段
|
||
set_phase(3)
|
||
state = load_state()
|
||
print(f' ✓ 设置阶段: Phase {state[\"current_phase\"]}')
|
||
|
||
# 完成阶段
|
||
complete_phase(3)
|
||
state = load_state()
|
||
print(f' ✓ 完成阶段: Phase 3, 当前 Phase {state[\"current_phase\"]}')
|
||
"
|
||
|
||
# 4. 测试编排器
|
||
echo ""
|
||
echo "4. 测试编排器..."
|
||
python3 -c "
|
||
from orchestrator import DevWorkflowOrchestrator
|
||
import tempfile
|
||
import os
|
||
|
||
with tempfile.TemporaryDirectory() as tmpdir:
|
||
os.chdir(tmpdir)
|
||
|
||
orch = DevWorkflowOrchestrator()
|
||
orch.initialize('测试消息', '测试项目')
|
||
print(' ✓ 编排器初始化成功')
|
||
|
||
# 检查阶段方法
|
||
for i in range(1, 10):
|
||
method = f'run_phase_{i}'
|
||
if hasattr(orch, method):
|
||
print(f' ✓ {method} 存在')
|
||
else:
|
||
print(f' ✗ {method} 缺失')
|
||
"
|
||
|
||
echo ""
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo " ✅ 快速验证通过"
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
```
|
||
|
||
---
|
||
|
||
## 手动测试清单
|
||
|
||
### 基础功能
|
||
|
||
- [ ] SKILL.md 触发词正确定义
|
||
- [ ] 状态文件正确初始化
|
||
- [ ] 阶段转换正确工作
|
||
- [ ] 重试逻辑正确(最多3次)
|
||
- [ ] 状态恢复正确工作
|
||
|
||
### Prompt模板
|
||
|
||
- [ ] 头脑风暴prompt包含问答策略
|
||
- [ ] 方案设计prompt包含3种类型
|
||
- [ ] 方案审核prompt包含交叉审核逻辑
|
||
- [ ] Spec编排prompt包含依赖分析
|
||
- [ ] 代码审查prompt包含完整维度
|
||
|
||
### 子代理集成
|
||
|
||
- [ ] 可以启动子代理(sessions_spawn)
|
||
- [ ] 子代理结果正确收集
|
||
- [ ] 并行执行正确工作
|
||
- [ ] 失败重试正确触发
|
||
|
||
---
|
||
|
||
## 已知限制
|
||
|
||
1. **子代理集成**: 当前代码提供了子代理启动框架,但实际需要与 OpenClaw sessions_spawn 集成
|
||
2. **实际执行**: 完整的9阶段流程需要实际运行环境
|
||
3. **测试覆盖**: 单元测试覆盖了核心逻辑,端到端测试需要手动执行
|
||
|
||
---
|
||
|
||
## 下一步
|
||
|
||
1. **实际测试**: 在真实项目中使用 dev-workflow
|
||
2. **优化prompt**: 根据实际效果调整各阶段prompt
|
||
3. **收集反馈**: 记录使用中的问题和改进点
|