成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

測試工程師應(yīng)知應(yīng)會之行為驅(qū)動測試BDD

開發(fā) 項目管理
測試用例執(zhí)行完畢之后會給出測試報告,JBehave提供了多種測試報告可供使用,包括控制臺、文本文件、XML文件、HTML頁面等。

很多工程師都了解測試驅(qū)動開發(fā)(Test Driven Development,TDD),但是了解行為驅(qū)動開發(fā)的人卻不是很多。

行為驅(qū)動開發(fā)(Behavior Driven Development,BDD),是測試驅(qū)動開發(fā)的延伸,旨在使用簡單的,特定于領(lǐng)域的腳本語言(軟件外包行業(yè)的最大問題?從領(lǐng)域驅(qū)動設(shè)計說起),通過結(jié)構(gòu)化的方法,將自然語言文本轉(zhuǎn)換為可執(zhí)行的測試用例。從而在技術(shù)與實際的業(yè)務(wù)需求者之間,建立起一條易于理解的道路。這樣,不理解程序員們正在做什么的業(yè)務(wù)方,就可以更容易的理解他們的工作。

在行為驅(qū)動開發(fā)中,最關(guān)注的核心是業(yè)務(wù)的設(shè)計。而測試驅(qū)動開發(fā),則更關(guān)心是的使用代碼來描述測試用例。因此,在行為驅(qū)動開發(fā)相關(guān)的框架中,采用了多種技術(shù)手段,構(gòu)造自然語言與代碼之間的連接關(guān)系,使得關(guān)注于業(yè)務(wù)邏輯的使用者,能夠使用更容易理解的語言,向測試代碼下達他們的指令。

下面我們通過當(dāng)前最為流行的BDD 框架JBehave來介紹一下BDD對于這種設(shè)計的實現(xiàn)。

在JBehave中,完全一個測試用例需要5個步驟。

一、編寫測試用例

在JBehave中,一個測試用例由一系列場景(Scenario)組成。而一個場景的編寫,需要符合JBehave定義的語法格式。主要格式內(nèi)容如下:

Story := Description? Meta? Narrative? GivenStories? Lifecycle? Scenario+ ;

Narrative:= "Narrative:" ( InOrderTo AsA IWantTo | AsA IWantTo SoThat ) ;

InOrderTo:= "In order to" NarrativeElementContent ;

IWantTo:= "I want to" NarrativeElementContent ;

SoThat:= "So that" NarrativeElementContent ;

NarrativeStartingWord := ("In order to" | "As a" | "I want to" | "So that") ;

GivenStories:= "GivenStories:" (StoryPath ','?)+ ;

Lifecycle:= "Lifecycle:" LifecycleBefore? LifecycleAfter? Examples?

LifecycleBefore:= "Before:" (Scope? Step+)+

LifecycleAfter:= "After:" (Scope? Outcome? MetaFilter? Step+)+

Scope:= "Scope:" "STEP" | "SCENARIO" | "STORY"

Outcome:= "Outcome:" "ANY" | "SUCCESS" | "FAILURE" ;

在語法格式中,規(guī)定了一個測試用例的寫法,以及其中特定的關(guān)鍵字,而這種寫法力圖貼近于自然語言,并且能夠被框架所解析。

圖片

二、將測試用例映射到Java

編寫好測試用例之后,JBehave會將測試用例映射成Java。這種映射主要通過RegexStoryParser(正則表達式)或者是GherkinStoryParser這兩種解析器來實現(xiàn)。

通過類似于

@Given("a stock of symbol $symbol and a threshold of $threshold")

public void stock(String symbol, double threshold) {

stock = new Stock(symbol, threshold);

}

的方式,可以將測試用例中的輸入映射進Java函數(shù)的輸入?yún)?shù)中,盡管保持入?yún)⒌拿趾虭Given語句中的參數(shù)名字一致是一種好的習(xí)慣,但是JBehave是按照參數(shù)的順序來賦值的,并不要求名稱完全一致。

圖片

三、配置測試用例

JBehave的核心是配置的嵌入類,這是提供給IDE的可執(zhí)行入口,通過執(zhí)行該嵌入類,系統(tǒng)可以調(diào)用框架的相關(guān)方法,從而能夠完成JBehave提供的相關(guān)功能。

JBehave提供的可嵌入類主要有ConfigurableEmbedder和InjectableEmbedder兩種。

圖片

 

四、運行測試用例

配置好嵌入類之后,就可以通過JUnit在IDE或者是命令行中運行測試用例了。

圖片

五、查看報告

測試用例執(zhí)行完畢之后會給出測試報告,JBehave提供了多種測試報告可供使用,包括控制臺、文本文件、XML文件、HTML頁面等。


圖片


責(zé)任編輯:武曉燕 來源: 信息時代風(fēng)之影
相關(guān)推薦

2022-11-04 07:12:24

JavaScript基準測試

2021-05-22 10:01:45

PythonPython列表Python程序開發(fā)

2011-05-19 15:27:39

測試工程師

2009-02-23 09:41:29

面試軟件測試工程師

2012-10-10 09:42:58

谷歌測試測試工程師

2015-02-13 19:52:47

測試工程師APPTestin云測

2018-04-05 23:13:21

Fiddler調(diào)試工具測試

2019-11-08 11:08:29

測試工程師AI人工智能

2025-03-14 10:00:00

黑客AI網(wǎng)絡(luò)安全

2012-03-02 08:56:25

軟件測試

2018-12-29 15:10:22

工程師爬蟲Python

2022-07-20 00:03:10

Python列表字典推導(dǎo)

2016-03-25 13:43:19

飛象網(wǎng)

2012-09-07 10:20:53

2009-03-05 09:39:07

工程師軟件測試加班經(jīng)歷

2009-06-16 11:36:34

軟件測試工程師獵頭職業(yè)

2009-02-24 10:31:33

軟件測試工程師角色定位

2011-04-18 16:41:01

測試工程師軟件測試

2023-05-06 07:24:22

程序員視頻算法

2012-08-01 09:29:03

測試測試工程師
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产人成精品一区二区三 | jlzzjlzz国产精品久久 | 久久综合一区 | 欧美一a一片一级一片 | 欧美二区在线 | 中文字幕在线观看一区 | 久久久久久中文字幕 | 精品久久久久久亚洲综合网 | 日韩视频专区 | 一区二区影视 | 日韩色在线 | 九九热国产视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲日韩中文字幕一区 | 久久逼逼| av成人在线观看 | 国产免费又黄又爽又刺激蜜月al | 色噜噜狠狠色综合中国 | 男人天堂久久 | 伊人一区 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲中字在线 | 欧美在线观看黄色 | 亚洲二区视频 | 国产亚洲一区二区三区 | 久操av在线 | 久久高清 | 午夜电影在线播放 | 国产精品免费一区二区三区四区 | 色片在线观看 | 精品国产一级 | 久久国产一区 | 毛片一区 | 激情五月综合 | 人人草人人干 | 亚洲一区二区三区免费在线观看 | 日本韩国电影免费观看 | 国产精品一区二区在线免费观看 | 看羞羞视频免费 | 99国产视频| 日日操操操 |