《軟件測(cè)試基礎(chǔ)》課件-第16章_第1頁
《軟件測(cè)試基礎(chǔ)》課件-第16章_第2頁
《軟件測(cè)試基礎(chǔ)》課件-第16章_第3頁
《軟件測(cè)試基礎(chǔ)》課件-第16章_第4頁
《軟件測(cè)試基礎(chǔ)》課件-第16章_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第16章功能測(cè)試工具

16.1WinRunner簡介16.2QuickTestProfessional簡介

16.1WinRunner簡介

WinRunner最主要的功能是自動(dòng)重復(fù)執(zhí)行某一固定的測(cè)試過程,它以腳本的形式記錄下手動(dòng)測(cè)試的一系列操作,在環(huán)境相同的情況下重放,檢查其在相同的環(huán)境中有無異常的現(xiàn)象或與實(shí)際結(jié)果不符的地方。WinRunner可以減少由于人為因素造成的結(jié)果錯(cuò)誤,同時(shí)也可以節(jié)省測(cè)試人員的大量時(shí)間和精力。

在測(cè)試執(zhí)行過程中,通過WinRunner記錄所有必需的操作,設(shè)置檢查點(diǎn),考察應(yīng)用程序的各個(gè)對(duì)象,把過程保存為腳本。應(yīng)用程序更新后,通過對(duì)腳本的運(yùn)行,重復(fù)先前的操作,可檢查錯(cuò)誤是否已被修改、是否有新錯(cuò)誤被引入等。16.1.1WinRunner測(cè)試模式

當(dāng)用戶在軟件操作中點(diǎn)擊GUI(圖形用戶界面)對(duì)象時(shí),WinRunner會(huì)用一種類C的測(cè)試腳本語言(TSL)生成一個(gè)測(cè)試腳本。用戶可以根據(jù)需要用手工編程的方法編輯這個(gè)腳本。利用WinRunner的功能生成器(FunctionGenerator)可以快速簡便地在已錄制的測(cè)試中添加功能。

WinRunner包括兩種錄制測(cè)試的模式。

1.環(huán)境判斷模式(ContextSensitivemode)

環(huán)境判斷模式根據(jù)用戶選取的GUI對(duì)象(如窗體、清單、按鈕等)把對(duì)軟件的操作動(dòng)作錄制下來,并忽略這些對(duì)象在屏幕上的物理位置。每一次對(duì)被測(cè)軟件進(jìn)行操作,測(cè)試腳本中的腳本語言都會(huì)描述選取的對(duì)象和操作動(dòng)作。

進(jìn)行錄制時(shí),WinRunner會(huì)對(duì)用戶選取的每個(gè)對(duì)象做唯一描述并寫入GUImap(映射)中。GUImap和測(cè)試腳本被分開保存維護(hù)。當(dāng)軟件用戶界面發(fā)生變化時(shí),只需更新GUImap。這樣一來,環(huán)境感應(yīng)模式的測(cè)試腳本將非常容易地被重復(fù)使用。執(zhí)行測(cè)試只需要回放測(cè)試腳本。WinRunner模擬一個(gè)用戶使用鼠標(biāo)選取對(duì)象、用鍵盤輸入數(shù)據(jù)。WinRunner從GUImap中讀取對(duì)象描述,并在被測(cè)軟件中查找符合這些描述的對(duì)象。WinRunner可以在同一個(gè)窗體中找到這些對(duì)象。

2.模擬模式(Analogmode)

模擬模式記錄鼠標(biāo)點(diǎn)擊、鍵盤輸入和鼠標(biāo)在二維平面上(x軸和y軸)的精確運(yùn)動(dòng)軌跡。執(zhí)行測(cè)試時(shí),WinRunner讓鼠標(biāo)根據(jù)軌跡運(yùn)動(dòng)。這種模式對(duì)于那些需要追蹤鼠標(biāo)運(yùn)動(dòng)的測(cè)試非常有用,例如畫圖軟件。16.1.2WinRunner測(cè)試過程

WinRunner的測(cè)試過程可分六個(gè)步驟:

(1)創(chuàng)建GUImap。

(2)創(chuàng)建測(cè)試。

(3)調(diào)試測(cè)試。

(4)執(zhí)行測(cè)試。

(5)查看測(cè)試結(jié)果。

(6)報(bào)告發(fā)現(xiàn)的錯(cuò)誤。

1.創(chuàng)建GUImap

使用RapidTestScriptWizard(快速測(cè)試腳本向?qū)?回顧軟件用戶界面,并系統(tǒng)地把每個(gè)GUI對(duì)象的描述添加到GUImap中。也可以在錄制測(cè)試的時(shí)候,通過點(diǎn)擊對(duì)象把對(duì)單個(gè)對(duì)象的描述添加到GUImap中。

2.創(chuàng)建測(cè)試

用戶可以通過錄制、編程或兩者同用的方式創(chuàng)建測(cè)試腳本。錄制測(cè)試時(shí),在需要檢查軟件反應(yīng)的地方插入檢查點(diǎn)(Checkpoint)??梢圆迦霗z查點(diǎn)來檢查GUI對(duì)象、位圖(Bitmap)和數(shù)據(jù)庫。在這個(gè)過程中,WinRunner捕捉數(shù)據(jù),并作為期望結(jié)果(被測(cè)軟件的期望反應(yīng))儲(chǔ)存下來。

3.調(diào)試測(cè)試

