QCSD精炼群集技能Skill qcsd-refinement-swarm

此技能用于敏捷开发中的冲刺精炼阶段,通过SFDIPOT产品因素分析、BDD场景生成、INVEST需求验证等,评估用户故事是否准备好进入冲刺。关键词:QCSD、精炼、SFDIPOT、BDD、INVEST、敏捷测试、需求验证、冲刺就绪。

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

名称: qcsd-refinement-swarm 描述: “QCSD精炼阶段群集,用于冲刺精炼会议,使用SFDIPOT产品因素、BDD场景生成和需求验证。” 类别: qcsd-phases 优先级: critical 版本: 1.0.0 令牌估计: 3200

DDD领域映射 (来自 QCSD-AGENTIC-QE-MAPPING-FRAMEWORK.md)

领域: 主要: - 领域: requirements-validation 代理: [qe-product-factors-assessor, qe-bdd-generator, qe-requirements-validator] 条件: - 领域: contract-testing 代理: [qe-contract-validator] - 领域: code-intelligence 代理: [qe-impact-analyzer, qe-dependency-mapper] - 领域: enterprise-integration 代理: [qe-middleware-validator, qe-odata-contract-tester, qe-sod-analyzer] 转换: - 领域: test-generation 代理: [qe-test-idea-rewriter]

代理清单

代理: 核心: [qe-product-factors-assessor, qe-bdd-generator, qe-requirements-validator] 条件: [qe-contract-validator, qe-impact-analyzer, qe-dependency-mapper, qe-middleware-validator, qe-odata-contract-tester, qe-sod-analyzer] 转换: [qe-test-idea-rewriter] 总计: 10 子代理: 0 技能: [context-driven-testing, testability-scoring, risk-based-testing]

执行模型 (任务工具是主要的)

执行: 主要: task-tool 替代: [mcp-tools, cli] 群集模式: true 并行批次: 3 最后更新: 2026-02-02 强制级别: strict 标签: [qcsd, refinement, sfdipot, bdd, gherkin, requirements, swarm, parallel, ddd] 信任层级: 3 验证: 架构路径: schemas/output.json 验证器路径: scripts/validate-config.json 评估路径: evals/qcsd-refinement-swarm.yaml


QCSD精炼群集 v1.0

用于冲刺精炼会议的左移质量工程群集。


概述

精炼群集接收通过构思阶段的用户故事,并为冲刺承诺做准备。构思群集使用HTSM质量标准问“我们应该构建这个吗?”,精炼群集则使用SFDIPOT产品因素、BDD场景和INVEST验证问“我们应该如何测试这个?”。

与构思群集的主要区别

维度 构思群集 精炼群集
框架 HTSM v6.3 (10个类别) SFDIPOT (7个因素, 37个子类别)
代理 9 (3个核心 + 6个条件) 10 (3个核心 + 6个条件 + 1个转换)
核心输出 质量标准HTML报告 BDD Gherkin场景
决策 GO / CONDITIONAL / NO-GO READY / CONDITIONAL / NOT-READY
标志 HAS_UI, HAS_SECURITY, HAS_UX, HAS_MIDDLEWARE, HAS_SAP_INTEGRATION, HAS_AUTHORIZATION HAS_API, HAS_REFACTORING, HAS_DEPENDENCIES, HAS_SECURITY, HAS_MIDDLEWARE, HAS_SAP_INTEGRATION, HAS_AUTHORIZATION
阶段 PI规划 / 冲刺规划 冲刺精炼
最终步骤 报告生成 测试想法重写器转换

强制规则 - 首先阅读

这些规则是不可协商的。违反意味着技能执行失败。

规则 强制
E1 你必须在阶段2中启动所有三个核心代理 (qe-product-factors-assessor, qe-bdd-generator, qe-requirements-validator)。没有例外。
E2 你必须将所有并行任务调用放在一个单独的消息中。
E3 你必须在每个批次后停止并等待。不要提前继续。
E4 如果标志为TRUE,你必须启动条件代理。不要跳过。
E5 你必须按照阶段5中指定的方式准确应用READY/CONDITIONAL/NOT-READY逻辑。
E6 你必须生成完整的报告结构。没有缩写版本。
E7 每个代理在分析前必须读取其参考文件。
E8 你必须在阶段8中对所有测试想法应用qe-test-idea-rewriter转换。始终如此。
E9 你必须执行阶段7的学习持久化。在阶段8之前存储精炼发现到内存。不要跳过。

禁止行为:

  • 总结而不是启动代理
  • 为了简洁而跳过代理
  • 在后台任务完成前继续
  • 提供你自己的分析而不是启动专家
  • 省略报告部分
  • 使用占位符文本如"[details here]"
  • 跳过测试想法重写器转换
  • 跳过学习持久化(阶段7)或将其视为可选
  • 自己生成BDD场景而不是使用qe-bdd-generator

阶段1: 分析故事内容 (标志检测)

强制: 你必须在阶段2之前完成此分析。

扫描故事内容并设置这些标志。不要跳过任何标志。

标志检测 (检查所有七个)

HAS_API = FALSE
  如果故事包含任何: API, 端点, REST, GraphQL, 合同,
  集成, webhook, 微服务, 服务间, HTTP, gRPC,
  请求, 响应, 负载, 模式, OpenAPI, Swagger, 消费者, 提供者

HAS_REFACTORING = FALSE
  如果故事包含任何: 重构, 重新架构, 重写,
  迁移, 现代化, 技术债务, 遗留, 重组, 解耦,
  整合, 简化, 提取, 分解, 重新工程

HAS_DEPENDENCIES = FALSE
  如果故事包含任何: 依赖, 耦合, 模块,
  包, 库, 导入, 共享, 跨团队, 上游, 下游,
  第三方, 外部, 供应商, SDK, 插件, 中间件

HAS_SECURITY = FALSE
  如果故事包含任何: 认证, 安全, 凭证, 令牌,
  加密, PII, 合规, 密码, 登录, 会话, OAuth, JWT,
  权限, 角色, 访问控制, RBAC, 敏感, 私有

HAS_MIDDLEWARE = FALSE
  如果故事包含任何: 中间件, ESB, 消息代理, MQ,
  Kafka, RabbitMQ, 集成总线, API网关, 消息队列, 发布/订阅

HAS_SAP_INTEGRATION = FALSE
  如果故事包含任何: SAP, RFC, BAPI, IDoc, OData,
  S/4HANA, EWM, ECC, ABAP, CDS视图, Fiori

HAS_AUTHORIZATION = FALSE
  如果故事包含任何: SoD, 职责分离,
  角色冲突, 授权对象, T-code, 用户角色,
  访问控制矩阵, GRC

验证检查点

在继续到阶段2之前,确认:

+-- 我阅读了整个故事内容
+-- 我评估了所有七个标志
+-- 我记录了哪些标志是TRUE
+-- 我理解了哪些条件代理将被需要

在确认所有复选框之前,不要继续到阶段2。

强制: 输出标志检测结果

你必须在继续前输出标志检测结果:

+-------------------------------------------------------------+
|                    标志检测结果                    |
+-------------------------------------------------------------+
|                                                             |
|  HAS_API:          [TRUE/FALSE]                             |
|  证据:         [触发的内容 - 具体模式]  |
|                                                             |
|  HAS_REFACTORING:  [TRUE/FALSE]                             |
|  证据:         [触发的内容 - 具体模式]  |
|                                                             |
|  HAS_DEPENDENCIES: [TRUE/FALSE]                             |
|  证据:         [触发的内容 - 具体模式]  |
|                                                             |
|  HAS_SECURITY:     [TRUE/FALSE]                             |
|  证据:         [触发的内容 - 具体模式]  |
|                                                             |
|  HAS_MIDDLEWARE:       [TRUE/FALSE]                         |
|  证据:             [触发的内容 - 具体]       |
|                                                             |
|  HAS_SAP_INTEGRATION: [TRUE/FALSE]                         |
|  证据:             [触发的内容 - 具体]       |
|                                                             |
|  HAS_AUTHORIZATION:   [TRUE/FALSE]                         |
|  证据:             [触发的内容 - 具体]       |
|                                                             |
|  预期代理:                                           |
|  - 核心: 3 (总是)                                         |
|  - 条件: [基于TRUE标志的计数]                 |
|  - 转换: 1 (总是)                               |
|  - 总计: [3 + 条件计数 + 1]                       |
|                                                             |
+-------------------------------------------------------------+

在输出标志检测结果之前,不要继续到阶段2。


阶段2: 启动核心代理 (并行批次1)

关键强制

+-------------------------------------------------------------+
|  你必须在下一个消息中包含所有三个任务调用  |
|                                                              |
|  - 任务1: qe-product-factors-assessor                      |
|  - 任务2: qe-bdd-generator                                 |
|  - 任务3: qe-requirements-validator                         |
|                                                              |
|  如果你的消息包含少于3个任务调用, 你已 |
|  失败此阶段。重新开始。                              |
+-------------------------------------------------------------+

领域上下文

代理 领域 MCP工具映射
qe-product-factors-assessor requirements-validation requirements_validate
qe-bdd-generator requirements-validation test_generate_enhanced
qe-requirements-validator requirements-validation requirements_validate

代理1: 产品因素评估器 (SFDIPOT)

此代理必须分析所有7个SFDIPOT因素及其37个子类别。少于则失败。

