📜  BDD-示例规格(1)

📅  最后修改于: 2023-12-03 15:29:36.364000             🧑  作者: Mango

BDD-示例规格介绍

BDD(行为驱动开发)是一种敏捷开发方法论,它强调把软件开发过程中的每个环节从开发人员和客户的观点统一起来。BDD的核心理念是,我们应该尽早、尽快、尽好地掌握业务需求并将其贯穿整个开发周期,这实现了对软件的可理解性、可变性和可维护性。

为了帮助客户和开发人员更好地理解需求,并在整个开发周期中依照这些需求来编写和测试代码,BDD使用了一种称为“示例规格”的方法。

什么是BDD-示例规格?

BDD的核心思想是将开发人员和客户的视角融合在一起,以便更好地将业务需求传达给开发团队。其中,BDD-示例规格是一种技术手段,旨在让开发人员和客户共同编写具体的、可执行的需求描述,以便验证应用程序是否按预期进行。

BDD-示例规格通常包括以下内容:

描述

该部分描述了欲开发的功能和具体需求。例如,对网站的一个订单处理页面进行开发,其中需要包括一个下拉菜单以供用户选择支付方式。

上下文

该部分描述如何设置场景和服务来触发功能。

例如,如果需要对订单处理页面进行测试,则可以模拟用户提交订单在形式上的Uniregistry。可以设置测试环境的排版、菜单栏、样式、销售税等所有设置,以便在程序实际上线运行时不出任何差错。

执行

该部分描述了开发人员预期欲达到的结果。

例如,当用户选择一种支付方式后,页面上应该显示必要的输入框,以便用户能够输入其信用卡或银行卡信息。

验证

该部分描述了如何确保欲开发的功能按照要求执行。

例如,可以实现对输入的信用卡信息进行格式化和校验,并向用户提供必要的错误提示信息。

例子

最后,利用丰富的实例来描述整个开发做法,在一个单独的例子中,描述所有组件的功能和参数。这可以帮助开发人员更好地理解代码正在达到的、完全满足需求的预期。

基于Gherkin的BDD-示例规格语法

示例规格的语法和格式可以基于Gherkin语言来制定。Gherkin是一种自然语言类似的语法,以确保所有工作人员(包括开发人员、测试人员和业务人员)都可以理解和书写示例规格。

Gherkin的用途是描述软件中的行为特征,例如:输入一个钱包地址,将我的余额从多个其他地址转移到这个地址。如果将此转化为Gherkin,代码将如下:

Feature: 转账
Scenario: 成功转账
Given 我有两个地址:地址A 和地址B
And 地址A中有50 ETH
When 我从地址A向地址B转移10 ETH
Then 地址A的余额应该是40 ETH
And 地址B的余额应该是10 ETH

该示例代码称为“Feature文件”的一个实例。Feature文件可以包含多个Scenario,每个Scenario都描述了单个业务案例。在上述示例中,Scenario描述了转账后成功的情况。

如何使用BDD-示例规格?

在使用BDD-示例规格时,可以采用以下步骤:

  1. 开发人员和客户一同编写示例规格。

  2. 将示例规格添加到应用程序源代码仓库中以便之后参考。

  3. 确保示例规格可以自动执行。

  4. 每次进行代码提交时,确保示例规格都能通过测试。

  5. 每次迭代之后,确保示例规格都得到了更新。

结论

BDD-示例规格是一种极为强大和有用的开发方法,将客户和开发人员的视角融合在一起,将需求驱动到代码实现中。它可以促进更好的沟通、更少的错误、更好的可理解性,从而提高软件产品开发的整体质量。