用戶可以先在調(diào)試模式(Debugmode)下運(yùn)行腳本,也可以設(shè)置中斷點(diǎn)(Breakpoint),監(jiān)測(cè)變量,控制WinRunner識(shí)別和隔離錯(cuò)誤。調(diào)試結(jié)果被保存在Debugfolder中,一旦調(diào)試結(jié)束就可以刪除。

4.執(zhí)行測(cè)試

檢驗(yàn)?zāi)J?Verifymode)下測(cè)試被測(cè)軟件。WinRunner在腳本運(yùn)行中遇到檢查點(diǎn)后,就把當(dāng)前數(shù)據(jù)和前期捕捉的期望值進(jìn)行比較。如果發(fā)現(xiàn)有不符合,就記錄下來作為實(shí)測(cè)結(jié)果。

5.查看測(cè)試結(jié)果

測(cè)試是成功還是失敗由用戶來認(rèn)定。每次測(cè)試結(jié)束,WinRunner會(huì)把結(jié)果顯示在報(bào)告中。報(bào)告會(huì)詳述測(cè)試執(zhí)行過程中發(fā)生的所有主要事件,如檢查點(diǎn)、錯(cuò)誤信息、系統(tǒng)信息或用戶信息。

如果在檢查點(diǎn)處有預(yù)期結(jié)果與實(shí)測(cè)結(jié)果不符合的情況,可以在TestResults(測(cè)試結(jié)果)窗口查看預(yù)期結(jié)果和實(shí)測(cè)結(jié)果。如果是位圖不符合,也可以查看用于顯示預(yù)期值和實(shí)測(cè)結(jié)果之間差異的位圖。

6.報(bào)告發(fā)現(xiàn)的錯(cuò)誤

如果由于測(cè)試中發(fā)現(xiàn)錯(cuò)誤而造成測(cè)試運(yùn)行失敗,用戶可以直接從TestResults窗口報(bào)告有關(guān)錯(cuò)誤的信息。這些信息通過E-mail發(fā)送給測(cè)試經(jīng)理(QAManager),用來跟蹤這個(gè)錯(cuò)誤直到被修復(fù)。16.1.3認(rèn)識(shí)WinRunner工作環(huán)境

1.啟動(dòng)WinRunner

點(diǎn)擊“開始”|“程序”|“WinRunner”|“WinRunner”,啟動(dòng)WinRunner,WinRunner的Record/RunEngine(記錄/執(zhí)行引擎)圖標(biāo)即出現(xiàn)在Windows的任務(wù)條上。這個(gè)引擎設(shè)立和維護(hù)WinRunner與被測(cè)軟件之間的連接。

在WinRunner啟動(dòng)時(shí),可以選擇支持ActiveXcontrol、PowerBuilder、VisualBasic或WebTest的插件。其它插件需要單獨(dú)再向MI公司購買,建議不要同時(shí)載入所有的插件,不必要的插件可能會(huì)對(duì)錄制或執(zhí)行造成問題,如圖16.1所示。圖16.1啟動(dòng)插件選擇

2.WinRunner主界面介紹

1)?WinRunner主窗口

WinRunner主窗口包括以下幾部分,如圖16.2所示。

(1)?WinRunnertitlebar:標(biāo)題欄;

(2)?Menubar:菜單欄;

(3)?Standardtoolbar:標(biāo)準(zhǔn)工具欄,包含運(yùn)行測(cè)試時(shí)常用的命令;

(4)?TestEditor:腳本編輯欄;

(5)?Usertoolbar:用戶工具欄,包含創(chuàng)建測(cè)試時(shí)常用的命令;

(6)?Statusbar:狀態(tài)欄;

(7)?FunctionViewer:功能窗口;

(8)?DebugViewer:調(diào)試窗口。圖16.2WinRunner主窗口

2)測(cè)試窗口

在測(cè)試窗口創(chuàng)建和執(zhí)行測(cè)試,窗口包含以下部分,如圖16.3所示。圖16.3WinRunner測(cè)試窗口

(1)?Testscript:測(cè)試腳本,通過錄制或編寫代碼方式生成;

(2)?Executionarrow:執(zhí)行箭頭,指明當(dāng)前正在執(zhí)行的那一行腳本,如果想要移動(dòng)這個(gè)標(biāo)志到某一行,只需要在執(zhí)行改行左側(cè)空白處單擊鼠標(biāo)右鍵;

(3)?Insertionpoint:插入點(diǎn),用戶可插入或編輯文本的地方;

(4)?Testscrip:測(cè)試腳本。

3)測(cè)試工具列

提供常用的測(cè)試按鈕,如錄制、停止等,如圖16.4所示。

(1)?RunMode:設(shè)定執(zhí)行模式,有Verifty、Debug、Update三種執(zhí)行模式;

(2)?Record:開始以Contextsensitive模式錄制;

(3)?RunFromTop:從頭開始執(zhí)行;

(4)?RunFromArrow:從黃色小箭頭處開始執(zhí)行;

(5)?Stop:停止錄制或執(zhí)行。圖16.4WinRunner測(cè)試工具列

4)除錯(cuò)工具列

提供除錯(cuò)時(shí)常用的測(cè)試按鈕,如逐步執(zhí)行、暫停、設(shè)定斷點(diǎn)等,如圖16.5所示。圖16.5WinRunner除錯(cuò)工具列(1)?Pause:暫停;

(2)?Step:逐步執(zhí)行;

(3)?StepInto:逐步執(zhí)行并進(jìn)入;

(4)?Addwatch:新增監(jiān)視變量;

(5)?ToggleBreakpoint(F9):設(shè)置斷點(diǎn);

