軟件測試項目-數(shù)據(jù)驅(qū)動測試_第1頁
軟件測試項目-數(shù)據(jù)驅(qū)動測試_第2頁
軟件測試項目-數(shù)據(jù)驅(qū)動測試_第3頁
軟件測試項目-數(shù)據(jù)驅(qū)動測試_第4頁
軟件測試項目-數(shù)據(jù)驅(qū)動測試_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第四章數(shù)據(jù)驅(qū)動測試四.一數(shù)據(jù)驅(qū)動測試簡介

數(shù)據(jù)驅(qū)動測試是一項單個測試腳本能夠重復(fù)地使用不同地輸入與響應(yīng)數(shù)據(jù)地技術(shù),這些數(shù)據(jù)來源于一個預(yù)定義地數(shù)據(jù)集。數(shù)據(jù)驅(qū)動測試技術(shù)在自動化測試領(lǐng)域有著非常重要地地位,我們可以通過它來實現(xiàn)更加高效與準(zhǔn)確地測試運行。當(dāng)通過數(shù)據(jù)來驅(qū)動一個測試腳本時,腳本將使用變量作為應(yīng)用地關(guān)鍵輸入。通過使用變量,腳本能夠使用來自外部地數(shù)據(jù)代替應(yīng)用測試地文字值。數(shù)據(jù)驅(qū)動測試使用來自數(shù)據(jù)池地數(shù)據(jù)作為測試地輸入。一個數(shù)據(jù)池是有關(guān)數(shù)據(jù)記錄地集合,在腳本回放時數(shù)據(jù)池能夠為測試腳本提供實際地測試數(shù)據(jù)。數(shù)據(jù)驅(qū)動測試在數(shù)據(jù)與測試腳本之間放置了一個抽象地層次,這樣可以消除測試腳本地常量值。因為數(shù)據(jù)被從測試腳本分離出來了,所以可以:通過修改數(shù)據(jù)而不是測試腳本來添加新地測試用例。在多個測試腳本之間享測試數(shù)據(jù)。兩個圖,圖一顯示了一個使用硬編碼地測試腳本,腳本地測試數(shù)據(jù)是直接寫在代碼地。圖二顯示地是一個數(shù)據(jù)驅(qū)動地腳本,它地測試數(shù)據(jù)是來自于一個外部文件-數(shù)據(jù)池地。

硬編碼地測試腳本數(shù)據(jù)驅(qū)動地腳本問題:在測試錄制過程,使用員工地唯一社會保險號為一個新地員工創(chuàng)建了一個個文件。每次測試運行時,都會提示數(shù)據(jù)庫已經(jīng)存在了相同社會保險號地記錄。

解決方法:能夠使用數(shù)據(jù)驅(qū)動地測試來向應(yīng)用提供不同地員工數(shù)據(jù),包括社會保險號。

問題:在錄制測試時,刪除了有一條記錄,在測試運行時,測試工具將試圖刪除相同地記錄,系統(tǒng)會提示"記錄無法找到"地錯誤信息。解決方法:可以在測試回放,使用數(shù)據(jù)驅(qū)動地測試來引用不同于在錄制時刪除地記錄。

四.二RPT地數(shù)據(jù)池

數(shù)據(jù)池是一個測試數(shù)據(jù)集合,它能夠為測試回放提供不同地數(shù)據(jù)值。可以使用數(shù)據(jù)池來提供真實地數(shù)據(jù),以便為被測試應(yīng)用施加具有現(xiàn)實意義地壓力。IBMRationalPerformanceTester通過數(shù)據(jù)池來實現(xiàn)數(shù)據(jù)驅(qū)動地測試。在模擬用戶執(zhí)行能測試時,數(shù)據(jù)池將為測試提供變量化地數(shù)據(jù)。在被測試應(yīng)用地一個會話期間,測試員實際上使用了真實用戶將使用地特,從一個被錄制地會話,一個包含了測試員輸入地精確數(shù)據(jù)地測試被生成。例如,為了對基于Web地購物應(yīng)用創(chuàng)建一個能測試,測試員需要模擬使用應(yīng)用地各種角色地操作與輸入適當(dāng)?shù)財?shù)據(jù)。

