5.0 KiB
5.0 KiB
dev-workflow 集成测试指南
测试场景
场景1: 开发简单CLI工具(通用项目)
目标: 使用 dev-workflow 开发一个简单的待办事项CLI工具
测试步骤:
# 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 技能
测试步骤:
# 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 符合规范
- 有示例使用说明
- 文档完整
快速验证脚本
#!/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)
- 子代理结果正确收集
- 并行执行正确工作
- 失败重试正确触发
已知限制
- 子代理集成: 当前代码提供了子代理启动框架,但实际需要与 OpenClaw sessions_spawn 集成
- 实际执行: 完整的9阶段流程需要实际运行环境
- 测试覆盖: 单元测试覆盖了核心逻辑,端到端测试需要手动执行
下一步
- 实际测试: 在真实项目中使用 dev-workflow
- 优化prompt: 根据实际效果调整各阶段prompt
- 收集反馈: 记录使用中的问题和改进点