(一)Cucumber+Selenium+testNG+maven+Java+IDEA实现BDD自动化实践

引言:

最近一直忙公司的事情,一直处于混乱中,没有安静下来去思考,这些内容也是闲暇的晚上开始慢慢去搞,以下三篇是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.生成测试报告

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,706评论 4 366
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,002评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,462评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,375评论 0 216
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,763评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,849评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,033评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,768评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,490评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,734评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,204评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,566评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,227评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,137评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,934评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,926评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,774评论 2 274

推荐阅读更多精彩内容