在測試地回放階段,測試員可能需要數(shù)百個易實例同時運行,而對每一個實例可以有不同數(shù)量地模擬用戶。為了在回放期間模擬上百個分離地用戶,測試員應(yīng)該創(chuàng)建數(shù)據(jù)池。在PerformanceTester數(shù)據(jù)池包含三個結(jié)構(gòu)元素:

等價類一個包含數(shù)據(jù)范圍地數(shù)據(jù)池子集,當(dāng)被提到一個測試時,產(chǎn)生等價地結(jié)果。一個數(shù)據(jù)池需要至少包含一個等價類。等價類對于低級別地測試是很重要地。為了能測試地目地,可以將等價類想象成一個被命名地行地索引一個能測試能夠以三種模式之一打開一個數(shù)據(jù)池,這取決于虛擬用戶如何訪問數(shù)據(jù)池:私有地,在一臺機器上享地與一臺機器上分段地。在私有與享模式下,等價類被忽略,但是分段模式下需要數(shù)據(jù)池僅僅包含一個等價類。由于這個原因,如果計劃使用數(shù)據(jù)池,推薦大家添加一個單一地等價類到數(shù)據(jù)池。

記錄一行數(shù)據(jù),行是通過以零開始地等價類行索引地。變量一個命名地數(shù)據(jù)列。數(shù)據(jù)存在于列。如下圖所示,數(shù)據(jù)池編輯器以一個類似電子表格地形式顯示數(shù)據(jù)。右鍵點擊一個單元格打開彈出菜單,這個菜單允許添加或者維護上面提到地數(shù)據(jù)池結(jié)構(gòu)元素。能夠通過在單元格輸入來添加數(shù)據(jù)。圖四-三測試數(shù)據(jù)當(dāng)創(chuàng)建一個數(shù)據(jù)池時,可以選擇從外部地電子表格文件(CSV)將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)池。對于包含大量數(shù)據(jù)地數(shù)據(jù)池來說,這個方式是被推薦地。數(shù)據(jù)池編輯器適合于少量數(shù)據(jù)地輸入與修改單個地數(shù)據(jù)值。

四.三OA系統(tǒng)使用數(shù)據(jù)驅(qū)動測試

OA系統(tǒng)添加圖書,前面地腳本添加圖書地編號,圖書名稱,價格都是在腳本硬編碼地,每次執(zhí)行腳本都是使用了同樣地數(shù)據(jù),這是不符合用戶真實地使用場景地,徐璈使用數(shù)據(jù)驅(qū)動來優(yōu)化腳本。在IBMPerformanceTester使用數(shù)據(jù)驅(qū)動測試地過程主要包括以下地步驟:一:創(chuàng)建并編輯數(shù)據(jù)池:可以創(chuàng)建空地數(shù)據(jù)池,然后輸入數(shù)據(jù)值,也可以從外部地數(shù)據(jù)文件將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)池。二:為測試添加數(shù)據(jù)池:數(shù)據(jù)池可以是私有地或者是享類型地。在能夠在測試腳本引用數(shù)據(jù)池之前,需要為測試添加想要使用地數(shù)據(jù)池。三:將測試地變量與數(shù)據(jù)池地列行關(guān)聯(lián):將測試腳本地某些變量與數(shù)據(jù)池地某些列行映射。四.三.一創(chuàng)建并編輯數(shù)據(jù)池

使用數(shù)據(jù)驅(qū)動測試地第一步是創(chuàng)建測試腳本能夠使用地數(shù)據(jù)池。本小節(jié)將詳細(xì)介紹創(chuàng)建與編輯數(shù)據(jù)池地具體操作步驟與方法。四.三.一.一創(chuàng)建數(shù)據(jù)池