(6)?BreakinFunction(Ctrl+B):設(shè)定函數(shù)中的斷點(diǎn);

(7)?RemoveAllBreakpoints:清除所有斷點(diǎn)。

5)用戶工具列

提供使用者自定義常用的按鈕,如圖16.6所示。圖16.6WinRunner用戶工具列16.1.4WinRunner測(cè)試示例一

1.創(chuàng)建GUImap

當(dāng)創(chuàng)建測(cè)試時(shí),用戶需要確定GUImap的工作模式。GUImap有兩種工作模式:GlobalGUIMapfile和GUIMapfilepertest。

對(duì)于WinRunner初學(xué)者,建議使用GUIMapfilepertest模式。這種模式下,每次新建測(cè)試就自動(dòng)新建一個(gè)GUImapfile。在用戶保存測(cè)試時(shí),GUImapfile自動(dòng)保存;用戶打開測(cè)試時(shí),GUImapfile自動(dòng)加載。對(duì)于WinRunner熟練的開發(fā)者,建議使用更有效率的GlobalGUIMapfile模式,這也是WinRunner的默認(rèn)模式。WinRunner8.02或更低版本都是使用這種模式,且只能使用這種模式。

本書中使用GUIMapfilepertest模式。

更改GUImap的工作模式:在WinRunner主菜單欄中選取“Tools”|“GeneralOptions”|“GUIFiles”,可以選擇使用GUIMapfilepertest模式,如圖16.7所示。注意,WinRunner重新啟動(dòng)后設(shè)置才會(huì)生效。圖16.7WinRunner更改GUImap工作模式界面

2.創(chuàng)建測(cè)試

(1)運(yùn)行WinRunner,新建一個(gè)測(cè)試項(xiàng)目:在WinRunner主菜單欄中點(diǎn)擊“File”|“New”。

(2)運(yùn)行Flight4A程序,進(jìn)入“Login”窗口:點(diǎn)擊“開始”按鈕,選擇“開始”|“程序”|“WinRunner”|“SampleApplications”,點(diǎn)擊“Flight4A”快捷方式,顯示出示例程序的登陸界面,如圖16.8所示。

(3)開始錄制:在WinRunner工具欄點(diǎn)擊“Record”按鈕,WinRunner進(jìn)入錄制狀態(tài)。

(4)執(zhí)行登錄程序:在Flight4A示例程序登錄界面,點(diǎn)擊“AgentName”輸入框,輸入“admin”;點(diǎn)擊“Password”輸入框,輸入“mercury”;點(diǎn)擊“OK”按鈕,程序登錄成功,進(jìn)入主界面。圖16.8示例程序Flight4A登錄界面

(5)停止錄制:在WinRunner主菜單欄點(diǎn)擊“Stop”按鈕,可以看到WinRunner中記錄的腳本如下:

#Login

1

set_window(“Login”,4);

2

edit_set(“AgentName:”,“admin”);

3

obj_type(“AgentName:”,“<kTab>”);

4

password_edit_set(“Password:”,“kzptnyoslzjsaz”);

5

button_press(“OK”);

6

(6)保存腳本:保存腳本為“C:\TestProject\WR_Lesson_Record_and_Run”。GUIMap可以自動(dòng)保存在用戶目錄下,也可選擇手動(dòng)保存。本例中用戶無需手動(dòng)保存。手動(dòng)保存GUIMap到“C:\TestProject\WR_Lesson_Record_and_Run\flight1a.gui”,方法是:選擇菜單“Tools”|“GUIMapEditor”,顯示“GUIMapEditor”窗口,如圖16.9所示;選擇“GUIMapEditor”窗口中的菜單“File”|“Save”,輸入要保存的路徑和文件名,點(diǎn)擊“保存”按鈕即可。建議:將GUIMap文件保存到當(dāng)前腳本的目錄中。圖16.9WinRunnerGUIMap文件保存界面

3.修改測(cè)試腳本

錄制一個(gè)腳本的時(shí)候,每次點(diǎn)擊GUI對(duì)象或用鍵盤輸入時(shí),在WinRunner的測(cè)試腳本中產(chǎn)生了一個(gè)TSL的聲明。可以增加錄制TSL的函數(shù),TSL包括許多構(gòu)造函數(shù),能增加腳本測(cè)試函數(shù)的功能和適應(yīng)性。在WinRunner中通過形象規(guī)劃工具函數(shù)發(fā)生器能很快地增加測(cè)試腳本的功能。測(cè)試人員可以通過函數(shù)發(fā)生器為腳本定義函數(shù)或者通過其選擇相應(yīng)的函數(shù)。

在剛才錄制的腳本中,增加一段程序wait(2),這是WinRunner的一個(gè)函數(shù),功能為設(shè)定等待時(shí)間,時(shí)間一到就執(zhí)行后面的腳本。合理使用不同的函數(shù)可以增強(qiáng)腳本的可用性。#Login

set_window("Login",4);

edit_set("AgentName:","admin");

obj_type("AgentName:","<kTab>");

wait(2); //增加一行

password_edit_set("Password:","kzptnyoslzjsaz");

button_press("OK");

4.執(zhí)行測(cè)試

(1)關(guān)閉Flight4A程序登錄后進(jìn)入的“FlightReservation”窗口。

(2)重新運(yùn)行Flight4A程序,等待“Login”窗口的出現(xiàn)(如果計(jì)算機(jī)能夠流暢地運(yùn)行WinRunner的話,“Login”窗口應(yīng)該非常快地出現(xiàn))。

