BDD协作技能Skill bdd-collaboration

BDD协作技能是一种促进开发人员、测试人员和业务利益相关者之间有效沟通的方法,通过结构化会话如三个朋友会议和示例映射,确保需求清晰、减少缺陷,并建立共享理解。关键词:BDD, 行为驱动开发, 团队协作, 需求对齐, 测试驱动开发, 软件质量, 敏捷开发, 沟通技巧。

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

名称: bdd-collaboration 描述: 在促进开发人员、测试人员和业务利益相关者之间的BDD协作时使用。用于运行发现研讨会和示例映射会议。 允许工具:

  • Bash
  • Read

BDD协作

掌握行为驱动开发的协作方面,以桥接技术团队和业务团队之间的沟通。

三个朋友会议

三个朋友汇集了三个视角:

  • 业务/产品: 定义期望的行为
  • 开发: 理解实施影响
  • 测试/QA: 识别边缘情况和风险
会议结构:
1. 产品负责人展示用户故事
2. 开发人员提出澄清问题
3. 测试人员识别潜在边缘情况
4. 团队一起编写场景
5. 每个人就接受标准达成一致

示例映射

示例映射是一种结构化对话技术:

┌─────────────────────────────────────────┐
│ 故事: 作为客户,我希望...               │ (黄色卡片)
├─────────────────────────────────────────┤
│ 规则: 订单超过50美元获得免费送货       │ (蓝色卡片)
│   ├── 示例: 60美元订单 = 免费          │ (绿色卡片)
│   ├── 示例: 49美元订单 = 5美元运费     │ (绿色卡片)
│   └── 问题: 正好50美元怎么办?         │ (红色卡片)
├─────────────────────────────────────────┤
│ 规则: 快递送货总是花费15美元           │ (蓝色卡片)
│   ├── 示例: 100美元订单快递 = 15美元   │ (绿色卡片)
│   └── 示例: 30美元订单快递 = 15美元    │ (绿色卡片)
└─────────────────────────────────────────┘

发现研讨会格式

1. 介绍 (5分钟)
   - 介绍功能或故事
   - 分享任何现有上下文

2. 探索 (20分钟)
   - “规则是什么?”
   - “你能给我一个例子吗?”
   - “可能出什么问题?”

3. 文档 (15分钟)
   - 一起编写场景
   - 记录后续问题

4. 回顾 (10分钟)
   - 大声阅读场景
   - 确认共享理解

通用语言

建立共享词汇:

# 领域术语明确定义
功能: 订阅管理

  # 在功能描述中定义术语
  一个“订阅者”是拥有活跃订阅的客户。
  一个“流失订阅者”是过去30天内取消订阅的。
  “赢回”是重新激活流失订阅者。

  场景: 为流失订阅者提供赢回优惠
    给定一个15天前的流失订阅者
    当他们访问定价页面
    那么他们应该看到赢回优惠

活文档

功能: 支付处理

  # 链接到业务文档
  @jira:PAY-123
  @confluence:payment-rules

  # 版本跟踪
  @since:v2.1

  场景: 处理信用卡支付
    # 这个场景记录了当前行为
    # 最后验证: 2024-01-15

何时使用此技能

使用bdd协作当您需要:

  • 对齐团队对需求的理解
  • 减少角色之间的误沟通
  • 创建质量的共享所有权
  • 跨团队构建领域知识
  • 通过早期讨论预防缺陷

最佳实践

  • 安排定期的三个朋友会议
  • 对复杂故事使用示例映射
  • 创建和维护领域词汇表
  • 保持场景作为活文档
  • 让利益相关者参与场景审查
  • 时间盒发现会议

常见陷阱

  • 跳过协作,单独编写场景
  • 不包括所有三个视角
  • 对业务利益相关者使用技术行话
  • 让场景过时
  • 过度记录简单功能
  • 不跟进提出的问题