自从接触到 BDD,深有感触,BDD 是广大 QA 的福音,测试领域的天空豁然开朗。BDD 模式更有助于团队合作,提高工作效率,加快产品上线。即使一个不会代码的 QA,也有可能快速的实现自动化用例。当然前提是你的团队有一个核心的人,搭好了 BDD 测试框架。本文主要是介绍一下有关 BDD 概念。
Behavior-driven development (BDD) 是一个软件开发流程,根据预期行为增量地构建功能。
BDD 有助于团队协作,通过下列方式消除业务人员和技术人员之间的分歧:
用具体,现实的示例来解释系统的行为。在持续协作的过程中,用这些示例来引导我们从概念到实现。
Test-Driven Development (TDD) 测试驱动开发,侧重于系统的实现。

Acceptance-Test-Driven Development (ATDD) 验收测试驱动开发,侧重验收测试捕获系统需求。

BDD 是 TDD 的演变,将以测试为中心改进成以需求为中心。
TDD 用于单元测试,BDD 用于验收测试。

Specification by Example (SbE) 示例以会话的形式阐明业务规则。
Test Driven Development (TDD) 将示例转换成人类可读,可执行的需求说明。
SbE 的流程:

Senario Example
比如, 我们在百度搜索 BDD,就可以用 Gherkin 描述示例场景。
Given the user is on Baidu home page
When the user searches for “BDD”
Then the results page shows document links for “BDD”