什么是BDD?

BDD的全称是行为驱动开发,其设计来源于TDD(测试驱动的开发)。它允许用户以最少的测试代码来处理多个测试数据或场景,这有助于提高测试代码的可重用性。它是软件开发和测试自动化中一种节省时间成本的手段。

继承于TDD,BDD不仅有TDD的优点,还具备以下特点:

  • 测试场景写在不同的文件中,这些文件称为Feature文件
  • 测试步骤使用可读性语言来描述
  • 代码在步骤定义文件中进行编写

为什么使用BDD框架?

在BDD框架出现之前,测试工程师都在使用TDD进行脚本开发。如果测试人员熟悉所使用的框架并且有足够的技能知识,TDD在软件开发中将起到非常好的作用。但是,情况往往并非总是如此,并不是每个测试工程师都能够很好的进行编程、使用TDD框架。

BDD框架提供了一种缩减技术团队和非技术团队之间差距的方法,因为测试用例通常是用简单的文本编写的,非技术人员进行业务描述,技术人员进行脚本逻辑实现。BDD的主要优点是术语少,方法清晰,易于理解。

如何实现BDD?

测试场景应该用易于理解的语言编写,详细描述测试、如何测试程序以及每个人都能理解的程序操作行为。

在本文中,我们将重点介绍Cucumber框架 – 一种实现了BDD的测试框架,并将学习如何使用其描述性语言Gherkin。

Cucumber

Cucumber是一个用于编写BDD测试用例的框架。

Given – When – Then

Given:给定的上下文(前提条件)

When:执行某个动作(动作)

Then:上述步骤的特定结果(结果)

Copy to Clipboard

Step Definition文件,既测试步骤文件

Copy to Clipboard

使用BDD的优点

清晰的测试场景

Gherkin语言使用可读性语言来描述测试场景,测试步骤,测试验证点。测试描述文件与测试步骤文件在BDD中单独存放,这样的好处是可以让非技术人员轻松理解自动测试逻辑,快速修改测试场景。

Gherkin的可读性确保了每个用户场景的清晰,这有助于构建正确的产品。

测试场景自动化

BDD框架中的Gherkin语法实现允许自动化测试人员轻松地使用正确的语法编写测试脚本,并且与测试场景、测试步骤进行绑定。

重用代码

使用Given-When-Then语法可以让测试人员在测试文件中重复使用相同的步骤,这有助于为自动化测试人员节省时间,复用已开发的代码。

Copy to Clipboard

测试步骤参数化

用户可以参数化测试文件中的每一个测试步骤,在重用测试步骤以外,可以传入不同数据进行测试。

参考上面的示例场景,可以通过在单行中或单独的数据表中填充测试数据,参数将传递到步骤定义并依次执行。

结论

在敏捷方法论中,行为驱动开发(BDD)是一种非常高效的方法。建议在团队中使用BDD来进行研发与测试,以减少团队间对于产品的理解误差。

希望本文能帮助您了解BDD的基本知识,如果想了解更多关于BDD的使用,请与我们联系。