测试协调器Skill test-orchestrator

负责协调和执行系统内所有类型的测试活动,确保测试覆盖率和质量标准,适用于创建测试计划、实施测试(单元/集成/E2E)以及执行覆盖率要求。

测试 0 次安装 0 次浏览 更新于 3/3/2026

测试协调器技能

角色

作为QA负责人,协调系统内所有测试活动。

职责

  1. 测试策略

    • 定义测试计划
    • 协调测试执行
    • 管理测试环境
    • 跟踪覆盖率指标
  2. 测试自动化

    • 单元测试协调
    • 集成测试套件
    • E2E测试场景
    • 性能测试
  3. 质量门

    • 定义接受标准
    • 强制覆盖率阈值
    • 阻止失败构建
    • 报告质量指标
  4. 上下文维护

    ai-state/active/testing/
    ├── test-plans.json     # 测试策略
    ├── coverage.json       # 覆盖率指标
    ├── results.json        # 测试结果
    └── tasks/             # 活跃测试任务
    

技能协调

可用测试技能

  • unit-test-skill - 单元测试创建
  • integration-test-skill - 集成测试
  • e2e-test-skill - 端到端场景
  • performance-test-skill - 负载/压力测试
  • security-test-skill - 安全验证

上下文包到技能

上下文:
  task_id: "task-004-testing"
  组件: "authentication"
  测试要求:
    单元: ["所有公共方法", ">80%覆盖率"]
    集成: ["数据库操作", "API调用"]
    e2e: ["登录流程", "密码重置"]
    性能: ["100并发用户", "<200ms响应"]
  标准:
    - "testing-requirements.md"
  现有测试:
    覆盖率: 65%
    失败: ["test_login_invalid"]

任务处理流程

  1. 接收任务

    • 识别组件
    • 审查要求
    • 检查现有测试
  2. 创建测试计划

    • 定义测试场景
    • 设置覆盖目标
    • 确定测试数据
  3. 分配给技能

    • 分配测试类型
    • 设置优先级
    • 定义时间线
  4. 执行测试

    • 运行测试套件
    • 监控执行
    • 收集结果
  5. 验证质量

    • 检查覆盖率
    • 审查失败
    • 验证修复
    • 生成报告

测试类别

单元测试

  • [ ] 所有公共方法测试
  • [ ] 覆盖边缘情况
  • [ ] 正确使用模拟
  • [ ] 快速执行(<1s)
  • [ ] 隔离测试
  • [ ] 清晰的断言

集成测试

  • [ ] 组件交互
  • [ ] 数据库操作
  • [ ] API集成
  • [ ] 消息队列
  • [ ] 文件操作
  • [ ] 外部服务

E2E测试

  • [ ] 用户工作流
  • [ ] 关键路径
  • [ ] 跨浏览器
  • [ ] 移动响应
  • [ ] 错误场景
  • [ ] 恢复流程

性能测试

  • [ ] 负载测试
  • [ ] 压力测试
  • [ ] 峰值测试
  • [ ] 容量测试
  • [ ] 耐久性测试
  • [ ] 可扩展性测试

测试标准

测试质量清单

  • [ ] 描述性测试名称
  • [ ] AAA模式(Arrange, Act, Assert)
  • [ ] 单一断言焦点
  • [ ] 无测试相互依赖
  • [ ] 确定性结果
  • [ ] 有意义的失败

覆盖率要求

  • 单元测试: >80%代码覆盖率
  • 集成: 所有API测试
  • E2E: 关键路径覆盖
  • 性能: 满足SLA
  • 安全: OWASP前10

集成点

与开发协调器

  • 来自任务的测试要求
  • 失败反馈循环
  • 覆盖率报告
  • 质量门

与CI/CD管道

  • 自动化测试执行
  • 构建失败时阻塞
  • 测试结果报告
  • 覆盖率趋势

与人类文档

更新测试文档:

  • 测试计划变更
  • 覆盖率报告
  • 质量指标
  • 测试指南

事件通信

监听

{
  "event": "code.changed",
  "组件": "user-service",
  "影响": ["auth", "profile"],
  "需要测试": true
}

广播

{
  "event": "tests.completed",
  "组件": "user-service",
  "结果": {
    "通过": 145,
    "失败": 2,
    "跳过": 3,
    "覆盖率": "85%"
  },
  "状态": "FAILED"
}

测试执行策略

并行执行

class TestOrchestrator:
    def run_tests(self, suites):
        # 1. 识别独立测试
        # 2. 在工作器间分配
        # 3. 收集结果
        # 4. 聚合覆盖率
        # 5. 生成报告

测试重试逻辑

def retry_failed_tests(failures):
    MAX_RETRIES = 3
    for test in failures:
        for attempt in range(MAX_RETRIES):
            if run_test(test).passed:
                break
        else:
            mark_as_flaky(test)

成功指标

  • 测试执行时间 < 10分钟
  • 覆盖率 > 80%
  • 易变测试率 < 1%
  • 假阳性率 < 0.1%
  • 测试维护时间 < 10%

测试数据管理

策略

  1. 固定装置 - 预定义测试数据
  2. 工厂 - 动态数据生成
  3. 快照 - 基线比较
  4. 模拟 - 外部服务模拟
  5. 存根 - 简化实现

最佳实践

  • 隔离测试数据
  • 测试后清理
  • 使用真实数据
  • 版本测试数据
  • 文档化数据需求

常见测试模式

页面对象模式(E2E)

class LoginPage {
  async login(email: string, password: string) {
    await this.emailInput.fill(email);
    await this.passwordInput.fill(password);
    await this.submitButton.click();
  }
}

测试构建器模式

def test_user_creation():
    user = UserBuilder()
        .with_email("test@example.com")
        .with_role("admin")
        .build()

    assert user.is_valid()

避免的反模式

❌ 依赖于顺序的测试 ❌ 硬编码测试数据 ❌ 测试实现细节 ❌ 慢速测试套件 ❌ 忽略易变测试 ❌ 无测试文档