MTClaw全量测试框架

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

测试流程

  1. 环境准备: 创建必要的目录结构
  2. 配置加载: 加载员工配置和测试参数
  3. 用例生成: 为每个员工生成测试用例
  4. 测试执行: 执行三种执行模式的性能测试
  5. 数据收集: 收集响应时间、成功率等指标
  6. 报告生成: 生成HTML、CSV、JSON格式报告
  7. 结果分析: 计算加速比和性能改进

执行模式说明

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}
  }
}

扩展和定制

添加新的测试场景

  1. test_case_generator.py_generate_test_input 方法中添加新的能力类型
  2. _generate_expected_output 方法中添加对应的期望输出
  3. _get_validation_rules 方法中添加验证规则

修改测试逻辑

  1. test_execution_engine.py 中修改三种执行模式的实现
  2. 更新 execute_test_case 方法以支持新的测试逻辑
  3. 修改 calculate_statistics 方法以计算新的性能指标

自定义报告格式

  1. run_full_test.py_generate_html_report 方法中修改HTML模板
  2. _generate_csv_report 方法中修改CSV格式
  3. 添加新的报告格式生成方法

故障排除

常见问题

  1. 测试执行失败
  • 检查MTClaw服务是否正常运行
  • 验证配置文件路径是否正确
  • 查看日志文件获取详细错误信息
  1. 性能数据异常
  • 检查网络连接和延迟
  • 验证测试环境配置
  • 确保有足够的系统资源
  1. 报告生成失败
  • 检查输出目录权限
  • 验证测试结果数据格式
  • 查看Python依赖是否完整安装

日志文件

测试日志保存在 logs/ 目录,文件名格式为 mtclaw_full_test_YYYYMMDD_HHMMSS.log

调试模式

设置环境变量 LOG_LEVEL=DEBUG 以启用详细日志:

set LOG_LEVEL=DEBUG
python run_full_test.py

性能优化建议

  1. 并发测试: 适当增加 concurrency 参数以加快测试速度
  2. 减少迭代: 对于稳定性测试,可以减少 iterations 参数
  3. 预热迭代: 使用 warmup_iterations 避免冷启动影响
  4. 资源监控: 监控系统资源使用情况,避免资源瓶颈

贡献指南

  1. Fork本仓库
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

许可证

本项目基于MIT许可证开源。

支持

如有问题或建议,请提交Issue或联系项目维护者。

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