Cucumber测试驱动开发

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与代码结合起来

时间: 2024-08-06 03:38:54

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

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

重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行.这有助于编写简洁可用和高质量的代码,并加速开发过程.(来源百度百科) 重复无聊的过程 测试驱动开发的基本过程如下: 快速新增一个测试(编者注:并非快速) 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过 做一些小小的改动,尽快

测试驱动开发TDD(一)TDD的好处及介绍

背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦.国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从.最近兴起的一些软件开发过程相关的技术,提供一些比较高效.实用的软件过程开发方法.其中比较基础.关键的一个技术就是测试驱动开发(Test-Driven Development).虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用.下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解.掌握.应用这种

软件工程 - 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=aladdin https://en.wikipedia.org/wiki/Test-driven_development https://github.com/mjhea0/flaskr-tdd 总结 先写测试,然后写程序pass掉测试,that is 测试驱动开发. TDD usually foll

TDD测试驱动开发

TDD测试驱动开发 一.概念 TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码.传统的方式是先写代码,再测试,它的开发方式与之正好相反. TDD是极限编程的一个最重要的设计工具之一,使得我们编码的目的更加明确.而极限编程的另一个最重要的工具—重构.重构改变的是代码的内部结构,而不会改变外部接口功能.一整套完备的测试用例可以保证我们的程序更加健壮,功能更加完善. 二.作用 站在用户使用的角度去思考如何完成产品设计,强迫开发人员事先思考完善的测试用例并提供不考虑细节的外部

测试驱动开发TDD(二)开源测试框架CppUnit

背景 CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架.CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming).主要功能就是对单元测试进行管理,并可进行自动化测试.这样描述可能没有让您体会到测试框架的强大威力,那您在开发过程中遇到下列问题吗?如果答案是肯定的,就应该学习使用这种技术: 测试代码没有很好地维护而废弃,再次需要测试时还需要重写: 投入太多的精力,找 bug,而新的代码仍然会出现类似 bug: 写完

测试驱动开发TDD(三)开源测试框架的选择

http://www.qnr.cn/pc/rj/zhongji/ruanze/201008/523311.html  * http://www.uml.org.cn/Test/201006085.asp ** http://blog.csdn.net/jq0123/article/details/5479998 *** 最终选择Google的GTest作为我们开发的测试框架.

我看TDD测试驱动开发

今天在实验室给大家介绍了一下TDD和Docker,大家对TDD都比较感兴趣,包括老板,也问了一些问题. 还是从头来说TDD吧,TDD作为敏捷开发领域的领头军,充满魅力,同时也充满争议.一切从三大军规说起: 除非这能让失败的单元测试通过,否则不允许去编写任何的产品代码. 只允许编写刚好能够导致失败的单元测试. (编译失败也属于一种失败) 只允许编写刚好能够导致一个失败的单元测试通过的产品代码. 上面这三个是网上找的中文翻译,回来后,我还是决定要把英文原文找出来,相对与上面三句拗口蹩脚的翻译,我相信

Visual Studio下使用NUnit进行测试驱动开发

在Visual Studio 2015中集成的MSTest可以用于单元测试. 在项目中,选中需要测试的方法,点击鼠标右键,选择弹出菜单中的[创建单元测试],按照默认设置,即可自动新建一个测试项目. 需要注意的是,只能对puglic的方法进行测试. 但是,我还是比较喜欢NUnit的测试框架,毕竟从JUnit到NUnit,使用起来还是那种熟悉的味道比较好一些.下面介绍一下如何在VS2015中集成NUnit测试框架. 还是先下载NUnit的Nuget包,下载的方法可以看我前面介绍过的文章. 安装NUn

什么是测试驱动开发

1:传统的编码方法 2:测试驱动开发 它的特点如下 2.1:编写一个失败的单元测试,来证明产品代码中存在缺陷,来进行修复这个缺陷 比喻我们要实现一个用户的添加方法User.Add,我们就会写一个测试方法来验证这个User.Add.当然在最初的测试肯定会失败,因为我们根本就没有 编写User.Add的编码所以运行失败以后我们就会去实现这个编码,直到通过为止 2.2:编写符合测试预期的代码,是测试通过 2.3:重构代码 第一次我们的编码肯定是为了完成功能可能可读性,规范效率还不是很好,所以我们会不停