偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

測試工程師應(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ù)邏輯的使用者,能夠使用更容易理解的語言,向測試代碼下達他們的指令。

下面我們通過當前最為流行的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頁面等。


圖片


責任編輯:武曉燕 來源: 信息時代風(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ù)棧公眾號