(3)回放剛才錄制的腳本:在WinRunner主菜單欄中點(diǎn)擊“RunfromTop”,可以看到剛才對(duì)“Login”窗口所做的操作和輸入均被重現(xiàn)了一遍。由于加入了wait(2)函數(shù),因此輸入用戶名后,等待2秒后才輸入密碼。其它效果和手工進(jìn)行的操作與輸入的結(jié)果一樣。

5.查看測(cè)試結(jié)果

一次測(cè)試運(yùn)行結(jié)束以后,在WinRunner的測(cè)試結(jié)果窗口,WinRunner將不同運(yùn)行結(jié)果標(biāo)以不同顏色(綠色的顯示表示運(yùn)行正確結(jié)束,紅色的顯示表示運(yùn)行失敗),測(cè)試人員能很快得知該測(cè)試是成功還是失敗,也可以通過“Tools”菜單中的子菜單“TestResults…”獲得測(cè)試結(jié)果,如圖16.10所示。如果在測(cè)試結(jié)果中有紅色顯示,可以雙擊該紅色結(jié)果,就會(huì)彈出錯(cuò)誤產(chǎn)生的原因供測(cè)試人員參考。圖16.10WinRunner測(cè)試結(jié)果界面16.1.5WinRunner測(cè)試示例二

16.1.4節(jié)的例子使讀者初步認(rèn)識(shí)了WinRunner的測(cè)試過程和方法,但是,怎么樣判斷程序的對(duì)錯(cuò)呢?答案是:在執(zhí)行了某個(gè)步驟時(shí),判斷程序的返回結(jié)果與預(yù)期結(jié)果是否一致。

WinRunner可以在執(zhí)行了某個(gè)步驟后,檢查某個(gè)對(duì)象的單個(gè)或者多個(gè)屬性是否與預(yù)先定義的相一致,或者是多個(gè)對(duì)象的多個(gè)屬性是否與預(yù)先定義的相一致,又或者是將對(duì)象作為圖片,比較是否與預(yù)期的相一致。對(duì)于數(shù)據(jù)庫應(yīng)用,則檢查某個(gè)表或是某個(gè)查詢的記錄內(nèi)容、數(shù)量等是否與預(yù)期的相一致。

WinRunner使用GUI檢查點(diǎn)來檢驗(yàn)被測(cè)軟件中的GUI對(duì)象。比如可以檢查一個(gè)對(duì)話框在何時(shí)打開,一個(gè)button是否可用等。用戶所要做的就是指向這個(gè)對(duì)象,選擇想要WinRunner檢查的屬性??梢詸z查WinRunner建議的屬性或自己指定屬性。GUI對(duì)象和被選定的屬性保存在一個(gè)檢查清單上,然后WinRunner捕捉對(duì)象的當(dāng)前屬性值并保存起來作為期望值,這時(shí)一個(gè)GUI檢查點(diǎn)就自動(dòng)被插入到腳本中。在腳本中這個(gè)檢查點(diǎn)顯示為obj_check_gui或win_check_gui語句。

執(zhí)行測(cè)試時(shí),檢查點(diǎn)就把實(shí)際值和期望值進(jìn)行比較。如果不符合就說明檢查失敗。檢查結(jié)果可以在測(cè)試結(jié)果窗口看到。

1.創(chuàng)建GUImap

使用GUIMapfilepertest模式,可省去這一步驟。

2.創(chuàng)建測(cè)試

(1)運(yùn)行WinRunner,新建一個(gè)測(cè)試項(xiàng)目:在WinRunner主菜單欄點(diǎn)擊“File”|“New”。

(2)運(yùn)行Flight4A程序:選擇“開始”|“程序”|“WinRunner”|“SampleApplications”,點(diǎn)擊“Flight4A”快捷方式,顯示出示例程序的登錄界面。在登錄界面,點(diǎn)擊“AgentName”輸入框,輸入“admin”,點(diǎn)擊“Password”輸入框,輸入“mercury”,點(diǎn)擊“OK”按鈕,程序登錄成功。示例程序主界面如圖16.11所示。圖16.11示例程序Flight4A主界面

(3)開始錄制:在WinRunner主菜單欄點(diǎn)擊“Record”按鈕,WinRunner進(jìn)入錄制狀態(tài)。

(4)進(jìn)入Flight4A“OpenOrder”窗口:在Flight4A示例程序主界面,點(diǎn)擊“File”|“OpenOrder”,如圖16.12所示。

(5)點(diǎn)擊”“OrderNo.”按鈕,“CustomerName”復(fù)選框應(yīng)置灰,如圖16.13所示。圖16.12示例程序Flight4A的“OpenOrder”主界面圖16.13OrderNo.界面

(6)檢查“CustomerName”復(fù)選框的enable屬性:點(diǎn)擊WinRunner菜單的“Insert”|“GUICheckpoint”|“ForSingleProperty”按鈕,進(jìn)入選取目標(biāo)狀態(tài),如圖16.14所示。

(7)移動(dòng)光標(biāo),在Flight4A示例程序“CustomerName”復(fù)選框上單擊左鍵,顯示檢查屬性窗口,如圖16.15所示。圖16.14WinRunner選取檢查屬性設(shè)置界面圖16.15WinRunner檢查屬性選取界面

(8)此時(shí)可以看到要檢查的屬性為“enabled”,確認(rèn)預(yù)期值為0(相當(dāng)于False),如圖16.16所示。圖16.16WinRunner檢查屬性設(shè)置界面

