📜  软件工程中的行为驱动开发(BDD)

📅  最后修改于: 2021-08-25 10:57:24             🧑  作者: Mango

行为驱动开发(BDD)是指从TDD(测试驱动开发)方法派生而来的敏捷软件开发过程。 BDD被认为是说明系统行为的测试。它鼓励开发中涉及的每个人使用简单语言的对话和具体示例,以使系统行为更清晰。在此开发中,技术定义了多种基于系统行为来开发功能的方法,并且这些技术是结合了测试驱动开发(TDD)和域驱动开发(DDD)的。

行为驱动开发是自动化测试中的一种很好的方法,因为它更着重于系统的行为而不是代码的实现。通过自然语言促进BDD来表达系统的行为和系统的预期结果。在BDD中,所有参与方都像客户,开发人员,测试人员,利益相关方一样参与协作对话并说明系统行为。

敏捷开发中的行为驱动开发:

  • 客户和服务提供商就他们的需求进行了交谈。
  • 客户/客户,开发人员和测试人员共同阐述了需求。
  • 然后在结构化方案中定义需求。
  • 有助于开发并充当自动化测试,
  • 测试人员将这些场景用作测试的基础。

BDD生命周期:

  1. 描述行为–
    这包括产品流程和功能的主要构想。
  2. 定义需求–
    通过业务规则对需求进行建模,以获得共同的理解。
  3. 运行并通过测试–
    开发并运行测试用例。
  4. 应用代码更新–
    根据要求对其进行重构。
  5. 运行并通过测试–
    运行更新的代码并通过测试用例。

但是重要的一点是,BDD并不是要像TDD那样进行测试。 BDD就是要实现业务目标和要求。

使SDLC更简单:
SDLC(软件开发生命周期)被视为任何软件开发的框架或规范。 BDD在简化SDLC流程方面做出了巨大贡献。

  • 用标准英语定义需求/系统的行为可以使SRS(软件需求规范)更加容易和清晰。
  • 在客户,开发人员和测试人员之间加强协作。
  • 它对测试和部署阶段具有很大的积极影响。

行为驱动开发的好处:

  • 更加明确业务目标和客户要求。
  • 由于使用非技术语言,因此可以吸引更大的客户群。
  • 帮助在开发之前定义验收标准。
  • 从客户和开发人员的角度关注系统的行为。
  • 帮助避免不必要的功能,并包括重要功能。
  • 减少了修改后和部署后缺陷的工作量。
  • 避免在开发过程中产生误解。