【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

行为驱动开发使用体验

  • 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:001838
用户头像

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

关注

评论

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

C/C++ 开发SCM服务管理组件

不在线第一只蜗牛

c 开发语言 c++、

一文弄懂竞品分析 - 竞品分析是什么| 从哪些方面分析 | 竞品分析报告怎么写?

彭宏豪95

效率工具 产品经理 在线白板 竞品分析 SWOT

几种常见的排序算法总结

不在线第一只蜗牛

算法 排序算法 教程分享

跃见书单 | 一文带你读懂《人工智能简史》

码上跃见

AIGC #人工智能

SQL 通配符:用于模糊搜索和匹配的 SQL 关键技巧

小万哥

MySQL 数据库 程序员 sql 后端开发

Presto+Alluxio数据平台实战

数新网络官方账号

大数据

鸿蒙学堂·创新实训营再度启航深圳,中国移动、国家电网等40余家企业参与

最新动态

IDC最新报告,增速减缓+AI增势,阿里云视频云中国市场第一

阿里云视频云

云计算 视频云

只需3分钟!组织架构图如何简单快速制作

Geek_09ea8e

组织架构图

喜讯!云起无垠成为国家信息安全漏洞库(CNNVD)技术支撑单位

云起无垠

百度大模型安全解决方案获WitAwards 2023 年度大奖

百度安全

安全 大模型安全

保姆级连接FusionInsight MRS kerberos Hive

数新网络官方账号

Java hive 华为云 Dbeaver

北京同仁堂签署鸿蒙生态合作协议,加速推进鸿蒙原生应用开发

最新动态

CART算法解密:从原理到Python实现

快乐非自愿限量之名

Python 算法 PyTorch

E往无前 | 海量数据ES 扩展难?腾讯云大数据ES 扩展百万级分片也“So Easy~”

腾讯云大数据

ES

软件测试/人工智能|一文教你如何配置自己的AutoGPT

霍格沃兹测试开发学社

为什么 Mac 适合编程?

代码生成器研究

拼多多商品详情数据接口应用在哪些场景?

tbapi

拼多多 拼多多商品详情接口 拼多多API接口

软件测试/人工智能|AutoGPT原理与架构介绍

霍格沃兹测试开发学社

我干嘛要去学Python???!!!

代码生成器研究

淘宝商品详情API接口文档(API SDK)

tbapi

淘宝商品详情数据接口 淘宝API接口 淘宝商品详情页面数据 淘宝商品详情数据采集方法 天猫数据接口

铭文聚合交易平台 Scorpio:铭文赛道狂潮的新引领者

股市老人

软件测试/人工智能|教你如何使用ChatGPT的API

霍格沃兹测试开发学社

如何系统、科学地自学编程知识?

代码生成器研究

电竞游戏主播直播系统平台,在市场该如何变现?

软件开发-梦幻运营部

体育数据服务商提供API接口,有哪些赛事数据

软件开发-梦幻运营部

12 月 3 日北京,时序数据管理前沿技术+行业应用尽在 IoTDB 用户大会!

Apache IoTDB

2023年datafun随手记(1)

Hua

大数据 AI GPT LLM

智能汽车的山海之盾

脑极体

智能汽车

登陆 Azure、发布新版本……Zilliz 昨夜今晨发生了什么?

Zilliz

azure Milvus Zilliz zillizcloud

全链协同,链接未来|端点科技联合IDC重磅发布新一代ERP白皮书

科技热闻

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