没有合适的资源?快使用搜索试试~ 我知道了~
Cucumber入门-啥是BDD?
1 下载量 149 浏览量
2021-01-27
12:51:54
上传
评论
收藏 272KB PDF 举报
温馨提示
试读
4页
我们知道Cucumber:可以使用自然语言描述测试用例 可以作为自动化测试运行 作为一个自动化测试工具,这些已经足够了。然而,Cucumber的首页清楚地写着“makingBDD fun”,即让行为驱动开发充满欢乐。行为驱动开发(BDD)是什么?Cucumber的开发者为什么又要给它扣上这个帽子呢?为了找到答案,我们再次回到Cucumber的首页的六副图。有了前一章传统流程的基础,这一次我们按照BDD的流程来介绍
资源推荐
资源详情
资源评论
Cucumber入门入门-啥是啥是BDD??
简易BDD
我们知道Cucumber:
可以使用自然语言描述测试用例
可以作为自动化测试运行
作为一个自动化测试工具,这些已经足够了。然而,Cucumber的首页清楚地写着“making BDD fun”,即让行为驱动开发充满
欢乐。行为驱动开发(BDD)是什么?Cucumber的开发者为什么又要给它扣上这个帽子呢?
为了找到答案,我们再次回到Cucumber的首页的六副图。
有了前一章传统流程的基础,这一次我们按照BDD的流程来介绍这六张图。
图1.使用自然语言描述产品行为。此处,行为代表着用户需求。即当用户以某种方式使用该产品,又将获得怎样的反馈。稍
后,这个文件又可以作为测试用例。因此,行为在此处即是用户需求,又是测试用例。正因为使用需求来进行测试,这个强大
的愿景,才使得BDD可以更加节约、迅捷。
图2.使用ruby进行步骤定义。作为用户需求与测试用例的行为,仅仅是文本。为了让这些文本可以作为自动化测试运行起来,
我们需要编写步骤定义的代码。
图3.运行Cucumber,失败。原因很简单:有了可以运行的自动化测试,却没有对应的产品代码。
图4.编写产品代码。
图5.运行Cucumber。因为有了部分产品代码,原来失败的自动化测试通过了。准确的说,暂时,部分通过了。
图6.重复上述步骤,直到所有产品行为都描述完毕,所有产品代码都可以通过行为的自动化测试。即:在产品代码完成后,使
用先前编写好的、可以运行的行为来自动化测试产品代码。在自动化测试通过后,完成产品开发。
总结一下上述流程:我们先描述产品行为(Describe behavior)作为用户需求和测试用例。而后,为行为(behavior)提供自
动化步骤(step definitions),使其成为自动化测试。接下来,编写产品代码,以使得它能够通过行为的自动化测试。整个流
程中,产品代码的开发,都是由行为驱动(Behavior Driven)的。因此,我们将这个流程,称之为行为驱动开发(Behavior
driven development)。
复杂项目中的BDD
在你发现之前,我先承认。到目前为止,这篇文章有个致命的缺陷:例子太简单了。现实中,有几个人会花钱顾咱们做加法计
算器呢?但凡项目,都是需求文档、功能文档、模块设计文档、代码、测试文档、测试用例、系统测试文档、用户验收测试文
档一大堆。上述例子这种,一个需求,几个测试用例,几行代码的项目,这个真没有。
咱们先来看看复杂项目中,传统的开发流程W模型,如图:
资源评论
weixin_38500222
- 粉丝: 5
- 资源: 914
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- windows下NTFS文件系统读取.zip
- windows程序设计课程 相关代码.zip
- Windows via C++图书代码,升级Windows SDK 到10.zip
- matlab基于扩张卡尔曼滤波的磷酸铁锂蓄电池SOC检测,给出了电池模型和算法实现过程.zip
- matlab基于卡尔曼滤波的磷酸铁锂蓄电池SOC检测
- STM8S003F3P6最小系统AD版(包含原理图、PCB源文件)
- smg.uvproj
- nextjs turbo build
- mysql-connector-j-8.0.31.jar
- MATLAB Appdesigner 设计天气预报小程序:全国各城市天气查询系统Weather-capturer-v3
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功