(9)在WinRunner檢查屬性窗口點(diǎn)擊“Pasete”按鈕,可以看到腳本中增加了一行語句:

button_check_info(“CustomerName”,“enabled”,0);

(10)停止錄制:在Flight4A程序點(diǎn)擊“Cancel”按鈕返回至主界面;在WinRunner主菜單欄點(diǎn)擊“Stop”按鈕,可以看到WinRunner中記錄的腳本如下:

(11)保存腳本:保存腳本為“C:\TestProject\WR_Lesson_Cherck_Single”。

3.修改測(cè)試腳本

用戶還可以根據(jù)自己的需要用TSL腳本語言手工編程方式檢查屬性,修改測(cè)試腳本達(dá)到測(cè)試的要求,在本例中不做修改。

4.執(zhí)行測(cè)試

(1)確認(rèn)Flight4A程序登錄后進(jìn)入的“FlightReservation”窗口;

(2)回放剛才錄制的腳本,在主菜單欄點(diǎn)擊“RunfromTop”,可以看到剛剛所做的操作均被重現(xiàn)了一遍。

5.查看測(cè)試結(jié)果

當(dāng)一次測(cè)試運(yùn)行結(jié)束以后,在WinRunner的測(cè)試結(jié)果窗口可以看到?jīng)]有錯(cuò)誤,全部通過,如圖16.17所示。圖16.17WinRunner測(cè)試結(jié)果界面

6.執(zhí)行測(cè)試

(1)確認(rèn)退出Flight4A程序。

(2)確認(rèn)Flight4B程序登錄后進(jìn)入的“FlightReservation”窗口(參考Flight4A程序的啟動(dòng))。

(3)回放剛才錄制的腳本,在WinRunner主菜單欄中點(diǎn)擊“RunfromTop”,可以看到執(zhí)行過程中出現(xiàn)了錯(cuò)誤。點(diǎn)擊“OrderNo.”按鈕,“CustomerName”復(fù)選框沒有置灰,如圖16.18所示。圖16.18示例程序Flight4A點(diǎn)擊OrderNo.界面

7.查看測(cè)試結(jié)果

在WinRunner的測(cè)試結(jié)果窗口可以看到檢查點(diǎn)的記錄為紅色,結(jié)果為fail,雙擊后可以看到原因?yàn)榕c預(yù)期的結(jié)果不一致,如圖16.19所示。圖16.19WinRunner測(cè)試結(jié)果界面

16.2QuickTestProfessional簡介

16.2.1認(rèn)識(shí)QuickTestProfessional工作環(huán)境

1.啟動(dòng)QuickTestProfessional

點(diǎn)擊“開始”|“程序”|“QuickTestProfessional”|“QuickTestProfessional”,啟動(dòng)QTP。

在QuickTestProfessional啟動(dòng)時(shí),可以選擇支持ActiveX、VisualBasic或Web的插件。其它插件需要單獨(dú)再向MI公司購買,建議不要同時(shí)載入所有的插件,不必要的插件可能會(huì)對(duì)錄制或執(zhí)行造成問題。本節(jié)例子選用Web插件,如圖16.20所示。圖16.20QTP啟動(dòng)插件選擇界面

2.QuickTestProfessional主界面介紹

圖16.21顯示了錄制測(cè)試后將出現(xiàn)的QTP窗口,其中顯示了除“調(diào)試查看器”窗格以外的所有工具欄和窗格。圖16.21QTP測(cè)試主界面16.2.2QTP測(cè)試示例

用戶安裝QTP后,會(huì)自動(dòng)安裝單機(jī)版的FlightReservation(航班預(yù)訂)軟件,作為用戶測(cè)試應(yīng)用程序的范例軟件。

下面通過QTP自帶的飛機(jī)訂票網(wǎng)站示例,講解QTP的使用過程。具體步驟如下所示:

1.準(zhǔn)備錄制

●優(yōu)化測(cè)試的瀏覽器設(shè)置

使用InternetExplorer作為瀏覽器,應(yīng)清除用戶名和密碼的“自動(dòng)完成”選項(xiàng)。這樣將確保在創(chuàng)建測(cè)試時(shí),可以精確錄制所有的操作。要清除“自動(dòng)完成”選項(xiàng),請(qǐng)執(zhí)行下列操作:

(1)在InternetExplorer的菜單欄中,選擇“工具”→“Internet選項(xiàng)”→“內(nèi)容”選項(xiàng)卡;

(2)在“個(gè)人信息”區(qū)域中單擊“自動(dòng)完成”,將打開“自動(dòng)完成設(shè)置”對(duì)話框;

(3)在“自動(dòng)完成功能應(yīng)用于”區(qū)域中,清除“表單上的用戶名和密碼”選項(xiàng);

(4)單擊“確定”保存更改并關(guān)閉“自動(dòng)完成設(shè)置”對(duì)話框,然后再次單擊“確定”,關(guān)閉“Internet選項(xiàng)”對(duì)話框。啟動(dòng)MercuryTours應(yīng)用程序

在Web瀏覽器中,鍵入以下URL:http://newtours.,將打開MercuryTours主頁,如圖16.22所示。圖16.22MercuryTours范例網(wǎng)站界面●在MercuryTours中注冊(cè)

要登錄并使用MercuryTours應(yīng)用程序,必須成為注冊(cè)用戶。

在主頁上,單擊“REGISTER”導(dǎo)航按鈕,將打開“Register”頁。

在該頁面底部的“UserInformation”部分中,輸入用戶名和密碼,并確認(rèn)密碼。(其他信息是可選的。)

