这是一篇翻译稿,方便给不知道BDD的同学扫盲.原文链接:What is BDD (Behavior Driven Development)? | Agile Alliance Definition定义 Behaviour Driven Development (BDD) is a synthesis and refinement of practices stemming from Test Driven Development (TDD) and Acceptance Test Driven…
测试驱动开发体现了开发人员对软件产品各部分运作方式的理解,而行为驱动开发则关注于开发人员对软件产品最终表现的行为的预期. 行为驱动开发 TDD更像是一种范式而不是一个过程.它描述了一种先编写测试,然后实现,并伴随可能的代码重构这样的一系列步骤.但其并没有关于以下的内容: 应该从哪里开始开发: 应该对什么进行测试: 测试应该怎样组织和命名. 测试驱动开发这个命名也让人疑惑,人怎么能够对不存在的东西进行测试呢.Dan North对这些问题进行了研究,建议开发人员更应该考虑关注软件的特征行为而不是编写…
简单而言,BDD是一系列基于TDD的工具和方法集发展而来的开发模式,一般不认为是一种新的开发模式,而是作为TDD的补充.因此,首先对TDD的概念进行进行. 测试驱动开发(TDD) TDD模式采取的是迭代式的开发流程.软件的每个功能特性的开发都是从编写一个针对性的测试开始.一开始测试无法通过,然后开发人员通过以下步骤进行迭代: 1.编写测试,观察是否未通过: 2.实现早期版本,以便通过测试: 3.如果需要,重构部分代码.继续编写其他测试. 简单示例(基于Ruby) 假设我们要开发一个用户管理的功能…
前段时间在design+code购买了一个学习iOS设计和编码在线课程,使用Sketch设计App,然后使用Swift语言实现Designer News客户端.作者Meng To已经开源到Github:MengTo/DesignerNewsApp · GitHub.虽然实现整个Designer News客户端基本功能,但是采用臃肿MVC(Model-View-Controller)架构,不易于代码的测试和复用,于是使用ReactiveCocoa实现MVVM(Model-View-View Mod…
BDD (Given - When - then) Ruby Cucumber, Java FitNesse , Python RoboFramework, C# specflow nspec .NET里的行为驱动开发 越来越多人把行为驱动开发(BDD)看作实施测试驱动开发的另一种方式.SpecFlow和NSpec是.NET里比较流行的BDD框架.它们协助创建即使不是程序员也能读懂的测试规范,并允许软件的目的驱动它的开发. BDD有两种主要的方式——xBehave和xSpec.第一种主要用于高层…
测试驱动开发(TDD) 1.测试驱动开发,即Test-Driven Development(TDD),测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码. 2.TDD有广义和狭义之分,广义的 TDD 是 ATDD(Acceptance Test Driven Development),包括 BDD和 Consumer-Driven Contracts Development 等.这里说的是狭…
BDD脱胎于TDD 行为驱动开发(Behavior-Driven Development,简称BDD),是在测试驱动开发(Test-Driven Development,TDD)基础上发展而来的一种软件开发方法.TDD最大的弊端,是面对一大堆的功能需求和用例时,往往会感到无从下手.另一方面,由于TDD更侧重于测试本身,因此容易忽视对业务需求的表达,最终沉溺于琐碎细节而无法自拔. BDD避免了信息丢失 与传统的软件开发方法相比,BDD的本质在于尽可能避免在需求描述.用例撰写.代码实现.测试等各环节…
ASIHTTPRequest使用指南---<<翻译稿>> 当第一次使用ASIHTTPRequest进行http请求时,会出现非常多的bug提示.查了一些资料,发现在少倒入了几个资源包:大概是: CFNetwork.framework; SystemConfiguration.framework; MobileCoreServices.framework.   原文:http://allseeing-i.com/ASIHTTPRequest/How-to-useCreating an…
说实话,作为一个Domino开发者,像測试驱动开发(Test-driven development).功能驱动开发(Feature-driven development)之类软件开发的高大上的方法论(Methodology),仅仅是偶尔在用其它语言开发的文章和程序猿那里看到和听到过,Domino独特的体系架构使得这些方法论都不太适用.只是依据我近期參与的某国外大型Java产品的经验(也在聊天中得到了朋友的印证),在现实中不管是用什么语言开发什么样的项目,都普遍存在一种方法论,而且还没有得到理论家…
行为驱动开发(BDD) 引言 BDD是对TDD理念的扩展.BDD强调有利害关系的技术团体和非技术团队都要参与到软件开发过程中.可以把它看成一种强调团体间合作的敏捷方法.大多数采用某种敏捷方法的团队最终都会遵循BDD的许多原则.在编写单元测试的时候,尽量使用BDD风格为测试命名.BDD风格强调使用完整的.描述性的.便于业务用户理解的名称或术语,避免使用技术术语.BDD希望类.方法和变量的名称尽可能地反映日常用语. 一.开发环境和工具  1.1   Visual Studio 2013 1.2   …