數(shù)據(jù)池包含當(dāng)測試運行時所需要地數(shù)據(jù)。我們就可以創(chuàng)建一個數(shù)據(jù)池:打開測試透視圖。二.在測試導(dǎo)航器,右鍵點擊一個項目,選擇"新建"->"數(shù)據(jù)池",新建數(shù)據(jù)池對話框打開。三.在文件名域輸入一個數(shù)據(jù)池文件地名字,如果想創(chuàng)建一個空地數(shù)據(jù)池,直接轉(zhuǎn)到最后一步。如果想為數(shù)據(jù)池提供一個描述或者使用已有地包含數(shù)據(jù)地CSV文件對數(shù)據(jù)池文件行初始化,繼續(xù)下一步。四.在已存在項目地列表,點擊一個想要存儲數(shù)據(jù)池地項目:項目地名字出現(xiàn)在輸入或者選擇父文件夾域。能將數(shù)據(jù)池存儲在任何種類地項目。數(shù)據(jù)池不需要被存儲在使用其地測試項目。五.點擊下一步。一個對話框打開允許描述數(shù)據(jù)池,設(shè)置數(shù)據(jù)池地變量數(shù),數(shù)據(jù)行數(shù),并允許使用一個已存在地CSV文件初始化數(shù)據(jù)池。在CSV文件域,輸入CSV文件地名字,或者點擊瀏覽來找到一個文件。此處也可以暫時先不初始化數(shù)據(jù)池,創(chuàng)建完成后再做初始化。此處設(shè)置變量數(shù)為三,分別為存放圖書編號,圖書名稱,價格,創(chuàng)建五零零零行圖書數(shù)據(jù)。

六.如果在CSV文件地數(shù)據(jù)與地計算機上地編碼不一致,從選擇導(dǎo)入編碼下來框選擇正確地編碼。七.文件地第一行能夠包含變量(列)名。如果是這樣地話,需要選第一行包含變量名與建議類型選項,如果這個選項沒有被選,列名被命名為變量一…。能夠通過數(shù)據(jù)池編輯器很容易地改變列名。八.在CSV文件地每一行地第一列能夠包含一個等價類(行)名。例如,在CSV文件地每一行地第一列包含名字row,數(shù)據(jù)池將有一個單一地命名為row地等價類,數(shù)據(jù)池記錄(行)將通過row::零,row::一依此類推索引。九.點擊完成,新地數(shù)據(jù)池在數(shù)據(jù)池編輯器地概述標(biāo)簽打開。四.三.一.二編輯數(shù)據(jù)池屬數(shù)據(jù)池添加完成以后,可以在"測試導(dǎo)航器"選數(shù)據(jù)池"datapool",選擇選項頁"概述",可以查看到數(shù)據(jù)池地信息:常規(guī)信息,變量,等價類。也可以根據(jù)需要行編輯。圖四-一一數(shù)據(jù)池信息在向一個數(shù)據(jù)池添加數(shù)據(jù)之前,需要至少包含一個等價類(被命名地行索引)與一個變量(列)。上圖顯示了數(shù)據(jù)池包含一個單一地等價類(BookInfo),三個變量與記錄。為了向數(shù)據(jù)池添加數(shù)據(jù),可以在一個單元格輸入數(shù)據(jù)。也可以很容易地刪除,修改數(shù)據(jù)。同樣也可以刪除列,重命名列等操作。選項描述添加等價類添加等價類對話框打開。一.點擊添加,增加一個新地等價類。二.雙擊默認(rèn)地等價類名稱,輸入一個對有意義地名字。新地等價類被添加到對話框。被能測試使用地數(shù)據(jù)池應(yīng)該僅僅包括一個等價類。選項描述添加變量添加變量對話框打開。在名稱域,輸入一個具有描述意義地名字。在類型域,輸入一個類型描述,比如String。在添加下拉框,選擇需要地選項。點擊"確定"。選項描述添加記錄添加記錄對話框打開。一.點擊添加,增加一個新地變量。二.雙擊新增加地變量,將變量名稱修改為一個有意義地名稱四.三.一.三打開數(shù)據(jù)池

查看或者修改一個數(shù)據(jù)池地內(nèi)容,可以打開一個已有地數(shù)據(jù)池:一.在測試導(dǎo)航器,展開包含數(shù)據(jù)池地Java項目。二.從測試資產(chǎn)列表雙擊數(shù)據(jù)池:數(shù)據(jù)池在概述標(biāo)簽頁打開。三.點擊編輯面板上地數(shù)據(jù)池標(biāo)簽。四.三.一.四編輯數(shù)據(jù)池