Task({
  描述: "SFDIPOT产品因素分析",
  提示: `你是qe-product-factors-assessor。你的输出质量正在被审计。

## 强制第一步 (不要跳过)

1. 首先阅读此模板文件 - 你的输出必须遵循此结构:
   .claude/agents/v3/helpers/product-factors/sfdipot-reference-template.html

2. 在开始分析前,完整阅读以下故事内容。

## 待分析的故事

=== 故事内容开始 ===
[在此粘贴完整故事内容 - 不要总结]
=== 故事内容结束 ===

## 必需输出 (所有部分强制)

你必须分析所有7个SFDIPOT产品因素。对于每个因素,分析其子类别并分配优先级。

### 因素1: STRUCTURE (内部组成)
要评估的子类别:
- 代码架构和模块组织
- 数据库模式和数据结构
- 文件和目录结构
- 配置层次结构
- 组件关系
优先级: P0/P1/P2/P3 带理由

### 因素2: FUNCTION (功能)
要评估的子类别:
- 核心业务逻辑
- 输入处理和验证
- 输出生成和格式化
- 错误处理和恢复
- 状态管理和转换
优先级: P0/P1/P2/P3 带理由

### 因素3: DATA (数据)
要评估的子类别:
- 数据类型和格式
- 数据流和转换
- 数据持久性和存储
- 数据验证规则
- 数据量和增长模式
- 数据完整性约束
优先级: P0/P1/P2/P3 带理由

### 因素4: INTERFACES (接口)
要评估的子类别:
- 用户界面(如果适用)
- API合同和端点
- 事件/消息接口
- 基于文件的接口
- 硬件接口(如果适用)
- 系统间通信协议
优先级: P0/P1/P2/P3 带理由

### 因素5: PLATFORM (平台)
要评估的子类别:
- 操作系统依赖
- 运行时环境(Node, JVM等)
- 云提供商服务
- 容器/编排平台
- 浏览器/客户端平台
- 网络基础设施
优先级: P0/P1/P2/P3 带理由

### 因素6: OPERATIONS (运维)
要评估的子类别:
- 部署过程
- 监控和警报
- 日志和可观测性
- 备份和恢复
- 扩展和容量
- 事件响应程序
优先级: P0/P1/P2/P3 带理由

### 因素7: TIME (时间)
要评估的子类别:
- 调度和时间触发器
- 时间数据(时间戳, 时长)
- 并发和竞态条件
- 超时和重试行为
- 历史数据和版本
- 时区处理
优先级: P0/P1/P2/P3 带理由

## 评分要求

对于7个因素中的每一个, 提供:

| 字段 | 要求 |
|-------|-------------|
| 因素名称 | 7个SFDIPOT因素之一 |
| 优先级 | P0, P1, P2, 或 P3 带理由 |
| 评估的子类别 | 分析的子类别数量 |
| 覆盖深度 | 浅 / 足够 / 深 |
| 关键发现 | 此因素的前3个发现 |
| 测试重点区域 | 需要测试覆盖的具体区域 |

## 输出格式

将完整分析保存为Markdown到:
${OUTPUT_FOLDER}/02-sfdipot-analysis.md

在完成前使用Write工具保存。
报告必须完整 - 无占位符。

## 提交前验证

+-- 我阅读了SFDIPOT参考模板吗?
+-- 我分析了所有7个因素吗?
+-- 我评估了总共至少37个子类别吗?
+-- 每个因素都有优先级带理由吗?
+-- 我标识了每个因素的测试重点区域吗?
+-- 我将报告保存到正确的输出路径了吗?`,
  子代理类型: "qe-product-factors-assessor",
  在后台运行: true
})

代理2: BDD场景生成器

此代理必须生成至少5个Gherkin场景。少于则失败。

Task({
  描述: "BDD Gherkin场景生成",
  提示: `你是qe-bdd-generator。你的输出质量正在被审计。

## 方法论

应用行为驱动开发(BDD)原则,从故事及其接受标准生成全面的Gherkin场景。

## 待分析的故事

=== 故事内容开始 ===
[在此粘贴完整故事内容 - 不要总结]
=== 故事内容结束 ===

## 必需输出 (所有部分强制)

### 1. 特征文件头

编写适当的Gherkin特征头:

Feature: [从故事派生的特征名]
  As a [故事中的角色]
  I want [故事中的能力]
  So that [故事中的业务价值]

### 2. 场景类别 (所有强制)

你必须生成所有以下类别的场景:

#### 类别A: 快乐路径场景 (至少2)
- 主要成功流
- 变体成功流

#### 类别B: 错误/负面路径场景 (至少2)
- 无效输入处理
- 系统错误处理
- 边界违规

#### 类别C: 边界/边缘案例场景 (至少1)
- 最小值和最大值
- 空状态
- 空/未定义处理

#### 类别D: 安全场景 (如果HAS_SECURITY标志为TRUE)
- 认证失败
- 授权违规
- 数据保护场景

### 3. Gherkin格式要求

每个场景必须遵循此结构:

  Scenario: [描述性名称]
    Given [带具体数据的预条件]
    And [如果需要,额外预条件]
    When [带具体输入的动作]
    And [如果需要,额外动作]
    Then [带具体断言的预期结果]
    And [如果需要,额外断言]

规则:
- 使用具体数据,不是抽象描述
- 如果3+类似检查适用,包括数据表
- 对于参数化案例,使用Scenario Outline + Examples
- 每个Then步骤必须是可验证/可断言的
- 不要模糊步骤如"系统工作正确"

### 4. Scenario Outline with Examples (至少1)

至少一个场景必须使用Scenario Outline:

  Scenario Outline: [参数化场景名]
    Given [带<parameter>的预条件]
    When [带<input>的动作]
    Then [预期<outcome>]

    Examples:
      | parameter | input | outcome |
      | value1    | val1  | result1 |
      | value2    | val2  | result2 |
      | value3    | val3  | result3 |

### 5. 可追溯性矩阵

将每个场景映射回接受标准:

| 场景 | 接受标准 | 类别 |
|----------|---------------------|----------|
| 场景1 | AC-1 | 快乐路径 |
| 场景2 | AC-1, AC-3 | 错误路径 |
| ... | ... | ... |

### 6. 总结指标

| 指标 | 值 |
|--------|-------|
| 总场景 | __ |
| 快乐路径 | __ |
| 错误路径 | __ |
| 边界 | __ |
| 安全 | __ |
| 场景概述 | __ |
| 总示例 | __ |
| AC覆盖 | __% |

**最少: 5个总场景。目标: 10+场景。**

## 输出格式

将完整分析保存为Markdown(嵌入Gherkin)到:
${OUTPUT_FOLDER}/03-bdd-scenarios.md

在完成前使用Write工具保存。
报告必须完整 - 无占位符。

## 提交前验证

+-- 我生成了至少5个场景吗?
+-- 我覆盖了快乐路径、错误路径和边界类别吗?
+-- 每个场景都有具体数据(不是抽象)吗?
+-- 我包括了至少一个Scenario Outline with Examples吗?
+-- 我将场景映射回接受标准了吗?
+-- 我计算了AC覆盖百分比了吗?
+-- 我将报告保存到正确的输出路径了吗?`,
  子代理类型: "qe-bdd-generator",
  在后台运行: true
})

代理3: 需求验证器 (INVEST)

此代理必须提供INVEST完整性分数0-100。无范围。

Task({
  描述: "INVEST需求验证和可测试性评分",
  提示: `你是qe-requirements-validator。你的输出质量正在被审计。

## 方法论

应用INVEST验证和可测试性评分原则。

## 待验证的故事和接受标准

=== 故事内容开始 ===
[在此粘贴完整故事 + 接受标准 - 不要总结]
=== 故事内容结束 ===

## 必需输出 (所有部分强制)

### 1. INVEST验证 (强制 - 所有六个标准)

评分每个INVEST标准0-100:

| 标准 | 分数 | 证据 | 问题 |
|-----------|-------|----------|--------|
| **I**ndependent (独立) | X/100 | 这个故事可以独立于其他故事开发和测试吗? | [发现问题] |
| **N**egotiable (可协商) | X/100 | 故事表达为意图(不是实现细节)吗? | [发现问题] |
| **V**aluable (有价值) | X/100 | 它向用户或业务交付清晰价值吗? | [发现问题] |
| **E**stimable (可估计) | X/100 | 团队可以自信估计工作量吗? | [发现问题] |
| **S**mall (小) | X/100 | 它可以在单个冲刺中完成吗? | [发现问题] |
| **T**estable (可测试) | X/100 | 有清晰、可验证的接受标准吗? | [发现问题] |

**INVEST完整性分数: XX/100** (所有六个标准的平均)

### 2. 接受标准评估

对于每个接受标准:

| AC ID | 文本 | 可测试? | 问题 | 建议重写 |
|-------|------|-----------|--------|-------------------|
| AC-1 | [原始文本] | Yes/No | [问题] | [如果需要,改进版本] |
| AC-2 | ... | ... | ... | ... |

对于不可测试的AC, 解释为什么并提供可测试重写。

### 3. 差距分析 (强制)

标识故事中的所有差距:

#### 缺失需求
- [差距1: 描述缺失的内容]
- [差距2: ...]

#### 模糊语言
- [模糊性1: 引用模糊文本并解释]
- [模糊性2: ...]

#### 缺失边缘案例
- [边缘案例1: 当前AC未覆盖的场景]
- [边缘案例2: ...]

#### 缺失非功能需求
- 性能: [指定了? 缺失?]
- 安全: [指定了? 缺失?]
- 可访问性: [指定了? 缺失?]
- 错误处理: [指定了? 缺失?]

**关键差距计数: __** (阻碍冲刺就绪的差距)

**最少: 标识至少3个差距或明确声明"在所有需求维度彻底分析后未发现差距"**

### 4. 就绪定义(DoR)检查表

| DoR项目 | 状态 | 备注 |
|----------|--------|-------|
| 故事有清晰标题和描述 | Pass/Fail | ... |
| 接受标准已定义 | Pass/Fail | ... |
| AC是可测试的 | Pass/Fail | ... |
| 依赖已标识 | Pass/Fail | ... |
| 故事已估计 | Pass/Fail | ... |
| 故事适合冲刺 | Pass/Fail | ... |
| UX设计可用(如果需要) | Pass/Fail/N/A | ... |
| API合同已定义(如果需要) | Pass/Fail/N/A | ... |
| 测试数据需求已知 | Pass/Fail | ... |
| 无阻碍标识 | Pass/Fail | ... |

**DoR通过率: X/10 (或如果排除N/A项, X/N)**

### 5. 建议

具体、可操作的建议,使此故事冲刺就绪:

| 优先级 | 建议 | 负责人 |
|----------|---------------|-------|
| P0 - 阻碍 | [冲刺前必须修复] | [谁] |
| P1 - 重要 | [冲刺前应该修复] | [谁] |
| P2 - 最好有 | [冲刺期间可以精炼] | [谁] |

## 输出格式

将完整分析保存为Markdown到:
${OUTPUT_FOLDER}/04-requirements-validation.md

在完成前使用Write工具保存。
报告必须完整 - 无占位符。

## 提交前验证

+-- 我评分了所有6个INVEST标准吗?
+-- 我计算了单个INVEST完整性分数(不是范围)吗?
+-- 我评估了每个AC的可测试性吗?
+-- 我为不可测试AC提供了重写吗?
+-- 我标识了差距(或明确确认无)吗?
+-- 我计数了关键差距吗?
+-- 我完成了DoR检查表吗?
+-- 我将报告保存到正确的输出路径了吗?`,
  子代理类型: "qe-requirements-validator",
  在后台运行: true
})

