Cucumber是一种BDD实践开发工具,属于敏捷开发的组成部分。
     在敏捷开发中,对用户进行需求分析时,不是像传统的P&D的开发方式,首先编写大量的用户需求分析文档,而是通过一个个User Story来进行用户需求的分析。
     User Story的编写,也就是Cucumber的Gherkin编写。由一个个feature组成。User Story的编写应该符合SMART原则,即简明详细、可测量、可以在一个迭代内实现、有商业价值,并且可测试。
BDD开发流程
  • 首先应该在编写具体的代码前,先编写测试文件,如BDD,TDD。
          通过对测试文件的编写,可以明确用户需求。同时采用通用口语化的语言,可以减少用户和开发人员之间的沟通障碍,使得软件更容易朝着用户需要的方向发展。
  • 编写大黄瓜,进行接口设计
          第二步是编写step_define来将用户故事和具体的接口联系起来,使得可以进行测试。这一步其实就是需要进行接口设计。接口设计做好后,可以进行独立的开发。
  • 通过将一个个测试用例通过后,软件也完成了开发。这也就是Red_Blue-Refactor的流程
 
ruby on rails环境:
在BDD开发中,首先在根目录在,创建feature文件夹。
在feature文件夹中,编写 .feature文件。文件中用feature,scenario,when,then,but,and等进行User story编写。
在feature文件夹中。创建step_define文件夹。文件夹中,用ruby编写对应User story的代码。通过这个步骤将User Story与代码结合起来

Cucumber测试驱动开发的更多相关文章

  1. Scrum敏捷软件开发之技术实践——测试驱动开发TDD

    重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写 ...

  2. 使用模拟对象(Mock Object)技术进行测试驱动开发

    敏捷开发 敏捷软件开发又称敏捷开发,是一种从上世纪 90 年代开始引起开发人员注意的新型软件开发方法.和传统瀑布式开发方法对比,敏捷开发强调的是在几周或者几个月很短的时间周期,完成相对较小功能,并交付 ...

  3. 软件工程 - Test-Driven Development (TDD),测试驱动开发

    参考 https://baike.baidu.com/item/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/3328831?fr=al ...

  4. Cucumber 行为驱动开发简介

    Cucumber 是一个能够理解用普通语言 描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和.Net等多种开发语言. 现在看看Cucumber中用到的术语 . ...

  5. TDD测试驱动开发

    TDD测试驱动开发 一.概念 TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码.传统的方式是先写代码,再测试,它的开发方式与之正好相反. TDD是极限编程的一个最重要的设计 ...

  6. Django 1.6 的测试驱动开发

    http://www.oschina.net/translate/django-1-6-test-driven-development 测试驱动开发(TDD)是一个迭代的开发周期,强调编写实际代码之前 ...

  7. iOS 测试驱动开发

    测试驱动开发是敏捷开发的一部分,它一般有“red-green- refactor”步骤 iOS测试驱动开发的工具 一. OCUnit 是Xcode自带的测试工具 其使用步骤分为 1 建立测试的Targ ...

  8. Visual Studio 2012 Fakes框架测试驱动开发TDD教程

    一.前言 最近团队要尝试TDD(测试驱动开发)的实践,很多人习惯了先代码后测试的流程,对于TDD总心存恐惧,认为没有代码的情况下写测试代码时被架空了,没法写下来,其实,根据个人实践经验,TDD并不可怕 ...

  9. 我看TDD测试驱动开发

    今天在实验室给大家介绍了一下TDD和Docker,大家对TDD都比较感兴趣,包括老板,也问了一些问题. 还是从头来说TDD吧,TDD作为敏捷开发领域的领头军,充满魅力,同时也充满争议.一切从三大军规说 ...

随机推荐

  1. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  2. hibernate笔记--缓存机制之 一级缓存(session缓存)

    一级缓存: 又称为session缓存,它和session生命周期相同,周期非常短.是事务级别的缓存: 还是以Book和Category这两个表为例,我们用代码观察一个缓存的存在: 假设现在我要去查询i ...

  3. 10.Struts2连接数据库

    链接数据库的两种方式: 1.在Action中连接数据库 2.使用工具类连接数据库 1.在Action中连接数据库 源码文档目录如图所示: 1.建立数据库 数据库建立语句: create databas ...

  4. 在AngularJS中的使用Highcharts图表控件

    一.Highcharts简介 Highcharts是一款非常好用的前端图表控件,正如其中文网介绍的那样:功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库. 如果你的项目是基于jquer ...

  5. HTML5 Application cache初探和企业应用启示

    Application Cache 在自己做的开源项目( https://github.com/etoah/Lucien ) 用到了HTML5 的Application Cache,现总结如下: 目录 ...

  6. [Asp.net 5] Configuration-新一代的配置文件

    微软新一代asp.net(vnext),也叫asp.net 5,开源代码都放在网址https://github.com/aspnet下. 本文介绍的是Configuration工程,下载路径为http ...

  7. 初入网络系列笔记(4)HTTP请求和响应

    一.借鉴说明,本博文借鉴以下博文 1.starok,HTTP必知必会,http://www.cnblogs.com/starstone/p/4890409.html 2.CareySon,HTTP协议 ...

  8. C#使用Log4Net记录日志

    当你在开发程序的时候, 调试(debugging)和日志(logging)都是非常重要的工作.在应用中使用日志主要有三个目的 l  监视代码中的变量的变化情况,把数据周期性地记录到文件中供其它应用进行 ...

  9. 一款css3很美的iphone注册表单样式

    代码如下,保存到html文件打开: <!DOCTYPE html> <html lang=""> <head> <title>Ani ...

  10. 记安装EP时在指定BCP账户信息时提示AOS无法访问的解决方法

    因为卡在这个问题上好久,外加同事也有遇到,因此记下来! 环境:Windows Server 2012 R2 Standard + Dynamics AX 2012 R2 + SharePoint 20 ...