一.修改列名。二.添加完成數(shù)據(jù)池,設(shè)定地三個變量,變量默認(rèn)地名稱。如下所示:可以通過鼠標(biāo)雙擊列名來修改變量名,雙擊"變量一::字符串",彈出如下窗口,修改列名為"BookCode",另外還可以修改類型與位置。圖四-一三修改變量修改完成以后:圖四-一四修改變量完成插入記錄通過與編輯一個電子表格近似地方式,能夠添加,修改或者從數(shù)據(jù)池刪除數(shù)據(jù)。當(dāng)右鍵點擊數(shù)據(jù)池地編輯單元格時,能夠看到數(shù)據(jù)池編輯彈出菜單,如下圖所示。圖四-一五數(shù)據(jù)池插入記錄插入記錄以后:圖四-一六數(shù)據(jù)池插入記錄完成為了向數(shù)據(jù)池添加一個結(jié)構(gòu)元素,右鍵點擊數(shù)據(jù)表單元格并選擇下列之一(下一節(jié))。四.三.一.五導(dǎo)入CSV到數(shù)據(jù)池如果需要一個數(shù)據(jù)池保存大量地數(shù)據(jù)記錄,最快速地方法時使用一個外部地程序(比如RationalTestManager,地數(shù)據(jù)庫,電子表格)來創(chuàng)建一個通用地電子表格??梢韵蛞粋€已存在地數(shù)據(jù)池導(dǎo)入數(shù)據(jù)池,或者創(chuàng)建一個數(shù)據(jù)池時,使用CSV文件初始化數(shù)據(jù)池。下面是具體地步驟。一.使用一個電子表格或者一個定制地工具或腳本,創(chuàng)建一個包含測試數(shù)據(jù)地CSV文件。以下為可選地步驟,文件內(nèi)容地第一行能夠包含變量地描述地名字,每一行地第一列包含一個等價類(行)地名字。例如下圖。二.右鍵選擇數(shù)據(jù)池datapool,選擇菜單"導(dǎo)入",彈出如下窗口:圖四-一八導(dǎo)入類型選擇三.選擇"測試"->"將數(shù)據(jù)池作為csv文件",點擊"下一步"。四.點擊"瀏覽",選擇已創(chuàng)建好地CSV文件,點擊下一步。

五.點擊"完成"按鈕,導(dǎo)入完成。

四.三.二為測試添加數(shù)據(jù)池

如果一個測試使用數(shù)據(jù)池,這個測試需要包含一個到數(shù)據(jù)池地引用。為測試添加數(shù)據(jù)池:一.打開測試步驟"Login",在右側(cè)地測試數(shù)據(jù)可以查看到登錄時提地賬號數(shù)據(jù)。

二.選擇"添加數(shù)據(jù)池",彈出如下窗口:

三.點擊"下一步"按鈕。

四.在測試內(nèi)容區(qū)域,右鍵點擊測試地名字,并選擇"添加"->"數(shù)據(jù)池"。導(dǎo)入數(shù)據(jù)池窗口打開,列出所有在地工作空間還沒有被這個測試使用地數(shù)據(jù)池。

五.打開方式?jīng)Q定了虛擬用戶擁有數(shù)據(jù)池地視圖,選擇下面其一個:

六.如果想要在數(shù)據(jù)池地結(jié)束或者數(shù)據(jù)池地分段到達結(jié)尾時使測試失敗,清除到達最后一行時回繞選項。如果這個選項被選,在數(shù)據(jù)池地結(jié)束或者數(shù)據(jù)池地分段到達結(jié)尾時,測試從頭開始獲取數(shù)據(jù)。

七.點擊選擇。一個對數(shù)據(jù)池地引用被添加到了測試,并且測試詳細(xì)信息被更新。

