BDD 或行为驱动开发技术 (Behavior Driven Development) 用于使业务和技术团队更容易理解您的用户故事 (User Story)。本文是关于如何使用它来改进您的用户故事,从而对提高开发人员性能、减少工作量和提高最终用户满意度产生直接影响。
首先,让我们做一个简短的回顾。用户故事是一小部分有价值的功能,用于在敏捷团队 (Agile Team) 中规划和确定工作优先级。敏捷方法 (Agile Method) 论的先驱Martin Fowler给出的定义是:
用户故事是对客户有价值的一大块功能。
如果您想了解有关用户故事 (User Story) 的更多信息,以下链接可以帮助您:
回到主题,敏捷团队使用 BDD 来解释从用户的角度描述应用程序应该如何运行的场景。
如何使用 BDD?
简而言之:将场景添加到用户故事中,以捕捉故事的接受标准。
使用这种技术,您可以确保开发需求、业务视角和最终用户的期望是一致的。
BDD 故事通常包括:
标题
标题以缩写语法编写,以快速描述谁正在采取何种行动以获得何种利益:
[用户角色] — [功能集] — [特定操作/结果]
这与典型的用户故事格式非常相似:
作为<人物>,我想要<功能>,为了<商业价值>
如果您使用建议的语法,您可以更简洁,同时使标题更加清晰,使项目板更容易理解。
背景
这是以叙述方式编写的部分,解释了功能的原因和/或业务案例。
设想
这部分应该以 Given/When/Then 格式编写,提供对要开发的功能的行为的清晰描述。
Given
— 特定的背景或要求。When
— 发生的动作。Then
— 由中的动作引起的可测试的预期结果When
And
— 用于根据需要连接其他上下文、预期结果和操作。
这种结构也被称为小黄瓜 (Gherkin) ,如果你想了解更多,下面的文章会更深入。
该场景的示例可能如下所示:
鉴于 (Given) 我在注册表单
并且 (And) 输入了所有这些必填字段
- 名
- 姓
- 电子邮件
- 密码
当 (When) 我提交表格
然后 (Then) 创建一个帐户
并将 (And) 帐户名称设置为我的电子邮件
- Write SMART Goals & INVEST for User Stories
- Theme vs Epic vs User Story vs Task
- What is DEEP in Product Backlog?
- How to Write Product Vision for Scrum Project?
- How to Use Scrum Board for Agile Development?
- Who Create Product Backlog Items or User Stories in Scrum?
- What is Agile Estimation?
- What is Story Point in Agile? How to Estimate a User Story?
- User Story Splitting - Vertical Slice vs Horizontal Slice