写点什么

提供给每个人的行为驱动开发

  • 2008-09-30
  • 本文字数:1523 字

    阅读完需:约 5 分钟

在软件开发过程中实现“最佳事件”有的时候可能让人有些畏缩不前,而且时常导致开发者去抄近路,仅仅是“把它做完”。行为驱动开发(BBFD)是另一种可以极大地提升开发者、测试者、管理者和业务参与者(比如客户)之间协作的技术。作为一种在软件开发项目上值得尝试的实践,它正逐步得到采用和认可。

在 BDD 领域有好几个框架使得开发者可以采用这种思路。这些框架包括了 RSpec JBehave JSSpec NSpec 、以及其它框架。然而有一个框架是为使BDD 尽可能容易使用而设计的。那就是 easyb

一个针对 Java 平台的行为驱动开发框架。通过使用基于领域特定语言(DSL)的规范,easyb 的目标是使文档可被执行而且容易阅读。

最近, Rod Coffin 写了一篇题为“ Behavior-driven development with easyb ”的文章。Rod 很好地介绍了 BDD 并专门介绍了 easyb 框架。Rod 总结了 easyb 所能提供的东西以及一开始怎么做, > 使用 easyb,你可以编写用户故事、系统组件的开发规范、描述 UI 交互以及更多东西……easyb 规范被描述成 Groovy 脚本。因为 Gvoovy 语言的天性,以及对 Groovy 脚本超越类特性的宽容,easyb 规范是相对自由的程序员特定语法,相反,它把焦点放在了通信行为上。

Rod 通篇都提供了使用 easyb 定义行为的例子,而且他的文章很值得仔细研究以获得更多知识。InfoQ 并不想重复他文章中已经涵盖的东西,而是采访了 easyb 的开发团队以打探其下一步工作及项目走向。InfoQ: easyb 的路线图是怎样的?

easyb-dev:Easyb 期待着在不久的将来发布 1.0 版本。它将包括大量报表增强,包括所有报表的一个 html 版。Intellij 插件有大量已升级特性,使得在我们喜爱的 IDE 中使用 easyb 成为一种享受。与 Junit 集成也即见到曙光。无论其目标是使用 easyb 来连接已有测试类库还是仅仅为找到一种把 easyb 引入对新概念宿有敌意的环境中的简便方法,我们都希望能减少些障碍。 一些新的组件都会在 1.0 版中初次亮相。Easiness,一个用于构建故事并实现它们的 Web 应用,将有助于把行为测试带给我们中间的任何一人,即使他是非技术人员。为什么不把最简单的 Web 框架(Grails)与最简单的 BDD 工具(easyb)结合在一起呢。这正是新的 Grails 插件将要干的事,而且在 1.0 版本发布前后,这个插件至少可以推出 beta 版。在路线图上(1.0 之后),Eclipse 插件是一件大事。Intellij 插件这么好用,我们不想让使用其它 IDE 的用户遭到冷落。

InfoQ: 在 easyb Web 站点上有与 Maven 和 Spring 集成(或其它框架)的更多信息吗?

easyb-dev: 请密切留意 easyb.org 的页面,因为 cookbook 将会露面。这些内容会广泛覆盖 easyb 的常用方法,而且带有例子。肯定包含在内的热点话题包括 Spring、JUnit 和 mocking。InfoQ: easyb 有使用其它语言(即: ActionScript、Python、Ruby)的想法吗?

easyb-dev: Ruby 社区已经有一个与 easyb 非常类似的很好的产品,叫做 rspec。开发团队中的许多人对于你所提到的几种语言都有特别大的兴趣,但是他们现在没有计划把 easyb 带给 jvm 之外的任何语言。在团队中这是一致意见,我们不能分配足够的时间和精力把同样伟大的产品带给这些平台。可是,我们鼓励有兴趣把 easyb 扩大到其它语言的任何人成为我们 easyb 团队的一员。 总之,行为驱动开发是一种提升软件开发项目上技术(开发者、测试者等等)和典型的非技术(管理者、客户等等)参与者协作的一种技术。easyb 的目标是提供一个对所有参与者来说都易于操作的框架,而且正处于积极地开发当中。

你正在你的软件项目上使用 BDD 吗?如果是,对于它如何改善项目成功方面你怎么想?如果没有使用,为什么不试一下呢?如果你已经尝试过,为什么它没有“坚持”下去呢?

查看英文原文: Behavior-Driven Development for Everyone

2008-09-30 09:511108
用户头像

发布了 150 篇内容, 共 41.0 次阅读, 收获喜欢 9 次。

关注

评论

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

【深入理解TcaplusDB技术】根据部分Key字段值读取数据示例代码——[Generic表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】扫描数据示例代码——[Generic表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】批量读取数据示例代码——[Generic表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

如何构建产品帮助中心

小炮

帮助中心

Pipy MQTT 代理之(四)安全性

Flomesh

mqtt Proxy Pipy

iOS开发面试-如何打破30岁的中年危机

iOSer

ios iOS面试

数字经济多项技术突围 元宇宙被赋予更多想象

CECBC

【深入理解TcaplusDB技术】示例代码——异步调用接口

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】读取数据示例代码——[Generic表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】异步扫描数据示例代码——[Generic表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

低成本、快速造测试数据,这个造数工具我后悔推荐晚了!

Liam

测试 Postman 自动化测试 测试工具 测试自动化

国产GPU芯片概述

Finovy Cloud

人工智能 GPU服务器 GPU算力

如何在众筹中充分利用区块链技术?

CECBC

【深入理解TcaplusDB技术】读取列表指定位置数据接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】删除列表所有数据接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】扫描数据接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】更替列表指定位置数据接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

【深入理解TcaplusDB技术】批量删除列表指定位置数据接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

这两个实用的导航网站,推荐给你!

小炮

导航网站

【深入理解TcaplusDB技术】示例代码——数据分批返回

数据人er

数据库 nosql TcaplusDB 腾讯游戏

猛肝《Java权威面试指南(阿里版)》,“金三银四”offer必有你的一份!

Java架构追梦

Java 程序员 java面试 后端开发

从社会学角度解读机器学习

Taylor

机器学习 深度学习 学习方法 损失函数 梯度下降

渗透测试信息收集之子域名收集总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

EMQ 云边协同解决方案在智慧工厂建设中的应用

EMQ映云科技

物联网 IoT 智慧工厂 边云协同 emq

【深入理解TcaplusDB技术】将数据插入到列表指定位置接口说明——[List表]

数据人er

数据库 nosql TcaplusDB 腾讯游戏

这个导航网站,是设计师福音!

小炮

导航网站

提供给每个人的行为驱动开发_Java_Craig Wickesser_InfoQ精选文章