课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
敏捷开发相信大家在一些互联网软件开发公司中经常能够听过这种说法了,而今天我们就一起来了解一下,敏捷开发中的行为驱动开发技术都有哪些特点。
行为驱动开发(Behavior-Driven Development, BDD),是一种敏捷开发的技术,想必大多数同学都对敏捷开发领域中另一技术,测试驱动开发(Test-Driven Development,TDD)较为熟悉。
TDD的思想原则是,先先编写单元测试,当然在没有开发功能代码之前,一定是一个失败的测试;然后再编写功能代码,想方设法让测试可以通过;再重构代码去除重复的部分。
TDD的思想打破了传统开发的流程,好处也不言而喻。提高代码质量,可迅速发现并定位bug。
BDD是建立在测试驱动开发基础之上,先编写验收测试,所用语言也是团队成员(业务、产品、开发、测试等)都可以读懂的实例,再进行上述TDD的流程。
如果说TDD是让我们正确的做事,那么BDD就是让我们做正确的事。
BDD目的:在业务和开发之间达成共识。
在软件项目中涉及多人紧密协作,由产品业务讲解功能需求,开发负责代码实现,测试保证软件质量,高质量的沟通对项目成功至关重要。如果在一个项目中业务人员用自己行话,开发人员用技术语言、技术思维去理解业务,在沟通过程难免出现分歧,开发人员就可能按自己的理解去实现了一个错误的功能。
如何确保达成共识?
BDD的方法:
用通用自然语言描述实例(系统行为)
团队成员使用统一、易读的语言明确实例,作为验收测试标准。一方面可以消除理解上的歧义,一方面可以激发思考没有考虑到的场景。
活文档
这里的实例是可以随时运行,反馈系统运行真实结果,如果运行失败,要么文档过时需要更新,要么系统出现问题需要修复。
BDD的实现,Cucumber是BDD的一个优秀开源框架。
Cucumber是一款协作工具。
支持多种开发语言Java C++ Ruby python等等
它是一个命令行工具。运行是从特性feature文本中解析要测试的场景scenario,每个场景由一系列的步骤step组成,cucumber一步步执行这些步骤,得到终的测试结果。
Cucumber的使用
环境准备:
JavaSE(java9还不支持)
Maven 3.31以上
IntellJ IDEA 安装cucumber for java 插件
创建一个maven项目,讲cucumber-jvm依赖添加到pom文件中
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!