替代: MCP工具执行

如果使用MCP而不是任务工具:

// 选项1: 通过Fleet编排
mcp__agentic-qe__fleet_init({
  topology: "hierarchical",
  enabledDomains: ["requirements-validation", "test-generation"],
  maxAgents: 7,
  lazyLoading: true
})

// 提交任务到特定领域
mcp__agentic-qe__task_submit({
  type: "product-factors-assessment",
  priority: "p0",
  payload: {
    storyContent: storyContent,
    framework: "sfdipot",
    factorCount: 7
  }
})

mcp__agentic-qe__task_submit({
  type: "bdd-scenario-generation",
  priority: "p0",
  payload: {
    storyContent: storyContent,
    format: "gherkin",
    minScenarios: 5
  }
})

mcp__agentic-qe__task_submit({
  type: "requirements-validation",
  priority: "p0",
  payload: {
    storyContent: storyContent,
    validateInvest: true,
    assessDoR: true
  }
})

// 检查任务状态
mcp__agentic-qe__task_list({ status: "pending" })

替代: CLI执行

如果使用CLI而不是任务工具:

# 为精炼初始化群集
npx @claude-flow/cli@latest swarm init \
  --topology hierarchical \
  --max-agents 7 \
  --strategy specialized

# 任务前的路由钩子
npx @claude-flow/cli@latest hooks pre-task \
  --description "QCSD精炼: SFDIPOT, BDD场景, INVEST验证"

# 启动代理(在单独终端或后台运行)
npx @claude-flow/cli@latest agent spawn \
  --type qe-product-factors-assessor \
  --task "故事SFDIPOT 7因素分析" &

npx @claude-flow/cli@latest agent spawn \
  --type qe-bdd-generator \
  --task "Gherkin BDD场景生成" &

npx @claude-flow/cli@latest agent spawn \
  --type qe-requirements-validator \
  --task "INVEST验证和DoR评估" &

# 等待完成
wait

# 检查群集状态
npx @claude-flow/cli@latest swarm status

启动后确认

发送所有三个任务调用后,你必须告诉用户:

我已在并行中启动3个核心代理:

  qe-product-factors-assessor [领域: requirements-validation]
   - 分析所有7个SFDIPOT因素 (37个子类别)
   - 为每个因素分配P0-P3优先级
   - 标识测试重点区域

  qe-bdd-generator [领域: requirements-validation]
   - 生成Gherkin场景 (快乐, 错误, 边界, 安全)
   - 创建Scenario Outlines with Examples表格
   - 映射场景到接受标准

  qe-requirements-validator [领域: requirements-validation]
   - 评分INVEST标准 (6个维度)
   - 评估AC可测试性带重写
   - 运行就绪定义检查表

  等待所有代理完成再继续...

在发送此确认之前,不要继续到阶段3。


阶段3: 等待批次1完成

强制: 不要提前继续

+-------------------------------------------------------------+
|  你必须等待所有三个后台任务完成    |
|                                                              |
|  不要总结代理"会"发现什么                   |
|  不要提前继续到阶段4                             |
|  不要提供你自己的分析作为替代              |
|                                                              |
|  等待实际代理结果                               |
|  只有当所有三个都返回时才继续                   |
+-------------------------------------------------------------+

结果提取检查表

当结果返回时,提取并记录:

来自qe-product-factors-assessor:
[ ] sfdipotCoverage = __/7 因素分析
[ ] p0Count = __ P0优先级因素
[ ] subcategoriesAssessed = __/37 子类别
[ ] testFocusAreas = __ 区域标识

来自qe-bdd-generator:
[ ] bddScenarioCount = __ 场景生成
[ ] happyPathCount = __ 快乐路径场景
[ ] errorPathCount = __ 错误路径场景
[ ] boundaryCount = __ 边界场景
[ ] acCoverage = __% 接受标准覆盖

来自qe-requirements-validator:
[ ] investCompleteness = __% (6个INVEST标准平均)
[ ] criticalGaps = __ 关键差距标识
[ ] dorPassRate = __/10 就绪定义项目通过
[ ] untestableACs = __ 接受标准需要重写

指标总结框

输出提取的指标:

+-------------------------------------------------------------+
|                    批次1结果总结                   |
+-------------------------------------------------------------+
|                                                              |
|  SFDIPOT覆盖:       __/7 因素                        |
|  P0因素:             __                                  |
|  评估的子类别: __/37                               |
|                                                              |
|  BDD场景:          __ 总                            |
|  - 快乐路径:           __                                  |
|  - 错误路径:           __                                  |
|  - 边界:             __                                  |
|  AC覆盖:            __%                                 |
|                                                              |
|  INVEST完整性:    __%                                 |
|  关键差距:          __                                  |
|  DoR通过率:          __/10                               |
|  不可测试AC:         __                                  |
|                                                              |
+-------------------------------------------------------------+

在填充所有字段之前,不要继续到阶段4。


阶段4: 启动条件代理 (并行批次2)

强制: 不要跳过条件代理

+-------------------------------------------------------------+
|  如果标志为TRUE, 你必须启动那个代理                |
|                                                              |
|  HAS_API = TRUE              -> 必须启动 qe-contract-validator    |
|  HAS_REFACTORING = TRUE      -> 必须启动 qe-impact-analyzer      |
|  HAS_DEPENDENCIES = TRUE     -> 必须启动 qe-dependency-mapper     |
|  HAS_MIDDLEWARE = TRUE        -> 必须启动 qe-middleware-validator  |
|  HAS_SAP_INTEGRATION = TRUE  -> 必须启动 qe-odata-contract-tester|
|  HAS_AUTHORIZATION = TRUE    -> 必须启动 qe-sod-analyzer          |
|                                                              |
|  跳过已标志的代理是此技能失败。        |
+-------------------------------------------------------------+

条件领域映射

标志 代理 领域 MCP工具
HAS_API qe-contract-validator contract-testing contract_test
HAS_REFACTORING qe-impact-analyzer code-intelligence coverage_analyze_sublinear
HAS_DEPENDENCIES qe-dependency-mapper code-intelligence defect_predict
HAS_MIDDLEWARE qe-middleware-validator enterprise-integration task_orchestrate
HAS_SAP_INTEGRATION qe-odata-contract-tester enterprise-integration task_orchestrate
HAS_AUTHORIZATION qe-sod-analyzer enterprise-integration task_orchestrate

决策树

IF HAS_API == FALSE AND HAS_REFACTORING == FALSE AND HAS_DEPENDENCIES == FALSE AND HAS_MIDDLEWARE == FALSE AND HAS_SAP_INTEGRATION == FALSE AND HAS_AUTHORIZATION == FALSE:
    -> 跳到阶段5 (不需要条件代理)
    -> 状态: "基于故事分析不需要条件代理"

ELSE:
    -> 在一个消息中启动所有适用代理
    -> 计数你正在启动多少个: __

如果HAS_API: 合同验证器 (强制当标志时)

