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

測試工程師應知應會之行為驅動測試BDD

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

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

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

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

下面我們通過當前最為流行的BDD 框架JBehave來介紹一下BDD對于這種設計的實現。

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

一、編寫測試用例

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

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" ;

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

圖片

二、將測試用例映射到Java

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

通過類似于

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

public void stock(String symbol, double threshold) {

stock = new Stock(symbol, threshold);

}

的方式,可以將測試用例中的輸入映射進Java函數的輸入參數中,盡管保持入參的名字和@Given語句中的參數名字一致是一種好的習慣,但是JBehave是按照參數的順序來賦值的,并不要求名稱完全一致。

圖片

三、配置測試用例

JBehave的核心是配置的嵌入類,這是提供給IDE的可執行入口,通過執行該嵌入類,系統可以調用框架的相關方法,從而能夠完成JBehave提供的相關功能。

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

圖片

 

四、運行測試用例

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

圖片

五、查看報告

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


圖片


責任編輯:武曉燕 來源: 信息時代風之影
相關推薦

2022-11-04 07:12:24

JavaScript基準測試

2021-05-22 10:01:45

PythonPython列表Python程序開發

2012-10-10 09:42:58

谷歌測試測試工程師

2015-02-13 19:52:47

測試工程師APPTestin云測

2011-05-19 15:27:39

測試工程師

2009-02-23 09:41:29

面試軟件測試工程師

2018-04-05 23:13:21

Fiddler調試工具測試

2019-11-08 11:08:29

測試工程師AI人工智能

2025-03-14 10:00:00

黑客AI網絡安全

2012-03-02 08:56:25

軟件測試

2018-12-29 15:10:22

工程師爬蟲Python

2016-03-25 13:43:19

飛象網

2022-07-20 00:03:10

Python列表字典推導

2009-02-24 10:31:33

軟件測試工程師角色定位

2011-04-18 16:41:01

測試工程師軟件測試

2012-09-07 10:20:53

2009-03-05 09:39:07

工程師軟件測試加班經歷

2009-06-16 11:36:34

軟件測試工程師獵頭職業

2009-10-09 09:44:37

2011-04-18 15:07:53

測試工程師軟件測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久不射电影网 | 成年视频在线观看福利资源 | 69亚洲精品| av一区二区三区四区 | 国产福利在线 | 免费看国产a | 久久久久国产一区二区三区 | 精品国产一区二区三区四区在线 | 国内精品99| 欧美久久久 | 国产精品视频久久久 | 一级黄色片美国 | 中文字幕影院 | 成人精品国产免费网站 | 欧美一级在线 | 视频在线观看一区二区 | 国产97在线 | 日韩 | 一区二区三区在线免费观看视频 | 久久99久久98精品免观看软件 | 国产成人精品区一区二区不卡 | 亚洲成人精品影院 | av三级| 精品国产伦一区二区三区观看体验 | 日韩在线中文 | 亚洲一区中文字幕 | 欧洲一区二区在线 | 99九九视频| 久热久草 | 欧美freesex黑人又粗又大 | 在线观看中文视频 | 中文字幕在线观看 | 美女精品一区 | 国产色黄| 秋霞国产 | 欧美一区二区三区视频在线观看 | 久久日韩精品一区二区三区 | 成人在线视频网 | 成人在线精品视频 | 成人免费高清 | 欧美日韩综合一区 | 日本不卡在线视频 |