單擊“SUBMIT”,MercuryTours將確認(rèn)注冊(cè)。在確認(rèn)頁上,單擊“SIGN-ON”導(dǎo)航按鈕進(jìn)入應(yīng)用程序,將打開“Sign-on”頁。輸入已注冊(cè)的用戶名和密碼,然后單擊“SUBMIT”。

此時(shí)將打開“FlightFinder”頁?!駷g覽MercuryTours站點(diǎn)

從“FlightFinder”頁開始,按照屏幕上的說明獲得航班信息并預(yù)定航班。

●結(jié)束MercuryTours會(huì)話

在瀏覽MercuryTours應(yīng)用程序完成后,單擊“FlightConfirmation”頁上的“LOGOUT”按鈕,或單擊任何應(yīng)用程序頁頂部的“SIGN-OFF”鏈接。

再次登錄,只需在“Sign-on”頁或MercuryTours主頁中輸入已注冊(cè)的用戶名和密碼即可。

●關(guān)閉Web瀏覽器

此時(shí),便可以開始使用QTP在MercuryTours應(yīng)用程序上創(chuàng)建測(cè)試。

2.錄制測(cè)試腳本

通過QTP錄制一個(gè)測(cè)試腳本,內(nèi)容為在MercuryTours范例網(wǎng)站上預(yù)定一張從紐約(NewYork)到舊金山(SanFrancisco)的機(jī)票。

(1)啟動(dòng)QTP:請(qǐng)選擇“開始”|“程序”|“QuickTestProfessional”|“QuickTestProfessional”。在“加載項(xiàng)管理器”中,確認(rèn)Web加載項(xiàng)處于選定狀態(tài),并清除所有其它加載項(xiàng)。單擊“確定”,關(guān)閉“加載項(xiàng)管理器”并打開QTP。

(2)新建一個(gè)測(cè)試項(xiàng)目:在主菜單欄點(diǎn)擊“File”|“New”。

(3)開始錄制測(cè)試腳本:點(diǎn)選工具欄上的“Record”按鈕,打開“RecordandRunSettings”對(duì)話窗口,如圖16.23所示;在“Web”標(biāo)簽頁選擇“Openthefollowingaddresswhenarecordorrunsessionbegins”,在“Type”下拉列表中選擇“MicrosoftInternetExplorer”為瀏覽器的類型;在“Address”中添加“http:///”(網(wǎng)站地址),這樣,在錄制的時(shí)候,QTP會(huì)自動(dòng)打開IE瀏覽器并連接到MercuryTours范例網(wǎng)站上。

(4)切換到“WindowsApplication”標(biāo)簽頁,如圖16.24所示。如果選擇“RecordandruntestonanyopenWindows-basedapplication”單選按鈕,則在錄制過程中QTP會(huì)記錄對(duì)所有的Windows程序所做的操作。如果選擇“Recordandrunontheseapplication(openedwhenasessionbegins)”單選按鈕,則在錄制過程中,QTP只會(huì)記錄對(duì)那些添加到下面“Applicationdetails”列表框中的應(yīng)用程序的操作(可以通過“Add”、”“Edit”、”“Delete”按鈕來編輯這個(gè)列表)。圖16.23QTP錄制腳本設(shè)置界面圖16.24QTP錄制腳本設(shè)置界面

(5)選擇第二個(gè)單選按鈕。因?yàn)橹皇菍?duì)MercuryTours范例網(wǎng)站進(jìn)行操作,不涉及到Windows程序,所以保持列表為空。

(6)點(diǎn)擊“確定”按鈕,開始錄制,將自動(dòng)打開IE瀏覽器并連接到MercuryTours范例網(wǎng)站上。

(7)登錄MercuryTours網(wǎng)站,在用戶名和密碼欄中輸入注冊(cè)時(shí)使用的賬號(hào)和密碼,點(diǎn)擊“Sign-in”,進(jìn)入“FlightFinder”網(wǎng)頁。

(8)輸入以下訂票數(shù)據(jù):

DepartingFrom:NewYork

On:May14

ArrivingIn:SanFrancisco

Returning:May28

ServiceClass:Businessclass

其它字段保留默認(rèn)。

點(diǎn)擊“CONTINUE”按鈕打開“SelectFlight”頁面。

(9)選擇飛機(jī)航班:可以保存默認(rèn)值,點(diǎn)擊“CONTINUE”按鈕打開“BookaFlight”頁面。輸入必填字段(紅色字段),輸入用戶名和信用卡號(hào)碼(信用卡可以輸入虛構(gòu)的號(hào)碼,如8888-8888)。點(diǎn)擊網(wǎng)頁下方的“SECUREPURCHASE”按鈕,打開“FlightConfirmation”網(wǎng)頁,完成定制流程。

(10)查看訂票數(shù)據(jù),并選擇“BACKTOHOME”回到MercuryTours網(wǎng)站首頁。

(11)停止錄制:在QTP工具列上點(diǎn)擊“Stop”按鈕,停止錄制。到這里已經(jīng)完成了預(yù)定從“紐約—舊金山”機(jī)票的動(dòng)作,并且QTP已經(jīng)錄制了從按下“Record”按鈕到“Stop”按鈕之間的所有操作。

(12)保存腳本:點(diǎn)擊工具欄上的“Save”按鈕,開啟“Save”對(duì)話窗口。選好路徑,填寫文件名,取名為Flight,點(diǎn)擊“保存”按鈕進(jìn)行保存。

