BDD - 介绍 Behavior-Driven Development 行为驱动开发
自从接触到 BDD,深有感触,BDD 是广大 QA 的福音,测试领域的天空豁然开朗。BDD 模式更有助于团队合作,提高工作效率,加快产品上线。即使一个不会代码的 QA,也有可能快速的实现自动化用例。当然前提是你的团队有一个核心的人,搭好了 BDD 测试框架。本文主要是介绍一下有关 BDD 概念。...
引言
自从接触到 BDD,深有感触,BDD 是广大 QA 的福音,测试领域的天空豁然开朗。BDD 模式更有助于团队合作,提高工作效率,加快产品上线。即使一个不会代码的 QA,也有可能快速的实现自动化用例。当然前提是你的团队有一个核心的人,搭好了 BDD 测试框架。本文主要是介绍一下有关 BDD 概念。
什么是 BDD
Behavior-driven development (BDD) 是一个软件开发流程,根据预期行为增量地构建功能。
BDD 有助于团队协作,通过下列方式消除业务人员和技术人员之间的分歧:
- 鼓励跨角色协作,针对要解决的问题建立共同的理解。
- 工作效率高,通过小型迭代获取反馈和价值。
- 产生系统文档用来自动检验系统行为。
用具体,现实的示例来解释系统的行为。在持续协作的过程中,用这些示例来引导我们从概念到实现。
相关软件开发流程
TDD
Test-Driven Development (TDD) 测试驱动开发,侧重于系统的实现。
ATDD
Acceptance-Test-Driven Development (ATDD) 验收测试驱动开发,侧重验收测试捕获系统需求。
BDD 和 TDD 的关系
BDD 是 TDD 的演变,将以测试为中心改进成以需求为中心。
TDD 用于单元测试,BDD 用于验收测试。
BDD 原则
Specification by Example (SbE) 示例以会话的形式阐明业务规则。
Test Driven Development (TDD) 将示例转换成人类可读,可执行的需求说明。
SbE 的流程:
BDD 流程
- 从一开始确认和鉴别特性行为
- 用 “Given-When-Then” Scenarios 场景描述行为。
1)使用 Gherkin 语言
2)Gherkin 步骤用直白的英文描述,大家都能明白
3)帮助 PO(product owners), 开发和 QA 更好的协作 - 自动化 Scenarios 场景
- 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”,快速解决误解和争执
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)