美文网首页Cucumber
(一)Cucumber+Selenium+testNG+mave

(一)Cucumber+Selenium+testNG+mave

作者: 带着文涛去旅行 | 来源:发表于2019-01-19 22:10 被阅读0次

    引言:

    最近一直忙公司的事情,一直处于混乱中,没有安静下来去思考,这些内容也是闲暇的晚上开始慢慢去搞,以下三篇是BDD的内容

    一.概念:

    TDD:

    测试驱动开发(Test-DriverDevelopment)的简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析、设计和质量控制量化的过程。

    ATDD:

     验收测试驱动开发(AcceptanceTest Driven Development),验收测试驱动开发是一种实践。面向开发人员,强调如何实现系统以及如何通过验收测试。

    BDD:

     行为驱动开发(BehaviorDriven Development)的简称,建立在TDD的基础之上,也是一种敏捷软件开发技术,它鼓励软件项目中开发者、QA、非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。以下主要使用Cucumber进行操作(一提到BDD就能立马想到的工具):

    二.Cucumber框架(工具)

    1.Cucumber介绍:

    Cucumber是一种支持行为驱动开发(BDD)的工具。Cucumber读取以纯文本编写的可执行规范的测试用例,并验证软件是否符合这些规范所述。(说白了就是提供一个我们自己能理解的语言,通过语言来编写测试用例)。Cucumber支持大多数的编程语言,如Ruby,JAVA和Python,官方地址:https://cucumber.io/

    2. Cucumber的特性

    1)可执行性:可以像执行java/python…代码一样运行这些规范,来验证和验收产品和应用

    2)规范性:可以从产品、运营、客户的角度出发,相比验证结果,他们更关心系统功能的清晰描述以及需要系统完成什么功能(主要由产品人员进行编写,开发和测试人员严格的按照该规范进行下面的操作)

    3.Cucumber支持的语言输出(它的标准是gerkin语言)

    |feature|”功能”|  

    |background|”功能背景描述”|

    |scenario|”场景”|

    |scenario outline|”场景大纲”|

    |examples|”范例”|

    |given|”*”,”假如”,”假定”,”假设”|

    |when|”*”,”当”|

    |then|”*”,”那么”|

    |and|”*”,”而且”,”并且”,”同时”|

    |but|”*”,”但是”|

    |given(code)|”假如”,”假定”,”假设”|

    |when(code)|”当”|

    |then(code)|”那么”|

    |and(code)|”而且”,”并且”,”同时”|

    |but(code)|”但是”|

    解释:

    |feature|”功能”| 类似于一个大的模块功能,功能(feature)下包含多个场景,比如登录模块

    |background|”功能背景描述”|对功能的描述、简述以及解释该模块是做什么用的

    |scenario|”场景”|  类似于一个大模块下的一个测试用例(case)

    |scenario outline|” 场景大纲”| 与场景一样,唯一区别于场景是场景大纲可以做数据驱动

     |examples|”例子”| 场景的例子

     |given|”*”,”假如”,”假定”,”假设”|

    |when|”*”,”当”|

    |then|”*”,”那么”|

    |and|”*”,”而且”,”并且”,”同时”|

    |but|”*”,”但是”|

    |given(code)|”假如”,”假定”,”假设”|

    |when(code)|”当”|

    |then(code)|”那么”|

    |and(code)|”而且”,”并且”,”同时”|

    |but(code)|”但是”|

    关键字,类似于测试用例中的操作步骤,如我们先要做什么,然后做什么,最后做什么

    3.如何使用cucumber

    1.feature编写(就是测试用例的描述)

    2.生成steps(编写代码执行步骤)

    3.执行steps(执行测试用例)

    4.生成测试报告

    相关文章

      网友评论

        本文标题:(一)Cucumber+Selenium+testNG+mave

        本文链接:https://www.haomeiwen.com/subject/mulndqtx.html