通過以上幾個(gè)步驟,已經(jīng)錄制了一個(gè)完整的測(cè)試腳本—預(yù)定從紐約到舊金山的機(jī)票。

3.分析測(cè)試腳本

在錄制過程中,QTP會(huì)在測(cè)試腳本管理窗口(也叫TreeView窗口)中產(chǎn)生對(duì)每一個(gè)操作的相應(yīng)記錄,并在KeywordView中以類似Excel工作表的方式顯示所錄制的測(cè)試腳本。當(dāng)錄制結(jié)束后,QTP也就記錄下了測(cè)試過程中的所有操作。測(cè)試腳本管理窗口顯示的內(nèi)容如圖16.25所示。圖16.25QTP腳本管理窗口圖16.26是針對(duì)一些常見的操作步驟的詳細(xì)說明。圖16.26QTP操作步驟說明

4.執(zhí)行測(cè)試

當(dāng)運(yùn)行錄制好的測(cè)試腳本時(shí),QTP會(huì)打開被測(cè)試程序,執(zhí)行在測(cè)試中錄制的每一個(gè)操作。測(cè)試運(yùn)行結(jié)束后,QTP顯示本次運(yùn)行的結(jié)果。接下來,執(zhí)行在上一節(jié)中錄制的Flight測(cè)試腳本。

(1)打開錄制的Flight測(cè)試腳本。

(2)設(shè)置運(yùn)行選項(xiàng)。點(diǎn)擊“Tool”|“Options”,打開設(shè)置選項(xiàng)對(duì)話框。選擇“Run”標(biāo)簽頁,如圖16.27所示,如果要將所有畫面儲(chǔ)存在測(cè)試結(jié)果中,在Savestillimagecapturestoresults”選項(xiàng)中選擇“Always”選項(xiàng)。一般情況下選擇“Forerror”或“Forerrorsandwarning”表示在回放測(cè)試過程中出現(xiàn)問題時(shí),才保存圖像信息。在這里為了更多地展示QTP的功能,選擇使用“Always”選項(xiàng)。圖16.27QTPOptions設(shè)置

(3)在工具條上點(diǎn)擊“Run”按鈕,打開“Run”對(duì)話框,詢問要將本次的測(cè)試運(yùn)行結(jié)果保存到何處。選擇“Newrunresultsfolder”單選按鈕,設(shè)定好存放路徑(在這使用預(yù)設(shè)的測(cè)試結(jié)果名稱),點(diǎn)擊“確定”按鈕開始執(zhí)行測(cè)試,如圖16.28所示。

(4)此時(shí)可以看到QTP按照在腳本中錄制的操作,一步一步地運(yùn)行測(cè)試,操作過程與手工操作時(shí)完全一樣。同時(shí)可以看到在QTP的KeywordView中會(huì)出現(xiàn)一個(gè)黃色的箭頭,指示目前正在執(zhí)行的測(cè)試步驟。

(5)如果在執(zhí)行測(cè)試的時(shí)候出現(xiàn)錯(cuò)誤,會(huì)顯示一個(gè)錯(cuò)誤信息對(duì)話框。圖16.28QTPRun設(shè)置

5.查看測(cè)試結(jié)果

在測(cè)試執(zhí)行完成后,QTP會(huì)自動(dòng)顯示測(cè)試結(jié)果窗口,如圖16.29所示。圖16.29QTP測(cè)試結(jié)果界面在這個(gè)測(cè)試結(jié)果窗口中,分兩個(gè)部分顯示測(cè)試執(zhí)行的結(jié)果。

左邊顯示Testresultstree,以樹視圖的方式顯示測(cè)試腳本所執(zhí)行的步驟??梢赃x擇“+”檢查每一個(gè)步驟,所有的執(zhí)行步驟都會(huì)以圖示的方式顯示。可以設(shè)定QTP以不同的資料執(zhí)行每個(gè)測(cè)試或某個(gè)動(dòng)作,每執(zhí)行一次反復(fù)稱為一個(gè)迭代,每一次迭代都會(huì)被編號(hào)。

右邊則是顯示測(cè)試結(jié)果的詳細(xì)信息。在第一個(gè)表格中顯示哪些迭代是已經(jīng)通過的,哪些是失敗的。第二個(gè)表格顯示測(cè)試腳本的檢查點(diǎn),哪些是通過的,哪些是失敗的,以及有幾個(gè)警告信息。在上面的測(cè)試中,所有的測(cè)試都是通過的,在腳本中也沒有添加檢查點(diǎn)。接下來查看QTP執(zhí)行測(cè)試腳本的詳細(xì)結(jié)果,以及選擇某個(gè)測(cè)試步驟時(shí)出現(xiàn)的詳細(xì)信息。

在樹視圖中展開“FlightIteration1(Row1)”|“Action1Summary”|“WelcomeMercuryTours”|“FindaFlight:Mercury”,選擇“fromPost:Select”|“NewYork”。

在這個(gè)測(cè)試結(jié)果窗口中顯示三個(gè)部分,分別是:

左邊是Testresultstree。展開樹視圖后,顯示了測(cè)試執(zhí)行過程中的每一個(gè)操作步驟。選擇某一個(gè)測(cè)試步驟,會(huì)在右邊區(qū)域顯示相應(yīng)的信息。右上方是Testresultsdetail。對(duì)應(yīng)當(dāng)前選中的測(cè)試步驟,顯示被選取測(cè)試步驟執(zhí)行時(shí)的詳細(xì)信息。

