什么是行为驱动开发(BDD)?
关键要点
- 行为驱动开发(BDD)是一种优先促进技术团队和非技术团队协作的开发流程。
- 通过BDD,测试用例以自然语言编写,考虑到您的业务目标和用户功能。LoadView可以成为BDD开发工具包中的有用工具,因为它提供了一个易于访问的平台,技术和非技术用户都能快速理解报告。
开发人员是启动网站、应用或API的重要组成部分,但他们不是唯一参与的人。从产品经理到业务分析师,每个人都对开发和维护强大的网络存在感有利益相关。不同团队拥有不同的优势、知识和技能。营销助理可能不像软件工程师那样熟悉开发,那么如何确保团队中的每个成员都理解一致呢?这就是行为驱动开发的用武之地。
行为驱动开发(BDD)是一种优先促进团队协作的开发流程,帮助您以服务所有相关人员的方式构建网站、应用或API。在实施BDD流程时,团队能够形成一种统一且易于理解的语言,程序员和非程序员都能理解。测试用例以自然语言编写,考虑到您的业务目标、用户功能和预期结果。
我们LoadView致力于帮助您的业务在各个部门蓬勃发展,让我们更深入了解BDD,并看看BDD如何帮助您的团队协同工作。

BDD简史
2006年,软件开发者Dan North注意到他所在公司内部的部门之间存在沟通障碍。看起来像是产品和营销经理等技术含量较低的团队对关键开发情况一无所知,而软件开发人员在浏览他们的网站时也不了解用户的主要关切。
基于这些沟通差距,North开发出了一套新系统。BDD是测试驱动开发(TDD)的衍生,关注真实的人类行为、通俗英语和清晰的逻辑模型。该流程兼顾业务需求和技术要求。它将之前复杂的模型翻译成一种新的领域特定语言(DSL),尽可能接近通俗的对话式英语。
这种DSL成为BDD的标志性特征,即given/when/then模型。
Given/When/Then模型
在given/when/then模型中,每个部分定义了在线事务或交互的一个阶段。
- Given: 指用户与界面交互前的初始条件。
- When: 指用户执行的触发交互的操作。点击、交易或在搜索栏输入关键词都是可能的“when”操作。
- Then: 指操作后预期的结果。
以下是一个given/when/then情境示例:
- Given账户1有$0,账户2有$100
- When账户2向账户1转账$50
- Then账户1有$50,账户2有$50
这种通俗英语模型让部门间更容易共享编程情境。这个DSL可以被任何人理解,无论其是否开发者。在进行功能性和非功能性测试时,使用given/when/then模型有助于减少沟通差距。
这是BDD的核心功能:使用通俗英语开发所有人都能理解的DSL。使用BDD开发您的网站、应用或API有许多好处,而开发DSL只是其中之一。
采用BDD开发的优点
如果您与一个多元化团队合作,BDD提供了强大的优势。它专注于功能性、清晰的沟通和用户体验,使其成为拥有非技术利益相关者的在线业务和数字服务的有效流程。BDD具有:
- 高效: 定义明确的功能和所有利益相关者一致认同的语言是BDD的关键优势。全员达成共识后,业务和技术开发能够及时开展。各团队协同工作,减少了返工非功能性元素的需要。
- 成本效益高: BDD不仅符合您的业务价值观,还能帮助减少开发过程中的浪费。明确的语言使创建和验证测试用例更便捷。清晰的预期使这些测试用例可自动化执行。自动化测试有助于降低应用测试成本。
- 高质量: 有了非开发团队的协助,设计师和程序员能更早获得用户体验反馈。这促使团队从用户角度思考和开发。以用户视角开发还帮助开发者编写稳定、可扩展且易测试的代码,有助于预防用户问题的发生。
采用BDD开发的缺点
虽然在某些情况下BDD可能是极佳的流程,但它并非通用。BDD的诞生是为了解决TDD方法中的问题和弥补不足。如果程序员经验较少、不熟悉TDD开发流程,或过于依赖特定工具和编程语言,BDD可能需额外努力才能有效实施。
BDD依赖良好的沟通。这意味着需配备一支由专职开发人员、产品负责人、QA团队和业务利益相关者组成的团队,他们能有效地与客户、用户及其他团队代表沟通。如果团队没有明确流程,这可能增加额外负担。
流行的BDD工具
BDD在开发者社区中非常受欢迎,许多团队采用BDD方法并使用各种工具支持。以下是一些流行的BDD工具。
- Cucumber: Cucumber是一个流行的开源BDD协作平台。它帮助团队以纯文本构建功能,并通过易于全员共享的DSL实现凝聚力。它实现了Gherkin语法。
- Lettuce: Lettuce基于Cucumber构建,适用于基于Python的应用程序。
- SpecFlow: SpecFlow是另一个开源BDD平台,也使用Gherkin语法。它适用于.NET平台。
使用LoadView进行行为驱动开发
BDD是一种流程,性能测试可以成为该流程的重要部分。随着团队将BDD工作流与CI/CD流水线和自动化测试结合,性能期望也能在开发周期的早期定义。例如,团队可以围绕登录速度、结账可靠性、API响应时间,或应用在预期用户负载下的表现创建共同的期望。
LoadView运行模拟真实用户行为的性能测试,使用简单的脚本支持您的BDD流程,提供真实的性能数据。测试您的网站在不同用户负载、用户地点和压力水平下的表现,有助于参与行为驱动开发的所有部门了解应用是否满足技术和业务期望。
LoadView是一个容易使用的平台,无需之前的编码知识,非常适合跨多个技术与非技术部门的团队。LoadView支持测试:
- 网页
- 原生移动应用
- API
今天就试用LoadView
BDD旨在在开发过程中聚焦业务价值,同时兼顾用户最终体验。LoadView可以帮助您将性能测试纳入这个流程,提供技术和非技术团队都易于理解的测试和报告。免费试用LoadView或今天预约演示,看看如何将性能测试融入您公司的BDD流程。
将您的负载测试提升到 新高度
提升到新高度
体验无与伦比的功能和无限可扩展性。无需信用卡,无需合约。