MTClaw全量测试框架
用于对全部43个数字员工进行MTClaw加速效果对比测试的自动化测试框架。
功能特性
- ✅ 完整覆盖: 支持全部43个数字员工的测试
- ✅ 三种执行模式: 原始路径、路由决策、端侧执行
- ✅ 性能对比: 精确测量响应时间和加速比
- ✅ 自动化测试: 一键执行完整测试套件
- ✅ 多格式报告: HTML、PDF、CSV格式测试报告
- ✅ 数据收集: 完整的性能数据收集和分析
- ✅ 可配置: 支持自定义测试参数和配置
目录结构
D:\bossagents\
├── config/
│ ├── mtclaw_config.json # MTClaw测试配置
│ └── test_environment.json # 测试环境配置
├── test_data/
│ ├── digital_staffs/ # 数字员工测试工作负载
│ └── generated_cases/ # 生成的测试用例
├── results/
│ ├── raw_data/ # 原始测试结果
│ ├── processed/ # 处理后的数据
│ └── reports/ # 测试报告
├── logs/ # 测试日志
├── test_suite_manager.py # 测试套件管理器
├── test_case_generator.py # 测试用例生成器
├── test_execution_engine.py # 测试执行引擎
├── run_full_test.py # 主测试脚本
├── requirements.txt # Python依赖
└── README_MTCLAW_TEST.md # 本文档
快速开始
1. 安装依赖
pip install -r requirements.txt
2. 配置测试参数
编辑 config/mtclaw_config.json 文件:
{
"mtclaw": {
"enabled": true,
"base_url": "http://127.0.0.1:18790/v1",
"completion_mode": "permissive"
},
"test": {
"iterations": 10,
"concurrency": 1,
"timeout_per_test_seconds": 30
}
}
3. 运行完整测试
python run_full_test.py
4. 查看测试报告
测试完成后,报告将生成在 results/reports/ 目录:
mtclaw_test_report_YYYYMMDD_HHMMSS.html- HTML格式报告mtclaw_test_report_YYYYMMDD_HHMMSS.csv- CSV格式数据mtclaw_test_report_YYYYMMDD_HHMMSS.json- JSON格式数据
命令行参数
# 基本用法
python run_full_test.py
# 指定配置文件
python run_full_test.py --config config/custom_config.json
# 指定员工ID(测试特定员工)
python run_full_test.py --staff DS-DATA-001 DS-SCSAI-001
# 指定迭代次数
python run_full_test.py --iterations 5
# 指定并发数
python run_full_test.py --concurrency 3
# 跳过报告生成
python run_full_test.py --skip-report
# 干运行模式(只生成测试用例不执行)
python run_full_test.py --dry-run
测试流程
- 环境准备: 创建必要的目录结构
- 配置加载: 加载员工配置和测试参数
- 用例生成: 为每个员工生成测试用例
- 测试执行: 执行三种执行模式的性能测试
- 数据收集: 收集响应时间、成功率等指标
- 报告生成: 生成HTML、CSV、JSON格式报告
- 结果分析: 计算加速比和性能改进
执行模式说明
1. 原始路径 (Original Path)
- 直接调用左帮右臂工具服务
- 作为性能基准参考
- 模拟传统调用方式
2. 路由决策 (Routing Decision)
- 调用MTClaw路由决策服务
- 根据操作类型决定执行路径
- 平衡性能和准确性
3. 端侧执行 (Edge Execution)
- 调用MTClaw端侧执行服务
- 高频确定性操作在端侧执行
- 实现最大性能加速
性能指标
- 响应时间: 每种执行模式的平均响应时间
- 成功率: 测试执行的成功率
- 加速比: 原始路径 vs MTClaw模式的性能提升
- 稳定性: 响应时间的标准差
- 冷热启动: 首次执行 vs 后续执行的性能差异
测试报告内容
HTML报告包含:
- 测试摘要和总体统计
- 各执行模式的性能对比
- 加速比分析图表
- 详细测试结果表格
- 结论和建议
CSV报告包含:
- 每个测试用例的详细数据
- 响应时间、成功率等原始指标
- 便于进一步分析的数据格式
JSON报告包含:
- 完整的测试元数据
- 统计计算结果
- 性能改进分析
配置说明
mtclaw_config.json
{
"mtclaw": {
"enabled": true, # 是否启用MTClaw
"base_url": "http://127.0.0.1:18790/v1", # MTClaw服务地址
"completion_mode": "permissive", # 完成模式
"routing_strategy": "hybrid", # 路由策略
"edge_execution_threshold_ms": 500 # 端侧执行阈值
},
"test": {
"iterations": 10, # 每个测试的迭代次数
"concurrency": 1, # 并发测试数
"timeout_per_test_seconds": 30, # 单次测试超时时间
"total_timeout_hours": 4, # 总测试超时时间
"warmup_iterations": 2 # 预热迭代次数
}
}
test_environment.json
{
"hardware": {
"cpu": {"model": "Intel(R) Core(TM) i7-12700H"},
"memory": {"total_gb": 32},
"gpu": {"model": "NVIDIA GeForce RTX 3060"}
},
"software": {
"os": {"name": "Windows 11"},
"node": {"version": "18.17.0"}
},
"network": {
"latency_ms": 50,
"mtclaw_service": {"host": "127.0.0.1", "port": 18790}
}
}
扩展和定制
添加新的测试场景
- 在
test_case_generator.py的_generate_test_input方法中添加新的能力类型 - 在
_generate_expected_output方法中添加对应的期望输出 - 在
_get_validation_rules方法中添加验证规则
修改测试逻辑
- 在
test_execution_engine.py中修改三种执行模式的实现 - 更新
execute_test_case方法以支持新的测试逻辑 - 修改
calculate_statistics方法以计算新的性能指标
自定义报告格式
- 在
run_full_test.py的_generate_html_report方法中修改HTML模板 - 在
_generate_csv_report方法中修改CSV格式 - 添加新的报告格式生成方法
故障排除
常见问题
- 测试执行失败
- 检查MTClaw服务是否正常运行
- 验证配置文件路径是否正确
- 查看日志文件获取详细错误信息
- 性能数据异常
- 检查网络连接和延迟
- 验证测试环境配置
- 确保有足够的系统资源
- 报告生成失败
- 检查输出目录权限
- 验证测试结果数据格式
- 查看Python依赖是否完整安装
日志文件
测试日志保存在 logs/ 目录,文件名格式为 mtclaw_full_test_YYYYMMDD_HHMMSS.log
调试模式
设置环境变量 LOG_LEVEL=DEBUG 以启用详细日志:
set LOG_LEVEL=DEBUG
python run_full_test.py
性能优化建议
- 并发测试: 适当增加
concurrency参数以加快测试速度 - 减少迭代: 对于稳定性测试,可以减少
iterations参数 - 预热迭代: 使用
warmup_iterations避免冷启动影响 - 资源监控: 监控系统资源使用情况,避免资源瓶颈
贡献指南
- Fork本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启Pull Request
许可证
本项目基于MIT许可证开源。
支持
如有问题或建议,请提交Issue或联系项目维护者。
BossAgents