关键要点

  • 行为驱动开发 (BDD) 是一个开发过程,它优先考虑技术团队和非技术团队之间的协作。
  • 使用 BDD,测试用例是用自然语言编写的,并考虑了业务的价值和用户功能。 LoadView 可以成为 BDD 开发工具包中的有用工具,因为我们提供了一个可访问的平台,其中包含技术和非技术用户可以快速理解的报告。

开发人员是启动网站、应用程序或 API 不可或缺的一部分,但他们并不是唯一参与其中的人。 从产品经理到业务分析师,每个人都在开发和维护强大的网络形象方面拥有平等的利益。 不同的团队有不同的优势、知识和技能组合。 营销助理可能不如软件工程师精通开发,那么如何确保团队的每个成员都在同一页面上呢? 这就是行为驱动开发的用武之地。

行为驱动开发 (BDD) 是一个开发过程,它优先考虑团队之间的协作,以帮助您以服务于所有相关人员的方式启动您的网站。 在实现 BDD 过程时,团队能够形成一种一致的、可访问的语言,程序员和非程序员都可以理解。 测试用例是用自然语言编写的,并考虑了您的业务价值和用户功能。

我们在 LoadView 致力于帮助您的企业在每个部门蓬勃发展,因此让我们更多地了解 BDD,并了解 BDD 如何帮助您的团队协同工作。

behavior driven development
 

BDD简史

2006年,软件开发人员Dan North注意到他工作的公司内部部门之间存在沟通差距。 似乎像产品和营销经理这样的技术团队对关键发展一无所知,软件开发人员在浏览他们的网站时没有意识到用户的主要问题。

从这些差距中,诺斯能够开发出一个新系统。 BDD 从测试驱动开发 (TDD) 分支出来,专注于真实的人类行为、简单的英语和清晰的逻辑模型。 此过程考虑了业务问题以及技术需求。 它采用了以前复杂的模型,并将它们翻译成一种新的领域特定语言(DSL),尽可能接近简单的会话英语。

这个DSL变成了BDD的定义因素,即给予/何时/然后模型。
 

给予/何时/然后模型

在给予/何时/然后模型中,每个部分都定义了交易或在线交互的一个阶段。

  • 给予:指方程的给定部分。 现状。 我们在用户对界面进行操作之前开始的地方
  • 时间:是用户执行的触发交互的操作。 在搜索栏中输入的点击、交易或关键字都是可能的“何时”
  • 然后:是之后的事情,行动引发的反应。

下面是一个给予/何时/然后场景的示例:

  • 假设账户 1 有 0 美元,账户 2 有 100 美元
  • 当账户 2 将 50 美元转入账户 1 时
  • 然后账户 1 有 50 美元,账户 2 有 50 美元

这种简单的英语模型使编程情况易于在部门之间共享。 DSL可以被任何人理解,无论是否是开发人员。 在运行功能和非功能测试时,使用给定/何时/然后模型可确保通信中没有间隙。

这是BDD的基本功能,用简单的英语来开发一个所有人都能理解的DSL。 使用 BDD 开发网站、应用程序或 API 有很多好处,开发 DSL 只是其中之一。
 

使用 BDD 进行开发的优点

如果您与多元化的团队合作,BDD 将提供强大的优势。 它专注于功能、清晰的沟通和用户体验,使其成为非技术娴熟客户的在线业务和数字服务的绝佳流程。 BDD 是:

  • 高效:拥有所有利益相关者都同意的明确定义的功能和语言是 BDD 的一个关键优势。 大家步调一致,业务和编码方面的发展就能够及时形成。 由于所有团队都在一起工作,因此返回并返工非功能性元素所需的时间将减少。
  • 便宜:BDD 不仅有利于您的业务价值,也有利于其底线。 定义良好的语言意味着可以轻松创建和验证测试用例。 这些测试用例可以通过清楚地了解预期内容和时间来实现自动化。 自动化这些测试可以降低应用程序测试的成本。
  • 高质量:在非开发团队的帮助下,设计师和程序员可以立即获得有关用户体验的反馈。 这迫使他们从用户的角度思考和发展。 从用户角度进行开发也有助于开发人员编写稳定、可扩展和可测试的代码。 这有助于在用户问题发生之前防止它们。

 

使用 BDD 进行开发的缺点

尽管 BDD 在某些情况下可能是一个很棒的过程,但它并不通用。 BDD的发明是为了解决问题并缩小TDD方法中的差距。 如果程序员经验不足,不精通TDD开发过程,或者依赖特定的工具和编程语言,BDD可能不是正确的选择。

BDD 依赖于良好的沟通,这意味着拥有一支专门的开发人员团队,可以与服装、用户和其他团队的代表进行有效沟通。 这可能意味着额外的开销。
 

常用的 BDD 工具

BDD 在开发人员社区中很受欢迎。 许多人采用了BDD方法,并开发了一系列工具来完成工作。 以下是一些流行的BDD工具。

  • Cucumber 一个流行的 BDD 协作开源平台。 它可以帮助团队以纯文本形式构建功能。 它使用DSL提供凝聚力,易于与整个团队共享。 它实现了 Gherkin 语法。
  • 生菜 建立在Cucumber之上,非常适合基于Python的应用程序。
  • Specflow 是另一个使用 Gherkin 语法的开源 BDD 平台。它是为 .NET 平台构建的。

 

使用 LoadView 进行行为驱动开发

BDD 是一个过程,性能测试是该过程的重要组成部分。 自动化性能测试是 BDD 的重要组成部分,有助于确保快速周转以使您的网站启动。 LoadView 运行性能测试,使用简单的脚本模拟真实用户行为,以便您可以使用 BDD 最佳实践自动执行测试。 能够测试您的网站在各种用户负载、用户位置和压力水平下的表现可以帮助参与行为驱动开发的每个部门。

LoadView 是一个可访问的平台,不需要以前的编码知识,使其成为跨多个非技术部门工作的团队的绝佳选择。 LoadView 旨在测试:

  • 网页
  • 原生移动应用
  • Api

behavior driven development
 

立即试用 LoadView

BDD 旨在在开发过程中以业务价值为中心,始终牢记用户的最终结果。 LoadView 可以帮助您自动执行性能测试,以实现高效且易于理解的开发。 免费试用 LoadView立即安排演示 ,了解如何在公司的 BDD 流程中实施性能测试。