软件开发过程行为驱动开发BDD

最近是和各种测试框架和软件开发过程杠上了。为了理解Scala语言,开始翻看Scala源码。为了理解Scala源码,开始翻看SBT工程。为了理解SBT工程,开始翻看ScalaTest工程。为了理解ScalaTest,开始看各种测试理论。然后就有了这篇浅显的入门文章。

这篇文章内容并不艰深,但由于主要内容翻译自维基百科,有些基础概念最好还是提前所有了解。具体的可能有:敏捷开发,TDD,DDD,OOAD以及DSL。还有个比较有意思的概念叫GameofLife的,这个游戏非常有哲理,有兴趣的读者可以自己了解下。那么,下面我们开始:

在软件工程中,行为驱动开发(BDD)是一种衍生自测试驱动开发(TDD)的软件开发过程。行为驱动开发将TDD的技术和原理与领域驱动设计(DDD)以及面向对象分析和设计(OOAD)相融合,提供软件开发团队和管理团队协同开发软件时所需的工具和方法。

BDD主要是一种指导业务和技术团队一起协同管理软件开发过程的思想,同时BDD最佳实践也要求使用专用的软件工具支持软件开发过程。虽然这些软件大多是为BDD类型的软件项目所研发,但它们也经常被作为特定类型的工具用在TDD工程中。在BDD中,实现具有自动化执行能力的通用语言工具是一个核心主题。

DSL语言是一种基于自然语言(如英语)的,能够描述行为和期望输出的简单易懂的语言,DSL语言的使用极大地促进了BDD的发展。在测试脚本中应用DSL语言其实非常复杂,这反而让它变成了长久以来的一个研究热点。BDD方法论实际上是解决复杂业务问题的一种行之有效的技术手段。

BDD的发展历程

行为驱动开发是测试驱动开发的一种扩展:是使用简单的,领域限定的脚本语言来支持软件开发过程的一种开发模式。这类DSL语言将结构化的自然语言翻译成可执行的测试案例,这将使对特定功能的验收条件和验证该功能正确运行的测试案例紧密关联起来。

BDD







































看白癜风到中科白癜风医院
看白癜风到中科白癜风医院



转载请注明:http://www.zjiaren.com/jbmb/jbmb/8924.html