写点什么

行为驱动开发使用体验

  • 2016-09-13
  • 本文字数:945 字

    阅读完需:约 3 分钟

行为驱动开发(BDD)认为软件开发是现如今企业运营的根本,有助于改善企业利益相关者和软件开发者之间的沟通。 Kevin Smith 在其一篇最近的博文中介绍了他使用 BDD 的工作经验

在进行了多年的敏捷项目后,Dootrix 公司的技术总监和联合创始人 Smith 注意到了敏捷开发的一些共同缺点:

  • 由于用户故事越来越多关注于用户以及他的软件需求,这样很容易让开发者忘记商业需求。
  • 用户故事生命周期较短,因此很容易忘记一个应用程序的整体规范。
  • 由于用户故事生命周期较短,基于用户故事的验收标准往往质量较低。
  • 缺乏可以发现并解决业务问题的敏捷工具。
  • 测试驱动开发(TDD)是目前常用的一种手段,但是往往这些测试仅仅验证了细节,而没有验证功能是否正确的实现了。

根据 Smith 过往的经验,BDD 可以帮助解决这些问题,尤其是在引入实例化需求(Specification by example)以及影响地图(Impact mapping)等概念的时候。

Smith 曾经实现了一个简单的改变,他将用户故事转换为一个更加偏向于 BDD 风格的形式,他认为通过这样可以让人们将关注点转移到商务价值上,并更多讨论它:

为了 < 实现利益 >,作为一个 < 角色 >,我需要 < 功能 >。

BDD 强调要使用具体的用例来减少歧义。这些用例有助于建立共同的认识,并找到丢失的功能。当编写验收标准时,可以用正式的语言 Gherkin 来写这些用例,并可以基于这些用例进行自动化测试。

构建软件的一个常见的挑战是如何创建正确合适的文档。由于 BDD 关注于用用例来解释行为,因此可以用于自动化生成文档。这个文档与实际实现的功能同步,我们通常称其为活文档

虽然 Smith 认为 BDD 给我们带来了很多方便,但它还是存在一些潜在的缺点值得我们的注意:

  • BDD 没有涉及到用户界面,所以我们还需要使用原型和其他的工具来保证界面完好设计。
  • 有很多现成的工具可以测试编写的用例,但缺少可以管理运行哪个测试、何时运行的工具。
  • 它很难开发一个很好的自动化测试套件,在短期内它较为昂贵。

Smith 最后指出 BDD 还是一个新兴的想法,因此缺乏如同敏捷方法一般的生态环境。不过他相信这是帮助人们在搭建软件的时候更好沟通的一个好方法。为了再一次激起人们对 BDD 的关注,他引用了 BDD 的作者 Dan North 的一句话:

BDD 是促进合作并通过实例探索的一大选择。

查看英文原文 Experiences with Behaviour-Driven Development

2016-09-13 19:001937
用户头像

发布了 218 篇内容, 共 68.0 次阅读, 收获喜欢 76 次。

关注

评论

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

淘天集团联合爱橙科技开源大模型训练框架Megatron-LLaMA

阿里技术

大模型 AIGC

飞书深诺AI系列--如何写出一个好的Prompt

飞书深诺技术团队

软件测试|Pycharm运行与调试

霍格沃兹测试开发学社

软件测试|Pycharm搜索替换功能

霍格沃兹测试开发学社

软件测试|TCP三次握手四次挥手

霍格沃兹测试开发学社

软件测试|数据库的内连接,左连接,右链接分别是什么

霍格沃兹测试开发学社

天翼云存储资源盘活系统HBlock,全面释放企业数据价值

天翼云开发者社区

数据 云存储

【案例教学】华为云API图引擎服务 GES的便捷性—AI帮助快速处理图片小助手

华为云PaaS服务小智

人工智能 云计算 华为云

数据研发“新人”如何快速落地?

阿里技术

数据研发

深入浅出:SPI机制在JDK与Spring Boot中的应用

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号9月PK榜

Qt For OpenHarmony

OpenHarmony开发者

OpenHarmony

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

测试人

人工智能 软件测试 思维导图 测试开发 ChatGPT

软件测试|App自动化之Appium工作原理

霍格沃兹测试开发学社

高匿名代理与普通匿名代理以及透明代理有什么特点?高匿名代理的优势在什么地方?

巨量HTTP

代理IP

数字先锋|天翼云赋能巨龙电机打造“智慧工厂”,让企业发展“新”中有“数”!

天翼云开发者社区

云计算 私有云

beaTunes5 for Mac(多功能音乐播放器) 5.2.33永久激活版

mac

windows 苹果mac beaTunes5 音乐管理和分析软件

阿里云PAI-灵骏大模型训练工具Pai-Megatron-Patch正式开源!

小偏执o

mac文件管理 File Cabinet Pro免激活最新版

mac大玩家j

文件管理 Mac软件 文件管理工具 管理文件

WiFi7-IPQ9574 and QCN9274/QCN6274 multi-AP joint transmission amazing performance improvement

wifi6-yiyi

WiFi7 multi

可视化的报表系统

风清扬

提高效率的神器!企业级SQL审核与开发工具

NineData

数据库 团队协作 企业 SQL开发 NineData

软件测试|Pycharm版本控制与分支管理

霍格沃兹测试开发学社

简单好用的图像编辑软件 Pixelmator Pro 直装激活中文版

胖墩儿不胖y

图像处理 图像编辑 Mac软件 编辑图像

万字全面评测(下篇):文心一言 vs ChatGPT

豆哥

ChatGPT 文心一言 对标评测

一文解读智能远程监考方案的技术架构与应用实景

阿里云视频云

云计算 视频云

将你的接口数据一目了然,借助 Apifox 的可视化响应功能

Apifox

前端 后端 Apifox API 可视化响应

LED显示屏租赁市场“价格”与“质量”的联系

Dylan

广告 LED显示屏 led显示屏厂家

行为驱动开发使用体验_语言 & 开发_Jan Stenberg_InfoQ精选文章