开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

行为驱动开发使用体验

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

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

关注

评论

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

一键搞定Netty难关,看到NIO再也不犯糊涂了,原理解析

Java 程序员 后端

一线互联网大厂面试真题系统收录,我想谈谈关于Java面试那些事

Java 程序员 后端

三面美团、四面阿里成功斩下offer,给Java程序员的一些面试建议

Java 程序员 后端

一眼就能看懂的Java自学手册,阿里巴巴Java编程笔试题

Java 程序员 后端

一线互联网大厂面试真题系统收录,尚硅谷周阳视频百度云,rocketmq教程pdf

Java 程序员 后端

一起刷完了这份1307页的Java面试宝典吧,初级Java工程师面试题

Java 程序员 后端

万字长文轻松彻底入门spring,尚学堂java笔记,mybatis面试题常问

Java 程序员 后端

三分钟搞定分布式结构服务部署发布,这位阿里P7大佬分析总结的属实到位

Java 程序员 后端

两年Java开发面试题,java教程视频马士兵,大厂Java面试真题精选

Java 程序员 后端

一线大厂架构师都推荐的Java零基础大全,全网首发!

Java 程序员 后端

三个月啃透888页Java王者级核心宝典,HTTP规范中的那些容易掉进去的坑

Java 程序员 后端

中软国际Java面试,java基础入门传智播客课后答案,Java开发面试技巧

Java 程序员 后端

二本Java小菜鸟4面字节跳动被秒成渣渣,【Spring注解驱动开发

Java 程序员 后端

一条正确的Java职业生涯规划,浦发银行Java开发笔试题

Java 程序员 后端

万字详解微服务的哨兵机制,深入实践springboot下载

Java 程序员 后端

万字长文轻松彻底入门spring,“金三银四”春招指南

Java 程序员 后端

三年老Java经验面经,Java面试必备的集合源码详解

Java 程序员 后端

下血本买的!linux服务器搭建教程,阿里巴巴Java面试都问些什么

Java 程序员 后端

东软集团Java面试题,尚硅谷佟刚个人资料,恶补这份“阿里面试宝典”

Java 程序员 后端

一文了解OOM及解决方案,尚硅谷java课程表,Java编程入门教材

Java 程序员 后端

一起看看这些大厂面试真题查漏补缺吧,一份基于SSM框架实现了支付功能的完整源代码

Java 程序员 后端

三面拼多多,Java最新面试题及答案

Java 程序员 后端

上海大厂Java面试经历:java开发面试视频教程,程序员工作2年月薪12K

Java 程序员 后端

一次违反常规的Java大厂面试经历,2021Java网络编程总结篇

Java 程序员 后端

为什么StringBuilder是线程不安全的,Java高级工程师进阶学习

Java 程序员 后端

为什么StringBuilder是线程不安全的,Mybatis源码解析

Java 程序员 后端

一文详解,java基础入门第二版课后答案黑马,Java校招面试

Java 程序员 后端

一条正确的Java职业生涯规划,毕业工作5年被裁

Java 程序员 后端

一线互联网架构师筑基必备技能之Java篇,字节跳动Java研发面试题社招

Java 程序员 后端

一起“干完”这份300页1000道面试题,牛客网论坛项目,Java后端开发路线图

Java 程序员 后端

不服不行,黑马java教学多线程pdf,腾讯T3大牛总结

Java 程序员 后端

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