📜  行为驱动开发-简介(1)

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

行为驱动开发-简介

行为驱动开发(Behavior-Driven Development,简称BDD)是一种敏捷软件开发方法,它强调软件开发应该关注于软件如何在定义的场景下(指如何使用)行为良好,它将软件功能,场景和用户需求组合在一起,推崇团队开展的一种敏捷软件开发技术与方法。

BDD的特点
  • 对于测试的需求表达更为明确。
  • 帮助开发人员更好的理解需求,防止不必要的开发,并赋予需求开发测试的能力。
  • 网络上有大量的BDD工具,可以比较容易地找到自己喜欢的工具,并进行集成。
BDD流程
  1. 确认验收条件:开发团队必须首先与客户/用户协商说明开发/需求的需求,确定阀值(all criteria that must be met)即验收条件,以便明确目标。一般用场景描述场景(scenarios)来描述验收条件。
  2. 针对验收条件编写测试样例:为实现验收条件,开发团队将针对验收条件编写具有各种输入/输出行为的测试用例。
  3. 编写测试文件:将测试样例与测试代码(preferably Behaviour Driven Development Testing Framework)整合并存储为测试文件,以便开发人员能够围绕这些测试进行开发。
  4. 开发特定的代码:开发人员将开发源代码以实现测试样例中指定的行为。
  5. 验证特定行为:一旦特定行为被开发并与输入数据一起组合,团队将执行测试文件以确认测试是否通过。如果发现错误,开发人员将修复bug并重新编码。如果编写的代码成功,它将被更新到代码库中以供发布。
BDD框架

目前在BDD 领域有许多知名的框架,每个框架都有自己的独特特点和操作方式。使用一个好的BDD框架可以使得BDD的使用更加容易和舒适,下面是一些比较流行的BDD框架:

| 框架 | 语言 | 版本 | 支持程度 | 优点 | |:----:|:----:|:----:|:----:|:----:| | Cucumber | Java | 6.9.0 | A+ | 语法简洁,可读性强 | | Behat | PHP | 3.0 | A+ | 模仿Cucumber语法,易上手 | | Lettuce | Python | 5.5 | B | 链式调用让语法更加清晰 |

总结

BDD是一种敏捷软件开发方法,它强调软件开发应该关注于软件如何在定义的场景下(指如何使用)行为良好,用场景化的方式作为入手点来推动软件项目开发,达到用户真正需要的目标。BDD能够使得团队和客户间的交流更加清晰,同时也能够实现对开发流程的可持续、高效的控制,对于推动软件开发进程有很大帮助。