当前位置:文档之家› 行为驱动开发

行为驱动开发

行为驱动开发
行为驱动开发(简称BDD)是测试驱动开发的升级版。

它是一套软件工程实践方法,能帮助研发团队更快地构建和交付更有价值和更高质量的软件产品。

采用BDD思想编写的测试读起来更像规格说明书而不是单元测试,所以它是使用测试作为表达和验证行为的一种手段。

基于这个特性,BDD也非常适合应用在需求分析中。

一、行为驱动开发的原则
1.聚焦交付业务价值。

使用验收标准作为目标,帮助业务实现更实际的可交付的功能。

2.团队共同确定交付标准。

业务分析人员,开发人员,测试人员与最终用户一起定义和指定功能。

3.拥抱变化。

项目开始时不锁定需求,而是假设需求,从用户那里得到早期的反馈,对需求的理解将在项目的整个生命周期中演进和变更。

4.不仅仅编写自动化测试,而是编写可执行规范和底层规范。

团队将验收标准转换为自动化的验收测试,更准确地说是转换为可执行规范。

在编写任何代码之前,开发人员将考虑代码实际上应该做什么,并将其表示为底层的可执行规范。

可执行规范是一种自动化测试,它演示和验证应用程序如何交付特定的业务需求。

自动化测试作为构建过程的一部分运行,并在对应用程序进行更改时运行,进行验收测试和回归测试。

5.交付活文档,并使用活文档来支持后续维护工作。

在项目结束后持续维护项目可执行规范。

二、行为驱动开发的优势
1.专注业务目标,避免工程师把工作量浪费在不提供业务价值的功能上,能够降低成本,减少浪费。

2.完整的可执行规范,可充当开发人员的辅助技术文档,更容易理解现有的代码库并进行更改。

3.全面的自动化验收测试和回归测试,不仅可以提升执行效率,也能降低手工测试的出错率,使得迭代速度更快更可靠。

三、行为驱动开发的缺陷
1. 需要多个角色高度参与和协作,涉众如果不愿意或不能参与对话和协作,或者等到项目结束后才给出反馈,就很难充分利用BDD的优点。

2.比较适用于敏捷开发,但不太适用于瀑布式开发。

3.对参与角色能力要求很高,尤其是测试团队,不仅需要精通业务,对业务目标清晰,而且对测试技术能力要求更高,如果编写的自动化测试很烂,会导致更高的测试维护成本。

相关主题