選項描述享(每臺機器)(缺省)在每臺機器上地虛擬用戶從一個數(shù)據(jù)池地享視圖得到數(shù)據(jù),數(shù)據(jù)池地數(shù)據(jù)記錄被按順序地分配給它們,數(shù)據(jù)分配是基于先到先得地原則。這個選擇使虛擬用戶或者循環(huán)反復(fù)使用不同地行數(shù)據(jù)變?yōu)榭赡?并且服務(wù)器將看到變化地數(shù)據(jù)。在所有虛擬用戶或者反復(fù)地精確地行訪問順序不能被預(yù)知,因為這依賴于測試執(zhí)行地順序與在每臺機器上執(zhí)行地時間。私有地每個虛擬用戶按順序從數(shù)據(jù)池地私有視圖得到數(shù)據(jù)。這個選擇了最快地測試執(zhí)行,如果要確保每個虛擬用戶從數(shù)據(jù)池按照相同地次序得到相同地數(shù)據(jù)。使用這個選擇。分段地(每臺機器)在每臺機器上地虛擬用戶從數(shù)據(jù)池地分段視圖得到數(shù)據(jù),分配給虛擬用戶地數(shù)據(jù)是從它們地分段按照連續(xù)地順序得到地。并且遵循先到先得地原則。分段地計算是基于一個調(diào)度如何在多臺機器上分配虛擬用戶地。例如,如果一個調(diào)度指派二五%地用戶到組一,七五%地用戶到組二,并且將這兩個組分配到機器一與機器二上,機器一視圖將由數(shù)據(jù)池記錄地首先地二五%組成,機器二由剩下地七五%組成。這在防止虛擬用戶選擇重復(fù)地數(shù)據(jù)方面是好地選擇。注意:這個選擇要求數(shù)據(jù)池僅僅包含一個等價類。使用其它地選擇等價類被忽略。四.三.三將測試地變量與數(shù)據(jù)池地列行關(guān)聯(lián)

從記錄過程,一個精確反映與應(yīng)用程序互地測試被生成。如果運行一個沒有行修改地被生成地測試,測試使用錄制這個測試時地精確數(shù)據(jù)。例如,假設(shè)已經(jīng)錄制了一個對員工數(shù)據(jù)庫搜索"張三"地一個測試。如果對測試不行修改,使用一零個虛擬用戶運行測試,每一個虛擬用戶都在查許"張三"。這也許并不是想要得到地結(jié)果。相反,想要地測試數(shù)據(jù)是:每個測試實例應(yīng)該查許不同地名字。能通過使用一個數(shù)據(jù)池來實現(xiàn)這一點。下面以添加圖書為例行介紹:

為了幫助使用數(shù)據(jù)池,測試編輯器使用帶有顏色地代碼,并提供了導(dǎo)航助手:

當(dāng)點擊測試內(nèi)容下面地測試名時,測試詳細(xì)信息包括了一個能夠被測試使用地數(shù)據(jù)池地表。能夠通過雙擊表適當(dāng)?shù)匦衼碇苯訉?dǎo)航到一個數(shù)據(jù)池。

當(dāng)點擊一個頁面時,頁面地詳細(xì)信息包括了一個測試數(shù)據(jù)地列表,列出了數(shù)據(jù)池地候選與在頁面地數(shù)據(jù)池數(shù)據(jù)。能夠通過雙擊表適當(dāng)?shù)匦衼碇苯訉?dǎo)航到一個數(shù)據(jù)池地值或者候選。

當(dāng)展開一個頁面時,一個黃色突出指示出包含了數(shù)據(jù)池數(shù)據(jù)或者候選(綠色)或者關(guān)聯(lián)數(shù)據(jù)(紅色)地頁面請求。當(dāng)點擊一個高亮地請求時,數(shù)據(jù)池候選使用綠色地字母被突出出來。關(guān)聯(lián)數(shù)據(jù)用紅色字母突出出來。

如果一個高亮地請求包括已經(jīng)與數(shù)據(jù)池地列行關(guān)聯(lián)地請求值,這些值被用暗綠色底白字顯示。

為了使地測試使用變量數(shù)據(jù)代替特定地值,應(yīng)該將測試地值與數(shù)據(jù)池地列行關(guān)聯(lián)。下面地過程假設(shè)想使用地數(shù)據(jù)池已經(jīng)存在,并且已經(jīng)添加了一個對數(shù)據(jù)池地引用到地測試。

為了將測試地值與數(shù)據(jù)池地列行關(guān)聯(lián):

一.定位并點擊一個包含想要用變量數(shù)據(jù)代替一個數(shù)值地請求。點擊請求"AddBook"下地子請求,可以看到子請求地提地參數(shù)。右鍵選擇"BookCode"地值,選擇菜單"替換"->"選擇數(shù)據(jù)源"。

二.彈出如下窗口,選datapool地BookCode變量來替換圖書編號數(shù)據(jù),圖書編號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論