写点什么

介绍行为驱动开发

  • 2015-02-16
  • 本文字数:950 字

    阅读完需:约 3 分钟

当定义了新项目的期望结果后,行为驱动开发 (BDD)有助于克服开发人员对构建产品需求的理解与业务人员对需求引起的技术困难理解之间的差距。其原因是两组之间的沟通得到了改善,Alistair Stead 和 Konstantin Kudryashov 两人都在Inviqa 工作,在他们的 BDD 入门指南中针对业务和技术人员做了解释。

Stead 和 Kudryashov 把 BDD 分成了两个主要的实践:用通用语言写用例来描述行为,以及用这些用例作为自动化测试的基础。结合这两个实践就可以为用户验证其功能性,以及在整个项目周期中系统的行为与所定义的一致。

Stead 和 Kudryashov 指出的 BDD 的关键元素包括:

  • 创建目标,最好在项目开始的时候从业务的角度定义具体的,以及可衡量的目标。
  • 影响地图( Impact Mapping),是找到一种可以达到设定目标的、对业务最重要的那些功能的方法。影响地图可视化了为什么这些功能是需要的,以及为达到目标需要改变的那些行为。
  • 复杂度分析,找到一种最适合开发与合作方法的方式,例如 Cynefin
  • 用用例做计划,通过用例来描述业务规则,以及提供上下文来避免误解。这些用例接下来还应该转化成开发阶段所使用的测试用例。
  • 通用语言( Ubiquitous language,这是来自于领域驱动设计(Domain-Driven Design(DDD)) 方法的术语,指的是开发人员和业务人员为某个领域中的术语达到共同的理解,而使用的一种共享语言。
  • 通过用例开发。通过一种形式语言和类似于 Cucumber 的自动化工具实现,用例可以转化成可执行的规范,从而验证实现的功能。
  • BDD**** 循环。能够提供对系统大变更的支持。使用可执行的规范,并将单元测试作为系统的各个部分应该如何表现的对象规范,就能够获得可以处理任意大小规模变更的能力。

在一次对 Dan North (他在 2006 年左右开发了 BDD)的采访中,他强调 BDD 不是关于测试的,它是在应用程序存在之前,写出用例与期望,从而描述应用程序的行为,并且促使在项目中的人们彼此互相沟通。North 说明了保持人们互相亲近的重要性,分离式结构或跨地域团队是成功实施 BDD 一大障碍。

查看英文原文: Introducing Behaviour-Driven Development


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-02-16 09:534652
用户头像

发布了 55 篇内容, 共 16.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

我和极客时间的故事

查拉图斯特拉说

我和极客时间的故事

AI见证每一跳的闪耀!百度成为中国国家跳水队人工智能合作伙伴

飞桨PaddlePaddle

人工智能 百度

AI监管与政策:塑造人工智能未来

测吧(北京)科技有限公司

测试

人工智能的潜在益处与风险

测吧(北京)科技有限公司

测试

HarmonyOS音频开发指导:使用AudioRenderer开发音频播放功能

HarmonyOS开发者

HarmonyOS

优测云测试平台 | 有效的单元测试

优测云服务平台

测试 单元测试 云平台 测试开发

大模型的幻觉 (Hallucination) 因何而来?如何解决幻觉问题?

Baihai IDP

人工智能 AI 大模型 白海科技 大模型幻觉

培养AI领域的未来人才

测吧(北京)科技有限公司

测试

AI与就业:面对未来的失业风险

测吧(北京)科技有限公司

测试

LLM盛行下,如何高效训练大模型

百度开发者中心

大模型训练 LLM LLMOps

什么是特权账号?

尚思卓越

网络安全 数据安全 特权账号管理 PAM

全网最详细4W字Flink全面解析与实践(上)

Java随想录

Java 大数据 flink

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

华为云开发者联盟

人工智能 华为云 大模型 昇腾CANN 华为云开发者联盟

AI在创新和竞争力中的关键

测吧(北京)科技有限公司

测试

天下苦定制久矣,平台化建设到底难在哪里?

权说安全

零信任 统一门户

人工智能对教育和职业的双重冲击

测吧(北京)科技有限公司

测试

用HarmonyOS做一个可以手势控制的电子相册应用(ArkTS)

HarmonyOS开发者

HarmonyOS

初探亚马逊 AI 编程助手 CodeWhisperer

亚马逊云科技 (Amazon Web Services)

人工智能’ 云上探索实验室 Amazon CodeWhisperer

东莞理工网安学院“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

软件测试

10.26 来 CNCC 2023 T16 展位,TDengine 精美周边等你来领!

TDengine

时序数据库 ​TDengine

文韬武略,创新无界,华为云1024程序员节精彩抢先看

华为云开发者联盟

程序员 开发者 华为云 华为云开发者联盟 华为云1024程序员节

应对全球性挑战的AI解决方案

测吧(北京)科技有限公司

测试

人工智能改变日常生活和工作的未来

测吧(北京)科技有限公司

测试

介绍行为驱动开发_语言 & 开发_Jan Stenberg_InfoQ精选文章