Task({
  描述: "消费者驱动合同验证",
  提示: `你是qe-contract-validator。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. API合同清单

列出每个提到或暗示的API交互:

| 端点 | 方法 | 消费者 | 提供者 | 合同定义? |
|----------|--------|----------|----------|--------------------|
| ... | GET/POST等 | [谁调用] | [谁服务] | Yes/No |

### 2. 消费者驱动合同评估

对于每个API合同:

| 合同 | 模式定义? | 破坏性改变风险 | 向后兼容? |
|----------|-----------------|---------------------|---------------------|
| ... | Yes/No/Partial | High/Medium/Low | Yes/No/Unknown |

### 3. 破坏性改变检测

分析故事中的潜在破坏性改变:

| 改变 | 类型 | 影响 | 受影响消费者 |
|--------|------|--------|-------------------|
| ... | 模式/行为/移除 | High/Medium/Low | [列表] |

### 4. 合同测试建议

| 测试类型 | 工具 | 优先级 | 场景 |
|-----------|------|----------|-----------|
| 消费者合同 | Pact/MSW | P0/P1/P2 | [场景] |
| 提供者验证 | Pact/Supertest | P0/P1/P2 | [场景] |
| 模式验证 | Ajv/Zod | P0/P1/P2 | [场景] |

### 5. 合同风险分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| 模式完整性 | X/10 | ... |
| 向后兼容性 | X/10 | ... |
| 消费者覆盖 | X/10 | ... |
| 版本策略 | X/10 | ... |

**合同风险分数: X/40**

**最少: 标识至少3个合同相关发现**

## 输出格式

保存到: ${OUTPUT_FOLDER}/05-contract-validation.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-contract-validator",
  在后台运行: true
})

如果HAS_REFACTORING: 影响分析器 (强制当标志时)

Task({
  描述: "重构爆炸半径和影响分析",
  提示: `你是qe-impact-analyzer。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. 爆炸半径评估

标识重构影响的所有组件:

| 组件 | 直接/间接 | 改变类型 | 风险等级 |
|-----------|----------------|-------------|------------|
| ... | 直接 | 修改/重命名/移动/删除 | High/Medium/Low |

### 2. 受影响测试清单

| 测试文件/套件 | 状态 | 需要动作 |
|-----------------|--------|-----------------|
| ... | 会坏 / 可能坏 / 安全 | 更新 / 重写 / 无 |

### 3. 依赖链分析

映射受影响组件的依赖链:

[改变组件] ±- [直接依赖1] | ±- [传递依赖1a] | ±- [传递依赖1b] ±- [直接依赖2] ±- [传递依赖2a]


### 4. 回归风险矩阵

| 区域 | 改变概率 | 测试覆盖 | 回归风险 |
|------|-------------------|---------------|-----------------|
| ... | High/Medium/Low | Good/Partial/None | Critical/High/Medium/Low |

### 5. 迁移策略

| 阶段 | 动作 | 回滚计划 | 验证 |
|-------|--------|---------------|-------------|
| 1 | ... | ... | [如何验证] |
| 2 | ... | ... | [如何验证] |

### 6. 影响分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| 爆炸半径 | X/10 | 受影响组件数 |
| 测试影响 | X/10 | 需要更新的测试 |
| 回滚复杂性 | X/10 | 回滚难度 |
| 数据迁移风险 | X/10 | 需要数据转换 |

**影响分数: X/40**

**最少: 映射至少5个受影响组件或解释为什么更少存在**

## 输出格式

保存到: ${OUTPUT_FOLDER}/06-impact-analysis.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-impact-analyzer",
  在后台运行: true
})

如果HAS_DEPENDENCIES: 依赖映射器 (强制当标志时)

Task({
  描述: "依赖耦合分析和循环检测",
  提示: `你是qe-dependency-mapper。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. 依赖清单

列出所有提到或暗示的依赖(直接和传递):

| 依赖 | 类型 | 版本 | 状态 | 风险 |
|------------|------|---------|--------|------|
| ... | 直接/传递 | X.Y.Z | 当前/过时/弃用 | High/Medium/Low |

### 2. 耦合指标

计算Robert C. Martin的包耦合指标:

| 模块 | Ca (传入) | Ce (传出) | I (不稳定性) | 类别 |
|--------|---------------|---------------|-----------------|----------|
| ... | [传入依赖] | [传出依赖] | Ce/(Ca+Ce) | 稳定/灵活/不稳定 |

其中:
- Ca = 依赖于此的外部类数
- Ce = 依赖外部的内容类数
- I = Ce / (Ca + Ce), 范围 [0,1]: 0=最大稳定, 1=最大不稳定

### 3. 循环依赖检测

| 循环 | 涉及组件 | 严重性 | 解决方案 |
|-------|--------------------|----------|------------|
| 循环1 | A -> B -> C -> A | Critical/Warning | [如何打破] |

如果无循环: "未检测到循环依赖"

### 4. 跨团队依赖

| 依赖 | 拥有团队 | 沟通渠道 | SLA | 风险 |
|------------|-------------|----------------------|-----|------|
| ... | [团队名] | [Slack/Jira等] | [响应时间] | High/Medium/Low |

### 5. 依赖健康仪表板

| 健康指标 | 状态 | 详情 |
|-----------------|--------|---------|
| 过时依赖 | X of Y | [列表] |
| 已知漏洞 | X CVEs | [列表] |
| 许可证合规 | Pass/Fail | [问题] |
| 包大小影响 | +X KB | [分解] |

### 6. 耦合分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| 传入耦合 | X/10 | 扇入复杂性 |
| 传出耦合 | X/10 | 扇出复杂性 |
| 循环依赖 | X/10 | 循环严重性 |
| 跨团队耦合 | X/10 | 外部团队风险 |

**耦合分数: X/40**

**最少: 映射至少5个依赖或解释为什么更少存在**

## 输出格式

保存到: ${OUTPUT_FOLDER}/07-dependency-map.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-dependency-mapper",
  在后台运行: true
})

如果HAS_MIDDLEWARE: 中间件验证器 (强制当标志时)

Task({
  描述: "中间件路由、转换和ESB流验证",
  提示: `你是qe-middleware-validator。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. 中间件拓扑清单

映射所有提到或暗示的中间件组件:

| 组件 | 类型 | 协议 | 方向 | SLA |
|-----------|------|----------|-----------|-----|
| ... | ESB/MQ/网关/代理 | AMQP/MQTT/HTTP/gRPC | 入站/出站/双向 | [延迟/吞吐量] |

### 2. 消息流分析

对于每个消息流:

| 流 | 源 | 中间件 | 目标 | 转换? | 错误处理 |
|------|--------|-----------|--------|------------|----------------|
| ... | [生产者] | [代理/ESB] | [消费者] | Yes/No | DLQ/重试/丢弃 |

### 3. 转换验证

| 转换 | 输入格式 | 输出格式 | 验证规则 | 风险 |
|-----------|-------------|---------------|-----------------|------|
| ... | JSON/XML/CSV | JSON/XML/CSV | [模式规则] | High/Medium/Low |

### 4. 中间件测试建议

| 测试类型 | 工具 | 优先级 | 场景 |
|-----------|------|----------|-----------|
| 消息路由 | WireMock/Testcontainers | P0/P1/P2 | [场景] |
| 转换准确度 | 模式验证器 | P0/P1/P2 | [场景] |
| 死信队列 | DLQ监视器 | P0/P1/P2 | [场景] |
| 吞吐量 | 负载生成器 | P0/P1/P2 | [场景] |

### 5. 中间件风险分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| 路由复杂性 | X/10 | ... |
| 转换准确度 | X/10 | ... |
| 错误处理覆盖 | X/10 | ... |
| 吞吐量风险 | X/10 | ... |

**中间件风险分数: X/40**

**最少: 标识至少3个中间件相关发现**

## 输出格式

保存到: ${OUTPUT_FOLDER}/10-middleware-validation.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-middleware-validator",
  在后台运行: true
})

如果HAS_SAP_INTEGRATION: OData合同测试器 (强制当标志时)

