行为驱动开发至简说明

一、行为驱动开发(BDD)简介

  1. 什么是行为驱动开发

        行为驱动开发 (BDD) 是一种源自测试驱动开发 (TDD) 方法的测试方法。在 BDD 中,测试工作主要基于系统行为。这种方法定义了基于其行为开发功能的各种方,在大多数情况下,用“Given-When-Then”的方法用于编写测试用例。举个例子来:

-Given: 用户输入了有效的登录凭据

-When: 当用户点击登录按钮时

-Then: 显示验证成功消息

如上所示,该行为以一种非常简单的自然语言进行了说明,也称为共享语言。这有助于团队中负责开发的每个人包括开发人员、测试人员、业务人员,甚至客户/用户了解新的需求的功能行为。

图1 典型的行为驱动开发操作图

        2. 行为驱动开发方法的优势

  1. 通过使用非技术语言,即自然语言/共享语言帮助覆盖更广泛的受众;
  2. 从客户和开发人员的角度关注要实现的系统功能的行为方式;
  3. BDD 是一种具有成本效益的技术,即,用较低的成本,比如沟通成本,来换取明确的需求理解;
  4. 可以减少生产上发现和验证缺陷所需的工作量。

        3. 行为驱动开发如何在 SDLC 中提供帮助

        在开发生命周期的后期调试错误通常被证明成本是指数级上升的。在大多数情况下,对需求的理解不明确是其背后的根本原因。需要确保所有开发工作始终朝着满足预定要求的方向发展。 BDD允许开发人员通过以下方式执行上述操作:

  1. 允许使用简单的共享语言以标准方法定义需求;
  2. 提供多种方式来说明现实世界的场景以了解需求;
  3. 提供一个平台,使技术和非技术团队能够协作了解需求。

二、行为驱动开发框架-Cucumber框架

  1. 什么是Cucumber框架

        Cucumber是典型的BDD框架,是一个用 Ruby 编写的开源软件测试工具,能够编写任何人都可以轻松理解的测试用例,其本质上是通过“正则表达式”,将自然语言与代码函数做映射关联。

Cucumber 用于执行用“Gherkin”语言编写的自动化验收测试。 Gherkin是一种用于行为描述的领域特定语言,而且具有商业可读性。

        2. Cucumber自动化测试的两个文件

        Cucumber 测试自动化利用了两个重要文件--

  1. 功能文件(Feature file):包含用 Gherkin 编写的代码(纯英文文本)。

图2 功能文件示意图

        2. 步骤定义文件(Step define file): 包含开发人员编写的实际代码。

图3 步骤定义文件示意图

        3. 行为驱动开发使用Cucumber的优势

  1. 专注于定义“行为”而不是定义“测试”;
  2. 加强跨职能产品团队成员之间的沟通;
  3. 通过使用非技术语言帮助覆盖更广泛的受众;
  4. 使测试人员能够从开发人员和客户的角度了解系统应如何执行;
  5. 代码质量的提高降低了维护成本,也将项目的相关风险降至最低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值