BDD - 介绍 Behavior-Driven Development 行为驱动开发

BDD - Behavior-Driven Development 行为驱动开发

  • 引言
  • 什么是 BDD
  • 相关软件开发流程
    • TDD
    • ATDD
    • BDD 和 TDD 的关系
  • BDD 原则
  • BDD 流程
  • BDD 优势

引言

自从接触到 BDD,深有感触,BDD 是广大 QA 的福音,测试领域的天空豁然开朗。BDD 模式更有助于团队合作,提高工作效率,加快产品上线。即使一个不会代码的 QA,也有可能快速的实现自动化用例。当然前提是你的团队有一个核心的人,搭好了 BDD 测试框架。本文主要是介绍一下有关 BDD 概念。

什么是 BDD

Behavior-driven development (BDD) 是一个软件开发流程,根据预期行为增量地构建功能。

BDD 有助于团队协作,通过下列方式消除业务人员和技术人员之间的分歧:

  • 鼓励跨角色协作,针对要解决的问题建立共同的理解。
  • 工作效率高,通过小型迭代获取反馈和价值。
  • 产生系统文档用来自动检验系统行为。

用具体,现实的示例来解释系统的行为。在持续协作的过程中,用这些示例来引导我们从概念到实现。

相关软件开发流程

TDD

Test-Driven Development (TDD) 测试驱动开发,侧重于系统的实现。
BDD - 介绍 Behavior-Driven Development 行为驱动开发_第1张图片

ATDD

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

BDD - 介绍 Behavior-Driven Development 行为驱动开发_第2张图片

BDD 和 TDD 的关系

BDD 是 TDD 的演变,将以测试为中心改进成以需求为中心。

TDD 用于单元测试,BDD 用于验收测试。
BDD - 介绍 Behavior-Driven Development 行为驱动开发_第3张图片

BDD 原则

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

SbE 的流程:
BDD - 介绍 Behavior-Driven Development 行为驱动开发_第4张图片

BDD 流程

  1. 从一开始确认和鉴别特性行为
  2. 用 “Given-When-Then” Scenarios 场景描述行为。
    1)使用 Gherkin 语言
    2)Gherkin 步骤用直白的英文描述,大家都能明白
    3)帮助 PO(product owners), 开发和 QA 更好的协作
  3. 自动化 Scenarios 场景
  4. BDD 完美结合 Agile 敏捷软件开发

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”

BDD 优势

  • 代码质量高:
    产品和测试代码
    可测试的代码在设计上更佳
    模块化,灵活性,可读性。
  • 信心
    测试覆盖较小,增量片系统需求
    测试也覆盖已经存在的功能
    作为一个安全网,覆盖现有的功能测试行为
    团队可以成长,变化更容易
  • 快速发布
    Scenarios 场景容易写,特别是可以重复利用步骤
    方便添加新的功能需求场景,不影响现有的场景。
    通过左移 “shifting left”,快速解决误解和争执

你可能感兴趣的:(BDD,BDD,行为驱动开发,验收测试,TDD,测试驱动开发)