# 行为驱动开发

> 行为驱动开发（英語：Behavior-driven development，缩写BDD）是一种敏捷软件开发的技术，它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名，它包括验收测试和客户测试驱动等的极限编程的实践，作为对测试驱动开发的回应。在过去数年里，它得到了很大的发展。 2009年，在伦敦发表的“敏捷规格，BDD和极限测试交流”中，Dan North对BDD给出了如下定义： BDD是第二代的、由外及内的、基于拉（pull）的、多方利益相关者的（stakeholder）、多种可扩展的、高自动化的敏捷方法。它描述了一个交互循环，…

- ID: m02192
- 分类: culture
- 领域: 语言学

## 定义

TDD的进化版。使用自然语言（Given/When/Then格式）来描述软件的行为，让非技术人员（产品经理、客户）也能读懂测试用例。脚手架作用：统一语言。它将技术测试转化为业务故事。在跨专业协作中，建立一种所有人都能听懂的“通用语言”（Ubiquitous Language）是降低协作成本的关键。

## 机制

Behavior-Driven Development（BDD）用自然语言化的‘ Given-When-Then’场景描述行为，使开发、测试与业务对齐。

## 练习

与干系人共创可执行的行为场景；用工具把场景转为自动化测试；以场景驱动实现。

## 脚手架用法

统一语言。它将技术测试转化为业务故事。在跨专业协作中，建立一种所有人都能听懂的“通用语言”（Ubiquitous Language）是降低协作成本的关键。

[阅读网页](https://thinkingmodels.site/entries/detail/m02192)
