本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
行为驱动开发 (BDD) 是一种敏捷软件开发过程,它鼓励开发人员、质量保证 (QA) 团队和业务利益相关者在整个软件开发过程中进行协作。 BDD 是一个将测试驱动开发 (TDD) 的一般技术和原则与敏捷的沟通和协作优势相结合的过程。它是一种流行的开发方法,侧重于应用程序的行为以提供业务价值。
BDD 于 2006 年由 Dan North 作为 TDD 的演变首次引入。 North 受到 Kent Beck 的启发,Kent Beck 在 1990 年代后期开发了 TDD。 North 的目标是创建一个流程,帮助弥合业务利益相关者和开发人员之间的沟通鸿沟。 BDD现在广泛应用于软件开发中,被认为是敏捷方法论的重要组成部分。
BDD 是一个从用户的角度关注应用程序行为的过程。它是一个迭代过程,从用户的需求开始,向后推向代码。 BDD 基于这样一种理念,即开发过程应该由应用程序的行为驱动,而不是由代码驱动。
该过程从用户的需求和期望开始。然后将用户的需求分解为描述应用程序应如何运行的各个场景。然后使用这些场景创建可用于验证应用程序行为的自动化测试。然后使用测试来指导开发过程,确保应用程序满足用户的期望。
BDD 的主要特征是它从用户的角度关注应用程序的行为。这有助于确保应用程序满足用户的需求和期望。 BDD 还鼓励开发人员、QA 团队和业务利益相关者之间的协作。这有助于确保所有利益相关者清楚地了解应用程序的行为,并确保应用程序正在以满足用户需求的方式开发。
例如,假设用户想要一个可以搜索书籍的应用程序。用户的需求可能包括按标题、作者和流派进行搜索的能力。 BDD 过程首先将用户的需求分解为单独的场景。
例如,一种情况可能是:“给定用户按书名搜索书籍,当用户输入有效书名时,应用程序应显示具有该书名的书籍列表。”
下一步是创建验证此场景的自动化测试。测试将使用 Cucumber 或 Gherkin 等语言编写,并用于确保应用程序按预期运行。
BDD 的主要优势在于它有助于确保应用程序满足用户的需求和期望。它还鼓励利益相关者之间的协作,这有助于确保以满足用户需求的方式开发应用程序。
BDD 的主要缺点是它可能很耗时。为每个场景编写自动化测试可能是一个漫长的过程,而且很难跟上用户不断变化的需求。
BDD 与 TDD 密切相关,TDD 是另一种敏捷软件开发过程。 TDD关注的是代码,而不是应用程序的行为,用于保证代码的高质量。 BDD 和 TDD 可以一起使用,以确保应用程序满足用户的需求并确保代码的质量。
行为驱动开发是一种敏捷软件开发过程,它从用户的角度关注应用程序的行为。它鼓励开发人员、QA 团队和业务利益相关者之间的协作,并有助于确保应用程序满足用户的需求和期望。 BDD 与 TDD 密切相关,可以一起使用,以确保应用程序满足用户的需求和代码的高质量。