右下方是ActiveScreen。對(duì)應(yīng)當(dāng)前選中的測(cè)試步驟,顯示該操作執(zhí)行時(shí)應(yīng)用程序的屏幕截圖。當(dāng)選中testresultstree上的網(wǎng)頁圖示時(shí),會(huì)在“ActiveScreen”中看到執(zhí)行時(shí)的畫面。當(dāng)選中testresultstree上的測(cè)試步驟(在某個(gè)對(duì)象上執(zhí)行某個(gè)動(dòng)作)時(shí),除了顯示當(dāng)前的畫面外,對(duì)象還會(huì)被粉色的方框框住。上面的例子中,在“ActiveScreen”中點(diǎn)擊被框住的“DepartingFrom”下拉菜單,會(huì)顯示其它的選項(xiàng),如圖16.30所示。圖16.30QTP測(cè)試結(jié)果界面

6.設(shè)置檢查點(diǎn)

“檢查點(diǎn)”是將指定屬性的當(dāng)前值與該屬性的期望值進(jìn)行比較的驗(yàn)證點(diǎn)。這能夠確定網(wǎng)站或應(yīng)用程序是否正常運(yùn)行。當(dāng)添加檢查點(diǎn)時(shí),QTP會(huì)將檢查點(diǎn)添加到關(guān)鍵字視圖中的當(dāng)前行并在專家視圖中添加一條“檢查點(diǎn)”語句。運(yùn)行測(cè)試或組件時(shí),QTP會(huì)將檢查點(diǎn)的期望結(jié)果與當(dāng)前結(jié)果進(jìn)行比較。如果結(jié)果不匹配,檢查點(diǎn)就會(huì)失敗??梢栽凇皽y(cè)試結(jié)果”窗口中查看檢查點(diǎn)的結(jié)果。

打開Flight測(cè)試腳本,將腳本另存為“Checkpoint”測(cè)試腳本。在Checkpoint測(cè)試腳本中創(chuàng)建一個(gè)文字檢查點(diǎn),檢查在“FlightConfirmation”網(wǎng)頁中是否出現(xiàn)“NewYork”。

(1)確定要建立檢查點(diǎn)的網(wǎng)頁:展開“Action1”|“Welcome:MercuryTours”,選擇“FlightConfirmation:Mercury”頁面,在“ActiveScreen”中會(huì)顯示相應(yīng)的頁面。

(2)建立文字檢查點(diǎn):在“ActiveScreen”中選擇“Departing”下方的“NewYork”。對(duì)選取的文字單擊鼠標(biāo)右鍵,并選取“InsertTextCheckpoint”,打開“TextCheckpointProperties”對(duì)話窗口。當(dāng)“CheckedText”出現(xiàn)在下拉式清單中時(shí),“Constant”字段顯示的就是選取的文字,這也就是QTP在執(zhí)行測(cè)試腳本時(shí)所要檢查的文字,如圖16.31、圖16.32所示。圖16.31QTP加入檢查點(diǎn)圖16.32QTP檢查點(diǎn)設(shè)置

(3)點(diǎn)擊“OK”關(guān)閉窗口。QTP會(huì)在測(cè)試腳本中添加一個(gè)文字檢查點(diǎn),這個(gè)文字檢查點(diǎn)會(huì)出現(xiàn)在“FlightConfirmation:Mercury”網(wǎng)頁下方。

(4)在工具欄上點(diǎn)擊“Save”,保存腳本。

7.執(zhí)行測(cè)試

(1)打開錄制的Flight測(cè)試腳本。

(2)運(yùn)行腳本(參考上文)。

8.查看測(cè)試結(jié)果

在Testresultstree中展開“CheckpointIteration1(Row1)”|“Action1Summary”|“Welcome:MercuryTours”|“FlightConfirmation:Mercury”,并選擇“Checkpoint"NewYork"”,顯示如圖16.33。因?yàn)槲淖謾z查點(diǎn)的實(shí)際值與預(yù)期值相同,所以檢查點(diǎn)的結(jié)果為Passed。圖16.33QTP檢查點(diǎn)測(cè)試結(jié)果界面

9.參數(shù)化

在測(cè)試腳本中,出發(fā)地點(diǎn)“紐約”是個(gè)常數(shù)值,也就是說,每次執(zhí)行測(cè)試腳本預(yù)定機(jī)票時(shí),出發(fā)地點(diǎn)都是紐約?,F(xiàn)在,將測(cè)試腳本中的出發(fā)地點(diǎn)參數(shù)化,這樣,執(zhí)行測(cè)試腳本時(shí)就會(huì)以不同的出發(fā)地點(diǎn)去預(yù)定機(jī)票了。

(1)首先,打開Checkpoint測(cè)試腳本,將腳本另存為“Parameter”,然后選擇要參數(shù)化的文字:在視圖樹中展開“Action1”|“Welcome:MercuryTours”|“FindaFlight:Mercury”,如圖16.34所示。圖16.34QTP腳本管理加入?yún)?shù)化

(2)在視圖樹中選擇“fromPort”右邊的“Value”字段,然后再點(diǎn)擊參數(shù)化圖標(biāo),開啟“ValueConfigurationOptions”對(duì)話窗口。

(3)設(shè)置要參數(shù)化的屬性,選擇“Parameter”選擇項(xiàng),這樣就可以用參數(shù)值來取代“NewYork”這個(gè)常數(shù)了。在參數(shù)中選擇“DataTable”選項(xiàng),這樣這個(gè)參數(shù)就可以從QTP的DataTable中取得,將參數(shù)的名

溫馨提示

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

評(píng)論

0/150

提交評(píng)論