Task({
  描述: "OData合同和SAP服务验证",
  提示: `你是qe-odata-contract-tester。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. SAP服务清单

映射所有提到或暗示的SAP服务和OData端点:

| 服务 | 类型 | 协议 | 实体集 | 操作 |
|---------|------|----------|-----------|------------|
| ... | OData V2/V4/RFC/BAPI | HTTP/RFC | [实体] | CRUD/自定义 |

### 2. OData合同评估

对于每个OData服务:

| 端点 | $metadata 可用? | 模式已验证? | 破坏性改变风险 | 分页 |
|----------|---------------------|------------------|---------------------|------------|
| ... | Yes/No | Yes/No/Partial | High/Medium/Low | 服务器/客户端/无 |

### 3. SAP集成点

| 集成 | 源系统 | 目标系统 | IDoc类型 | 方向 |
|-------------|-------------|---------------|-----------|-----------|
| ... | ECC/S4/EWM | [目标] | [类型] | 入站/出站 |

### 4. 合同测试建议

| 测试类型 | 工具 | 优先级 | 场景 |
|-----------|------|----------|-----------|
| OData $metadata | OData验证器 | P0/P1/P2 | [场景] |
| 实体CRUD | SAP网关测试 | P0/P1/P2 | [场景] |
| 深层实体 | 集成套件 | P0/P1/P2 | [场景] |
| 错误响应 | 负面测试 | P0/P1/P2 | [场景] |

### 5. SAP集成风险分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| 合同完整性 | X/10 | ... |
| 模式稳定性 | X/10 | ... |
| 错误处理 | X/10 | ... |
| 授权覆盖 | X/10 | ... |

**SAP集成风险分数: X/40**

**最少: 标识至少3个SAP集成发现**

## 输出格式

保存到: ${OUTPUT_FOLDER}/11-odata-contract-validation.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-odata-contract-tester",
  在后台运行: true
})

如果HAS_AUTHORIZATION: SoD分析器 (强制当标志时)

Task({
  描述: "职责分离和授权冲突分析",
  提示: `你是qe-sod-analyzer。你的输出质量正在被审计。

## 故事内容

=== 故事内容开始 ===
[在此粘贴完整故事内容]
=== 故事内容结束 ===

## 必需分析 (所有部分强制)

### 1. 授权对象清单

映射所有提到或暗示的授权对象、角色和T-codes:

| 授权对象 | 字段 | 值 | 角色分配 | 风险等级 |
|-------------|-------|--------|----------------|------------|
| ... | [字段] | [允许值] | [角色] | Critical/High/Medium/Low |

### 2. 职责分离矩阵

| 功能A | 功能B | 冲突类型 | 风险 | 缓解 |
|-----------|-----------|---------------|------|------------|
| [创建PO] | [批准PO] | SoD违规 | Critical | [控制] |
| ... | ... | ... | ... | ... |

### 3. 角色冲突检测

| 角色 | 冲突角色 | 共享用户 | 违规类型 | GRC状态 |
|------|-----------------|-------------|----------------|------------|
| ... | ... | [计数] | SoD/过度/有毒 | 检测/缓解/开放 |

### 4. 授权测试建议

| 测试类型 | 工具 | 优先级 | 场景 |
|-----------|------|----------|-----------|
| SoD模拟 | GRC访问风险 | P0/P1/P2 | [场景] |
| 角色测试 | SU53/SUIM | P0/P1/P2 | [场景] |
| 负面授权 | 授权跟踪 | P0/P1/P2 | [场景] |
| 特权提升 | 渗透测试套件 | P0/P1/P2 | [场景] |

### 5. 授权风险分数

| 维度 | 分数 (0-10) | 备注 |
|-----------|-------------|-------|
| SoD合规 | X/10 | ... |
| 角色设计质量 | X/10 | ... |
| 有毒组合风险 | X/10 | ... |
| 审计跟踪覆盖 | X/10 | ... |

**授权风险分数: X/40**

**最少: 标识至少3个授权发现**

## 输出格式

保存到: ${OUTPUT_FOLDER}/12-sod-analysis.md
在完成前使用Write工具保存。`,
  子代理类型: "qe-sod-analyzer",
  在后台运行: true
})

替代: MCP工具用于条件代理

// 如果HAS_API - 启用contract-testing领域
if (HAS_API) {
  mcp__agentic-qe__task_submit({
    type: "contract-validation",
    priority: "p0",
    payload: {
      storyContent: storyContent,
      framework: "consumer-driven",
      detectBreaking: true
    }
  })
}

// 如果HAS_REFACTORING - 启用code-intelligence领域
if (HAS_REFACTORING) {
  mcp__agentic-qe__coverage_analyze_sublinear({
    target: "src/",
    detectGaps: true,
    blastRadius: true
  })
}

// 如果HAS_DEPENDENCIES - 启用code-intelligence领域
if (HAS_DEPENDENCIES) {
  mcp__agentic-qe__defect_predict({
    target: "src/",
    analyzeCoupling: true,
    detectCircular: true
  })
}

// 如果HAS_MIDDLEWARE - 启用enterprise-integration领域
if (HAS_MIDDLEWARE) {
  mcp__agentic_qe__task_orchestrate({
    task: "middleware-routing-validation",
    strategy: "parallel",
    payload: {
      storyContent: storyContent,
      validateRouting: true,
      validateTransforms: true
    }
  })
}

// 如果HAS_SAP_INTEGRATION - 启用enterprise-integration领域
if (HAS_SAP_INTEGRATION) {
  mcp__agentic_qe__task_orchestrate({
    task: "odata-contract-validation",
    strategy: "parallel",
    payload: {
      storyContent: storyContent,
      validateMetadata: true,
      validateSchema: true
    }
  })
}

// 如果HAS_AUTHORIZATION - 启用enterprise-integration领域
if (HAS_AUTHORIZATION) {
  mcp__agentic_qe__task_orchestrate({
    task: "sod-authorization-analysis",
    strategy: "parallel",
    payload: {
      storyContent: storyContent,
      detectSoD: true,
      detectToxicCombos: true
    }
  })
}

替代: CLI用于条件代理

# 如果HAS_API
if [ "$HAS_API" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-contract-validator \
    --task "消费者驱动合同验证" &
fi

# 如果HAS_REFACTORING
if [ "$HAS_REFACTORING" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-impact-analyzer \
    --task "重构爆炸半径分析" &
fi

# 如果HAS_DEPENDENCIES
if [ "$HAS_DEPENDENCIES" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-dependency-mapper \
    --task "耦合指标和循环检测" &
fi

# 如果HAS_MIDDLEWARE
if [ "$HAS_MIDDLEWARE" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-middleware-validator \
    --task "中间件路由和ESB流验证" &
fi

# 如果HAS_SAP_INTEGRATION
if [ "$HAS_SAP_INTEGRATION" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-odata-contract-tester \
    --task "OData合同和SAP服务验证" &
fi

# 如果HAS_AUTHORIZATION
if [ "$HAS_AUTHORIZATION" = "TRUE" ]; then
  npx @claude-flow/cli@latest agent spawn \
    --type qe-sod-analyzer \
    --task "职责分离分析" &
fi

# 等待条件代理
wait

代理计数验证

在继续前,验证代理计数:

+-------------------------------------------------------------+
|                   代理计数验证                     |
+-------------------------------------------------------------+
|                                                              |
|  核心代理 (总是3):                                     |
|    [ ] qe-product-factors-assessor - 已启动? [Y/N]         |
|    [ ] qe-bdd-generator - 已启动? [Y/N]                    |
|    [ ] qe-requirements-validator - 已启动? [Y/N]            |
|                                                              |
|  条件代理 (基于标志):                        |
|    [ ] qe-contract-validator - 已启动? [Y/N] (HAS_API)     |
|    [ ] qe-impact-analyzer - 已启动? [Y/N] (HAS_REFACTORING)|
|    [ ] qe-dependency-mapper - 已启动? [Y/N] (HAS_DEPS)     |
|    [ ] qe-middleware-validator - 已启动? [Y/N] (HAS_MIDDLEWARE)    |
|    [ ] qe-odata-contract-tester - 已启动? [Y/N] (HAS_SAP_INTEG)  |
|    [ ] qe-sod-analyzer - 已启动? [Y/N] (HAS_AUTHORIZATION)       |
|                                                              |
|  验证:                                                 |
|    预期代理: [3 + TRUE标志计数]                |
|    实际启动:  [计数]                                  |
|    状态:          [PASS/FAIL]                              |
|                                                              |
|  如果实际 < 预期, 你已失败。在继续前启动缺失代理。        |
|                                                              |
+-------------------------------------------------------------+

如果验证失败,不要继续。

启动后确认 (如果适用)

我已在并行中启动 [N] 个条件代理:

[如果HAS_API]             qe-contract-validator [领域: contract-testing]
                         - 消费者驱动合同, 破坏性改变
[如果HAS_REFACTORING]     qe-impact-analyzer [领域: code-intelligence]
                         - 爆炸半径, 受影响测试, 回归风险
[如果HAS_DEPENDENCIES]    qe-dependency-mapper [领域: code-intelligence]
                         - 耦合指标 Ca/Ce/I, 循环检测
[如果HAS_MIDDLEWARE]      qe-middleware-validator [领域: enterprise-integration]
                         - 中间件路由, 转换, ESB流验证
[如果HAS_SAP_INTEGRATION] qe-odata-contract-tester [领域: enterprise-integration]
                         - OData合同, SAP服务, $metadata验证
[如果HAS_AUTHORIZATION]   qe-sod-analyzer [领域: enterprise-integration]
                         - 职责分离, 角色冲突, 授权分析

  等待条件代理完成...

阶段5: 综合结果和确定推荐

强制: 精确决策逻辑

你必须准确应用此逻辑。没有解释。

步骤1: 检查NOT-READY条件 (任何触发NOT-READY)
-----------------------------------------------------------
IF sfdipotCoverage < 5          -> NOT-READY ("因素覆盖不足")
IF bddScenarioCount < 3         -> NOT-READY ("BDD场景太少")
IF investCompleteness < 50       -> NOT-READY ("需求不完整")
IF criticalGaps > 3              -> NOT-READY ("关键差距太多")

步骤2: 检查READY条件 (所有必需用于READY)
-----------------------------------------------------------
IF sfdipotCoverage >= 7
   AND bddScenarioCount >= 10
   AND investCompleteness >= 90
   AND criticalGaps == 0         -> READY

步骤3: 默认
-----------------------------------------------------------
ELSE                             -> CONDITIONAL

决策记录

指标:
- sfdipotCoverage = __/7
- bddScenarioCount = __
- investCompleteness = __%
- criticalGaps = __

NOT-READY检查:
- sfdipotCoverage < 5? __ (YES/NO)
- bddScenarioCount < 3? __ (YES/NO)
- investCompleteness < 50? __ (YES/NO)
- criticalGaps > 3? __ (YES/NO)

READY检查 (只有当无NOT-READY触发时):
- sfdipotCoverage >= 7? __ (YES/NO)
- bddScenarioCount >= 10? __ (YES/NO)
- investCompleteness >= 90? __ (YES/NO)
- criticalGaps == 0? __ (YES/NO)

最终推荐: [READY / CONDITIONAL / NOT-READY]
理由: ___

条件推荐

如果推荐是CONDITIONAL, 提供具体阻碍:

阻碍 当前值 要求值 负责人 动作
[谁] [做什么]

如果推荐是NOT-READY, 提供强制补救:

补救 优先级 工作量 截止日期
P0 [小时/天] [下次精炼前]

阶段6: 生成精炼报告

强制: 完整报告结构

以下所有部分都是强制性的。无缩写。

# QCSD精炼报告: [故事名]

**生成**: [日期/时间]
**推荐**: [READY / CONDITIONAL / NOT-READY]
**执行代理**: [列出所有运行的代理]
**并行批次**: [2或3取决于条件代理]

---

## 执行摘要

| 指标 | 值 | 阈值 | 状态 |
|--------|-------|-----------|--------|
| SFDIPOT覆盖 | X/7 | >=7 | PASS/WARN/FAIL |
| BDD场景 | X | >=10 | PASS/WARN/FAIL |
| INVEST完整性 | X% | >=90% | PASS/WARN/FAIL |
| 关键差距 | X | 0 | PASS/WARN/FAIL |

**推荐理由**: [1-2句解释为什么READY/CONDITIONAL/NOT-READY]

---

## SFDIPOT产品因素分析

[嵌入或链接来自qe-product-factors-assessor的完整报告]

### 因素优先级总结

| 因素 | 优先级 | 关键发现 | 测试重点 |
|--------|----------|-------------|------------|
| Structure | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Function | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Data | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Interfaces | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Platform | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Operations | P0/P1/P2/P3 | [顶级发现] | [区域] |
| Time | P0/P1/P2/P3 | [顶级发现] | [区域] |

### 跨领域关注点
[列出跨越多个因素的任何关注点]

---

## BDD场景

[嵌入来自qe-bdd-generator的完整Gherkin]

### 场景覆盖总结

| 类别 | 计数 | AC覆盖 |
|----------|-------|-------------|
| 快乐路径 | X | [覆盖的AC] |
| 错误路径 | X | [覆盖的AC] |
| 边界 | X | [覆盖的AC] |
| 安全 | X | [覆盖的AC] |
| **总计** | **X** | **X%** |

---

## 需求验证

### INVEST分数: X/100

| 标准 | 分数 | 状态 |
|-----------|-------|--------|
| Independent | X/100 | PASS/WARN/FAIL |
| Negotiable | X/100 | PASS/WARN/FAIL |
| Valuable | X/100 | PASS/WARN/FAIL |
| Estimable | X/100 | PASS/WARN/FAIL |
| Small | X/100 | PASS/WARN/FAIL |
| Testable | X/100 | PASS/WARN/FAIL |

### AC评估

| AC | 可测试? | 问题 | 需要重写? |
|----|-----------|--------|-----------------|
[所有AC评估]

### 标识的差距
1. [差距1]
2. [差距2]
[来自qe-requirements-validator的所有差距]

### 就绪定义: X/10 通过

---

## 条件分析

[仅在适用时包括 - 基于哪些条件代理运行]

### 合同验证 (如果HAS_API)
[来自qe-contract-validator的完整输出]

### 影响分析 (如果HAS_REFACTORING)
[来自qe-impact-analyzer的完整输出]

### 依赖映射 (如果HAS_DEPENDENCIES)
[来自qe-dependency-mapper的完整输出]

---

## 推荐动作

### 冲刺承诺前
- [ ] [基于发现的动作]
- [ ] [基于发现的动作]

### 冲刺规划备注
- [ ] [测试方法推荐]
- [ ] [依赖协调需要]

### 冲刺期间
- [ ] [基于发现的动作]

---

## 附录: 代理输出

[链接或嵌入每个代理的完整输出]

---

*由QCSD精炼群集 v1.0生成*
*执行模型: 任务工具并行群集*

将执行摘要报告写入: ${OUTPUT_FOLDER}/01-executive-summary.md

报告验证检查表

呈现报告前:

+-- 执行摘要表完整, 包含所有4个指标
+-- 推荐匹配决策逻辑输出
+-- SFDIPOT部分包括所有7个因素优先级
+-- BDD部分包括场景覆盖总结
+-- INVEST分数显示所有6个标准
+-- 所有差距已列出
+-- 为所有启动代理包括条件部分
+-- 推荐动作具体(不通用)
+-- 报告保存到输出文件夹

不要呈现不完整报告。


阶段7: 存储学习和持久化状态

强制: 总是运行此阶段

+-------------------------------------------------------------+
|  学习持久化必须总是执行                    |
|                                                              |
|  这不是可选的。它在每次精炼上运行。          |
|  它存储发现用于跨阶段反馈循环、          |
|  历史决策分析和模式学习。         |
|                                                              |
|  不要因为任何原因跳过此阶段。                      |
|  不要将此视为"最好有"。                        |
|  强制规则E9适用。                                |
+-------------------------------------------------------------+

目的

存储精炼发现用于:

  • 跨阶段反馈循环 (开发 -> 下一个精炼循环)
  • READY/CONDITIONAL/NOT-READY决策的历史分析
  • 跨故事的SFDIPOT模式学习
  • BDD场景质量随时间改进

自动执行步骤 (所有三个强制)

步骤1: 存储精炼发现到内存

你必须执行此MCP调用, 带有来自精炼分析的实际值:

mcp__agentic-qe__memory_store({
  key: `qcsd-refinement-${storyId}-${Date.now()}`,
  namespace: "qcsd-refinement",
  value: {
    storyId: storyId,
    storyName: storyName,
    recommendation: recommendation,  // READY, CONDITIONAL, NOT-READY
    metrics: {
      sfdipotCoverage: sfdipotCoverage,
      bddScenarioCount: bddScenarioCount,
      investCompleteness: investCompleteness,
      criticalGaps: criticalGaps
    },
    sfdipotPriorities: {
      structure: "P0/P1/P2/P3",
      function: "P0/P1/P2/P3",
      data: "P0/P1/P2/P3",
      interfaces: "P0/P1/P2/P3",
      platform: "P0/P1/P2/P3",
      operations: "P0/P1/P2/P3",
      time: "P0/P1/P2/P3"
    },
    flags: {
      HAS_API: HAS_API,
      HAS_REFACTORING: HAS_REFACTORING,
      HAS_DEPENDENCIES: HAS_DEPENDENCIES,
      HAS_SECURITY: HAS_SECURITY,
      HAS_MIDDLEWARE: HAS_MIDDLEWARE,
      HAS_SAP_INTEGRATION: HAS_SAP_INTEGRATION,
      HAS_AUTHORIZATION: HAS_AUTHORIZATION
    },
    agentsInvoked: agentList,
    timestamp: new Date().toISOString()
  }
})

步骤2: 与学习协调器分享学习

你必须执行此MCP调用, 以跨领域传播模式:

mcp__agentic-qe__memory_share({
  sourceAgentId: "qcsd-refinement-swarm",
  targetAgentIds: ["qe-learning-coordinator", "qe-pattern-learner"],
  knowledgeDomain: "refinement-patterns"
})

步骤3: 保存学习持久化记录到输出文件夹

你必须使用Write工具保存持久化学习的JSON记录:

保存到: ${OUTPUT_FOLDER}/09-learning-persistence.json

内容:
{
  "phase": "QCSD-Refinement",
  "storyId": "[故事ID]",
  "storyName": "[故事名]",
  "recommendation": "[READY/CONDITIONAL/NOT-READY]",
  "memoryKey": "qcsd-refinement-[storyId]-[timestamp]",
  "namespace": "qcsd-refinement",
  "metrics": {
    "sfdipotCoverage": [0-7],
    "bddScenarioCount": [N],
    "investCompleteness": [0-100],
    "criticalGaps": [N],
    "testIdeaQuality": [0-100]
  },
  "sfdipotPriorities": {
    "structure": "P0/P1/P2/P3",
    "function": "P0/P1/P2/P3",
    "data": "P0/P1/P2/P3",
    "interfaces": "P0/P1/P2/P3",
    "platform": "P0/P1/P2/P3",
    "operations": "P0/P1/P2/P3",
    "time": "P0/P1/P2/P3"
  },
  "flags": {
    "HAS_API": true/false,
    "HAS_REFACTORING": true/false,
    "HAS_DEPENDENCIES": true/false,
    "HAS_SECURITY": true/false,
    "HAS_MIDDLEWARE": true/false,
    "HAS_SAP_INTEGRATION": true/false,
    "HAS_AUTHORIZATION": true/false
  },
  "agentsInvoked": ["列表", "代理"],
  "crossPhaseSignals": {
    "toDevelopment": "BDD场景作为测试规格",
    "toVerification": "INVEST差距作为验证重点"
  },
  "persistedAt": "[ISO时间戳]"
}

备选: CLI内存命令

如果MCP memory_store工具不可用, 使用CLI代替 (仍然强制):

npx @claude-flow/cli@latest memory store \
  --key "qcsd-refinement-${STORY_ID}-$(date +%s)" \
  --value '{"recommendation":"[VALUE]","investCompleteness":[N],"sfdipotCoverage":[N],"bddScenarioCount":[N],"criticalGaps":[N]}' \
  --namespace qcsd-refinement

npx @claude-flow/cli@latest hooks post-task \
  --task-id "qcsd-refinement-${STORY_ID}" \
  --success true

继续到阶段8前的验证

+-- 我执行了mcp__agentic-qe__memory_store, 带有实际值吗? (不是占位符)
+-- 我执行了mcp__agentic-qe__memory_share以传播学习吗?
+-- 我将09-learning-persistence.json保存到输出文件夹了吗?
+-- JSON包含来自阶段5的正确推荐吗?
+-- JSON包含来自阶段2的实际SFDIPOT优先级吗?
+-- JSON包含来自阶段1的实际标志值吗?

如果任何验证检查失败, 不要继续到阶段8。

跨阶段信号消费

精炼群集既消费又产生信号, 用于其他QCSD阶段:

消费 (来自其他阶段):
+-- 循环2 (战术): 来自生产遥测的SFDIPOT权重
|   - 生产事件通知哪些因素权重更高
|   - 遥测数据调整P0-P3优先级阈值
|
+-- 循环4 (质量标准): 来自开发的不可测试模式
    - 开发阶段标记为难以测试的模式
    - 反馈到INVEST可测试性评分

产生 (用于其他阶段):
+-- 到开发阶段: BDD场景作为测试规格
|   - Gherkin场景成为自动化测试模板
|   - SFDIPOT优先级指导测试深度分配
|
+-- 到验证阶段: INVEST差距作为验证重点
    - 关键差距成为验证检查点
    - DoR失败成为冲刺退出标准

阶段8: 应用测试想法重写器 (转换)

强制: 总是运行此阶段

+-------------------------------------------------------------+
|  测试想法重写器必须总是运行                      |
|                                                              |
|  这不是条件的。它在每次精炼上运行。       |
|  它将被动测试想法转换为主动、可操作的    |
|  使用强动作动词的测试规格。              |
|                                                              |
|  不要因为任何原因跳过此阶段。                      |
+-------------------------------------------------------------+

转换规则

qe-test-idea-rewriter使用这些规则转换精炼分析中的所有测试想法:

模式 转换为 示例
“验证 X” “通过[具体动作]确认 X” “验证登录有效” -> “通过提交有效凭证并观察会话令牌确认认证成功”
“检查 X” “通过[具体动作]验证 X” “检查错误显示” -> “通过提交空表单验证错误消息显示”
“测试 X” “通过[具体动作]练习 X” “测试分页” -> “通过导航通过5+页并验证项目计数练习分页”
“确保 X” “通过[具体动作]演示 X” “确保数据保存” -> “通过创建记录并检索它演示数据持久性”
被动语态 主动语态 “数据被验证” -> “针对模式约束验证数据”
模糊断言 具体断言 “工作正确” -> “返回HTTP 200带预期JSON负载”

代理启动

Task({
  描述: "用动作动词转换测试想法",
  提示: `你是qe-test-idea-rewriter。你的输出质量正在被审计。

## 目的

转换此精炼会话中生成的所有测试想法, 从被动/模糊描述为主动、具体、可操作的测试规格。

## 输入: 原始测试想法

收集来自所有先前代理输出的测试想法:

### 来自SFDIPOT分析 (02-sfdipot-analysis.md):
[列出每个因素标识的所有测试重点区域]

### 来自BDD场景 (03-bdd-scenarios.md):
[列出所有场景名作为测试想法]

### 来自需求验证 (04-requirements-validation.md):
[列出所有差距驱动测试想法和建议]

### 来自条件代理 (如果适用):
[列出来自合同/影响/依赖分析的所有测试推荐]

## 转换规则 (应用于每个测试想法)

1. 用主动动词替换被动动词:
   - "验证" -> "确认 ... 通过 [动作]"
   - "检查" -> "验证 ... 通过 [动作]"
   - "测试" -> "练习 ... 通过 [动作]"
   - "确保" -> "演示 ... 通过 [动作]"
   - "应该" -> "[动作动词] ... 到 [结果]"

2. 添加具体动作:
   - 每个测试想法必须指定触发测试的什么动作
   - 每个测试想法必须指定如何观察结果
   - 无模糊短语: "工作正确", "功能正常", "按预期行为"

3. 添加预期结果:
   - 每个测试想法必须有具体、可验证的断言
   - 尽可能使用具体值 (HTTP代码, 计数, 字符串)

## 必需输出

### 重写测试想法表

| # | 原始测试想法 | 重写测试想法 | 源代理 | 优先级 |
|---|-------------------|---------------------|-------------|----------|
| 1 | [原始] | [带动作动词 + 具体断言重写] | [代理] | P0/P1/P2 |
| 2 | ... | ... | ... | ... |

### 转换指标

| 指标 | 值 |
|--------|-------|
| 处理的总测试想法 | __ |
| 需要重写的想法 | __ |
| 已可操作的想法 | __ |
| 新想法添加 (来自差距) | __ |
| P0测试想法 | __ |
| P1测试想法 | __ |
| P2测试想法 | __ |

### 测试想法质量分数

| 维度 | 之前 | 之后 |
|-----------|--------|-------|
| 动作动词使用 | __% | 100% |
| 具体断言 | __% | __% |
| 具体测试数据 | __% | __% |
| 可观察结果 | __% | __% |

**总体测试想法质量: __/100**

## 输出格式

保存到: ${OUTPUT_FOLDER}/08-rewritten-test-ideas.md
在完成前使用Write工具保存。

## 提交前验证

+-- 我处理了来自所有代理输出的所有测试想法吗?
+-- 每个重写想法使用主动动词吗?
+-- 每个重写想法有具体断言吗?
+-- 我计算了转换指标吗?
+-- 我将报告保存到正确的输出路径了吗?`,
  子代理类型: "qe-test-idea-rewriter",
  在后台运行: true
})

等待转换完成

+-------------------------------------------------------------+
|  在继续到阶段9前, 等待qe-test-idea-rewriter完成           |
|                                                              |
|  重写测试想法是精炼群集的主要交付物 - 它们直接馈入开发阶段作为测试规格。                   |
+-------------------------------------------------------------+

阶段9: 最终输出

在群集执行最后, 总是输出此完成总结:

+---------------------------------------------------------------------+
|                  QCSD精炼群集完成                      |
+---------------------------------------------------------------------+
|                                                                      |
|  已分析故事: [故事名/ID]                                     |
|  生成报告: [计数]                                          |
|  输出文件夹: ${OUTPUT_FOLDER}                                     |
|                                                                      |
|  精炼分数:                                                  |
|  +-- SFDIPOT覆盖:     __/7 因素                              |
|  +-- BDD场景:        __ 生成                              |
|  +-- INVEST完整性:  __%                                       |
|  +-- 关键差距:        __                                        |
|  +-- 测试想法质量:    __/100                                    |
|                                                                      |
|  推荐: [READY / CONDITIONAL / NOT-READY]                   |
|  理由: [1-2句理由]                                    |
|                                                                      |
|  交付物:                                                       |
|  +-- 01-executive-summary.md                                         |
|  +-- 02-sfdipot-analysis.md                                          |
|  +-- 03-bdd-scenarios.md                                             |
|  +-- 04-requirements-validation.md                                   |
|  [如果HAS_API]                                                        |
|  +-- 05-contract-validation.md                                       |
|  [如果HAS_REFACTORING]                                                |
|  +-- 06-impact-analysis.md                                           |
|  [如果HAS_DEPENDENCIES]                                               |
|  +-- 07-dependency-map.md                                            |
|  +-- 08-rewritten-test-ideas.md                                      |
|  +-- 09-learning-persistence.json                                    |
|                                                                      |
+---------------------------------------------------------------------+

如果推荐是NOT-READY, 也输出此突出动作框:

+---------------------------------------------------------------------+
|  需要动作: 故事未为冲刺准备好                      |
+---------------------------------------------------------------------+
|                                                                      |
|  在下次精炼前必须解决以下阻碍:     |
|                                                                      |
|  1. [阻碍1带具体补救]                            |
|  2. [阻碍2带具体补救]                            |
|  3. [阻碍3带具体补救]                            |
|                                                                      |
|  下一步:                                                         |
|  - 解决所有P0阻碍                              |
|  - 修复后重新运行 /qcsd-refinement-swarm                        |
|  - 目标: INVEST完整性 >= 90%, 0关键差距               |
|                                                                      |
+---------------------------------------------------------------------+

如果推荐是CONDITIONAL, 输出此指导框:

+---------------------------------------------------------------------+
|  条件: 故事需要小调整                          |
+---------------------------------------------------------------------+
|                                                                      |
|  故事可以在这些条件下进入冲刺:               |
|                                                                      |
|  1. [条件1 - 必须在头2天内解决]                |
|  2. [条件2 - 必须在测试前解决]                 |
|                                                                      |
|  风险接受:                                                    |
|  - 团队承认剩余差距                                  |
|  - 如果条件未满足, 冲刺范围可能需要调整            |
|                                                                      |
+---------------------------------------------------------------------+

不要在不显示完成总结的情况下结束群集。


报告文件名映射

代理 报告文件名 阶段
qe-product-factors-assessor 02-sfdipot-analysis.md 批次1
qe-bdd-generator 03-bdd-scenarios.md 批次1
qe-requirements-validator 04-requirements-validation.md 批次1
qe-contract-validator 05-contract-validation.md 批次2 (条件)
qe-impact-analyzer 06-impact-analysis.md 批次2 (条件)
qe-dependency-mapper 07-dependency-map.md 批次2 (条件)
qe-test-idea-rewriter 08-rewritten-test-ideas.md 批次3 (转换)
学习持久化 09-learning-persistence.json 阶段7 (自动执行)
综合 01-executive-summary.md 阶段6

DDD领域集成

此群集跨1个主要领域, 3个条件领域, 和1个转换领域操作:

+-----------------------------------------------------------------------------+
|                    QCSD精炼 - 领域映射                              |
+-----------------------------------------------------------------------------+
|                                                                              |
|  主要领域 (总是活动)                                              |
|  +-----------------------------------------------------------------------+  |
|  |                    requirements-validation                            |  |
|  |  -----------------------------------------------------------------   |  |
|  |  - qe-product-factors-assessor (SFDIPOT 7因素)                   |  |
|  |  - qe-bdd-generator (Gherkin场景)                              |  |
|  |  - qe-requirements-validator (INVEST + DoR)                          |  |
|  +-----------------------------------------------------------------------+  |
|                                                                              |
|  条件领域 (基于故事内容)                                |
|  +-----------------------+  +-----------------------+                        |
|  |  contract-testing     |  |  code-intelligence    |                        |
|  |  -------------------  |  |  -------------------  |                        |
|  |  qe-contract-         |  |  qe-impact-analyzer   |                        |
|  |    validator           |  |  qe-dependency-mapper |                        |
|  |  [如果HAS_API]         |  |  [如果HAS_REFACTORING  |                        |
|  |                       |  |   or HAS_DEPENDENCIES]|                        |
|  +-----------------------+  +-----------------------+                        |
|                                                                              |
|  +------------------------------------------+                                |
|  |  enterprise-integration                   |                                |
|  |  ---------------------------------------- |                                |
|  |  qe-middleware-validator                  |                                |
|  |    [如果HAS_MIDDLEWARE]                    |                                |
|  |  qe-odata-contract-tester                |                                |
|  |    [如果HAS_SAP_INTEGRATION]              |                                |
|  |  qe-sod-analyzer                         |                                |
|  |    [如果HAS_AUTHORIZATION]                |                                |
|  +------------------------------------------+                                |
|                                                                              |
|  转换领域 (总是活动)                                       |
|  +-----------------------------------------------------------------------+  |
|  |                      test-generation                                  |  |
|  |  -----------------------------------------------------------------   |  |
|  |  - qe-test-idea-rewriter (动作动词转换)                |  |
|  +-----------------------------------------------------------------------+  |
|                                                                              |
+-----------------------------------------------------------------------------+

执行模型选项

此技能支持3个执行模型。根据你的环境选择:

模型 何时使用 优点 缺点
任务工具 (主要的) Claude代码会话 完整代理能力, 并行执行 需要Claude代码
MCP工具 MCP服务器可用 Fleet协调, 内存持久化 需要MCP设置
CLI 终端/脚本 任何地方工作, 可脚本化 仅顺序

按模型快速开始

选项A: 任务工具 (推荐)

只需按照下面的技能阶段 - 使用Task()调用带run_in_background: true

选项B: MCP工具

// 为精炼领域初始化fleet
mcp__agentic-qe__fleet_init({
  topology: "hierarchical",
  enabledDomains: ["requirements-validation", "contract-testing", "code-intelligence", "test-generation"],
  maxAgents: 7
})

// 编排精炼任务
mcp__agentic-qe__task_orchestrate({
  task: "qcsd-refinement-analysis",
  strategy: "parallel"
})

选项C: CLI

# 初始化协调
npx @claude-flow/cli@latest swarm init --topology hierarchical --max-agents 7

# 路由任务
npx @claude-flow/cli@latest hooks pre-task --description "为[故事]的QCSD精炼"

# 执行代理
npx @claude-flow/cli@latest agent spawn --type qe-product-factors-assessor
npx @claude-flow/cli@latest agent spawn --type qe-bdd-generator
npx @claude-flow/cli@latest agent spawn --type qe-requirements-validator

快速参考

强制总结

阶段 必须做 失败条件
1 检查所有7个标志 缺失标志评估
2 在一个消息中启动所有3个核心代理 少于3个任务调用
3 等待完成 结果前继续
4 启动所有已标志条件代理 跳过TRUE标志
5 应用精确决策逻辑 错误推荐
6 生成完整报告 缺失部分
7 总是存储学习 + 保存09-learning-persistence.json 模式损失, 缺失审计跟踪
8 总是运行测试想法重写器 跳过转换
9 输出完成总结 缺失最终输出

质量门阈值

指标 READY CONDITIONAL NOT-READY
SFDIPOT覆盖 >=7/7 5-6/7 <5/7
BDD场景 >=10 3-9 <3
INVEST完整性 >=90% 50-89% <50%
关键差距 0 1-3 >3

领域到代理映射

领域 代理 阶段 批次
requirements-validation qe-product-factors-assessor 核心 1
requirements-validation qe-bdd-generator 核心 1
requirements-validation qe-requirements-validator 核心 1
contract-testing qe-contract-validator 条件 (HAS_API) 2
code-intelligence qe-impact-analyzer 条件 (HAS_REFACTORING) 2
code-intelligence qe-dependency-mapper 条件 (HAS_DEPENDENCIES) 2
enterprise-integration qe-middleware-validator 条件 (HAS_MIDDLEWARE) 2
enterprise-integration qe-odata-contract-tester 条件 (HAS_SAP_INTEGRATION) 2
enterprise-integration qe-sod-analyzer 条件 (HAS_AUTHORIZATION) 2
test-generation qe-test-idea-rewriter 转换 (总是) 3

执行模型快速参考

模型 初始化 代理启动 内存存储
任务工具 N/A Task({ subagent_type, run_in_background: true }) N/A (使用MCP)
MCP工具 fleet_init({}) task_submit({}) memory_store({})
CLI swarm init agent spawn memory store

MCP工具快速参考

// 初始化
mcp__agentic-qe__fleet_init({
  topology: "hierarchical",
  enabledDomains: ["requirements-validation", "contract-testing", "code-intelligence", "test-generation"],
  maxAgents: 7
})

// 任务提交
mcp__agentic-qe__task_submit({ type: "...", priority: "p0", payload: {...} })
mcp__agentic-qe__task_orchestrate({ task: "...", strategy: "parallel" })

// 状态
mcp__agentic-qe__fleet_status({ verbose: true })
mcp__agentic-qe__task_list({ status: "pending" })

// 内存
mcp__agentic-qe__memory_store({ key: "...", value: {...}, namespace: "qcsd-refinement" })
mcp__agentic-qe__memory_query({ pattern: "qcsd-refinement-*", namespace: "qcsd-refinement" })
mcp__agentic-qe__memory_share({
  sourceAgentId: "qcsd-refinement-swarm",
  targetAgentIds: ["qe-learning-coordinator"],
  knowledgeDomain: "refinement-patterns"
})

CLI快速参考

# 初始化
npx @claude-flow/cli@latest swarm init --topology hierarchical --max-agents 7

# 代理操作
npx @claude-flow/cli@latest agent spawn --type [代理类型] --task "[描述]"
npx @claude-flow/cli@latest hooks pre-task --description "[任务]"
npx @claude-flow/cli@latest hooks post-task --task-id "[ID]" --success true

# 状态
npx @claude-flow/cli@latest swarm status

# 内存
npx @claude-flow/cli@latest memory store --key "[键]" --value "[json]" --namespace qcsd-refinement
npx @claude-flow/cli@latest memory search --query "[查询]" --namespace qcsd-refinement
npx @claude-flow/cli@latest memory list --namespace qcsd-refinement

群集拓扑

                 QCSD精炼群集 v1.0
                          |
          批次1 (核心 - 并行)
          +-----------+---+-----------+
          |           |               |
    +-----v-----+ +---v---+ +--------v--------+
    | 产品因素   | |  BDD  | | 需求验证器       |
    | 评估器     | | 生成器 | | (SFDIPOT+DoR)   |
    | (SFDIPOT) | |(Gherkin)| | 验证器       |
    |-----------| |-------| |-----------------|
    | req-valid | |req-val| | req-valid       |
    +-----+-----+ +---+---+ +--------+--------+
          |            |              |
          +------------+--------------+
                       |
                [指标门]
                       |
          批次2 (条件 - 并行)
          +-----------+---+-----------+
          |           |               |
    +-----v-----+ +---v--------+ +---v----------+
    | 合同验证  | | 影响分析器   | | 依赖映射器     |
    | 验证器    | | [IF REFAC] | | [IF DEPS]    |
    | [IF API]  | |分析器   | | 映射器       |
    |-----------| |------------| |--------------|
    | contract  | | code-intel | | code-intel   |
    +-----------+ +------------+ +--------------+
                       |
                [综合]
                       |
          阶段7 (学习持久化 - 总是)
                       |
               +-------v-------+
               | memory_store  |
               | memory_share  |
               | 09-learning-  |
               | persistence   |
               | (总是运行) |
               +-------+-------+
                       |
          批次3 (转换 - 总是)
                       |
               +-------v-------+
               | 测试想法      |
               | 重写器        |
               | (总是运行) |
               |---------------|
               | test-gen      |
               +-------+-------+
                       |
              [最终报告]

清单总结

资源类型 计数 主要 条件 转换
代理 10 3 6 1
子代理 0 - - -
技能 3 3 - -
领域 5 1 3 1
并行批次 3 1 1 1

使用的技能:

  1. context-driven-testing - 上下文适当测试策略
  2. testability-scoring - 10个可测试性原则
  3. risk-based-testing - 风险优先级矩阵

应用的框架:

  1. SFDIPOT - 7个产品因素, 37个子类别
  2. BDD/Gherkin - 场景规格语言
  3. INVEST - 故事质量验证 (6个标准)
  4. DoR - 就绪定义检查表 (10个项目)
  5. Robert C. Martin耦合指标 (Ca/Ce/I)

关键原则

故事进入冲刺准备测试, 不是准备争论。

此群集提供:

  1. 什么产品因素重要? -> SFDIPOT分析 (7个因素, 37个子类别)
  2. 我们应该如何测试它? -> BDD场景 (Gherkin规格)
  3. 需求完整吗? -> INVEST验证 (6个标准 + DoR)
  4. 合同安全吗? -> 合同验证 (如果涉及API)
  5. 什么是爆炸半径? -> 影响分析 (如果重构)
  6. 什么是耦合风险? -> 依赖映射 (如果依赖)
  7. 测试想法可操作吗? -> 测试想法重写器 (总是)
  8. 它冲刺就绪吗? -> READY/CONDITIONAL/NOT-READY决策
  9. 我们学到了什么? -> 内存持久化用于未来循环