基于新信息技術(shù)的軟件測試技術(shù) 課件 第9、10章 功能測試工具QTP、測試管理工具TestLink_第1頁
基于新信息技術(shù)的軟件測試技術(shù) 課件 第9、10章 功能測試工具QTP、測試管理工具TestLink_第2頁
基于新信息技術(shù)的軟件測試技術(shù) 課件 第9、10章 功能測試工具QTP、測試管理工具TestLink_第3頁
基于新信息技術(shù)的軟件測試技術(shù) 課件 第9、10章 功能測試工具QTP、測試管理工具TestLink_第4頁
基于新信息技術(shù)的軟件測試技術(shù) 課件 第9、10章 功能測試工具QTP、測試管理工具TestLink_第5頁
已閱讀5頁,還剩154頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章功能測試工具QTP9.1QTP簡介9.2QTP的安裝9.3QTP基本使用方法

9.1QTP簡介

QTP(QuickTestProfessional的簡稱)是一種自動測試工具。使用QTP的目的是想用它來執(zhí)行重復(fù)的手動測試,主要是用于回歸測試和測試同一軟件的新版本。因此在測試前要考慮好如何對應(yīng)用程序進(jìn)行測試,例如要測試哪些功能、哪些操作步驟、哪些輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等。

QTP軟件的特點(diǎn)如下:

(1)?QTP是一個側(cè)重于功能的回歸自動化測試工具,提供了很多插件,如?.NET的、Java的、SAP的、TerminalEmulator的等,分別用于各自類型的產(chǎn)品測試,默認(rèn)提供Web、ActiveX和VB的。

(2)??QTP支持的腳本語言是VBScript,這對于測試人員來說,感覺要“舒服”得多(如相比SilkTest采用C語言)。VBScript畢竟是一種松散的、非嚴(yán)格的、普及面很廣的語言。

(3)??QTP支持錄制和回放的功能。錄制產(chǎn)生的腳本,可以用來作為自己編寫腳本的模板。錄制時,還支持一種低級錄制功能,這個對于QTP不容易識別出來的對象有用,不過它是使用坐標(biāo)來標(biāo)識的,對于坐標(biāo)位置頻繁變動的對象,采用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式提供一個近似于原始測試用例的、與代碼無關(guān)的視圖,而Expert就是代碼視圖,一般在這個區(qū)域中編寫腳本。

(4)?ObjectSpy可以用來查看Run-timeObject和TestObject屬性與方法。

(5)?QTP通過三類屬性來識別對象,即Mandatory、Assistive和OrdinalIdentifiers。大部分情況下,通過對象的一些特定屬性值就可以識別對象(Mandatory屬性)。這些屬性可以通過“Tools”→“ObjectIdentification”定義。

(6)?ObjectRepository(OR)是QTP存儲對象的地方。測試腳本運(yùn)行后,QTP根據(jù)測試腳本代碼,從這個對象庫中查找相應(yīng)對象。每個Action可以對應(yīng)一個或者多個OR,也可以設(shè)置某個OR為Sharable的,這樣可以供其他Action使用。注意,使用QTP錄制功能時,默認(rèn)將被測對象放在LocalOR中,可以通過“Resources”→“ObjectRespository”選擇Local查看。

(7)??Action是QTP組織測試用例的具體形式,擁有自己的DataTable和ObjectRepository,支持Input和Output參數(shù)。Action可以設(shè)置為Share類型的,這樣可以被其他test中的Action調(diào)用(注意:QTP是不支持在一個test中調(diào)用另外一個test的,只有通過SharableAction來調(diào)用)。

(8)一個test中,多個Action的流程組織只有通過Keyword視圖查看和刪除,在Expert視圖中沒有辦法看到。

(9)調(diào)用Action可以通過菜單“Insert”→“Callto***”來實(shí)現(xiàn)。QTP提供三種類型的調(diào)用方式:①CalltoNewAction,在當(dāng)前test中創(chuàng)建一個新的Action;②CalltoCopyofAction;③CalltoExistingAction,調(diào)用一個ReusableAction,如果這個ReusableAction來自另外一個test,將以只讀的方式插入到當(dāng)前test中。

(10)?QTP提供Excel形式的數(shù)據(jù)表格DataTable,可以用來存放測試數(shù)據(jù)或參數(shù)。DataTable有兩種類型:Global和Local。QTP為DataTable提供了許多方法供存取數(shù)據(jù),在對測試代碼進(jìn)行參數(shù)化時,這些方法非常有用。

(11)在一個test中,環(huán)境變量(EnvironmentVariables)可以被當(dāng)前test中所有Action共享。環(huán)境變量也有兩種類型:BuildIn和UserDefined。用戶自定義的環(huán)境變量可以指向一個XML文件,這樣可以實(shí)現(xiàn)在眾多test之間共享變量。

(12)?QTP可以引用外部的VBS代碼庫,通過“Settings”→“Resource”加入,也可以用ExecuteFile命令在代碼中直接執(zhí)行。這種VBS庫可以為所有Action和test共享。

(13)?QTP默認(rèn)為每個test提供一個測試結(jié)果,包括Passed、Failed、Done、Warning和Information幾種狀態(tài)類型,可以對結(jié)果進(jìn)行Filter篩選。

9.2QTP的安裝

9.2.1安裝要求安裝QTP9.2需要首先滿足一定的硬件要求:?CPU:奔騰3以上處理器,推薦使用奔騰4以上的處理器。內(nèi)存:最少512MB,推薦使用1GB的內(nèi)存。顯卡:4MB以上內(nèi)存的顯卡,推薦使用8MB以上的顯卡。

9.2.2QTP支持的環(huán)境和程序

QTP9.2支持以下測試環(huán)境:

操作系統(tǒng):支持Windows2000、WindowsXP、WindowsServer2003、WindowsVista、WindowsServer2008。

支持在虛擬機(jī)VMWare5.5、CitrixMetaFramePresentationServer4.0中運(yùn)行。

瀏覽器:支持IE6.0SP1,IE7.0、IE8.0Beta2,MozillaFireFox1.5、2.0、3.0,Netscape8.x。

QTP9.2默認(rèn)支持對以下類型的應(yīng)用程序進(jìn)行自動化測試:

標(biāo)準(zhǔn)Windows應(yīng)用程序,包括基于Win32API和MFC的應(yīng)用程序。

Web頁面。

ActiveX控件。

VisualBasic應(yīng)用程序。

QTP9.2在加載額外插件的情況下,支持對以下類型的應(yīng)用程序進(jìn)行自動化測試:

Java應(yīng)用程序。

Oracle應(yīng)用程序。

SAP應(yīng)用程序。

.NET應(yīng)用程序,包括.NETWindowsForm、.NETWebForm、WPF。

Siebel應(yīng)用程序。

PeopleSoft應(yīng)用程序。

Web服務(wù)(WebServices)。

終端仿真程序(TerminalEmulators)。

9.2.3安裝步驟

下面以在WindowsXP環(huán)境下安裝為例介紹如何安裝QTP9.2。

(1)在獲取到QTP9.2的安裝包后,就可以運(yùn)行安裝包進(jìn)行安裝。雙擊安裝包后開始安裝,如圖9.1所示。

圖9.1開始安裝界面

(2)在“開始安裝界面”完成后,進(jìn)入“許可協(xié)議”界面,如圖9.2所示。圖9.2選擇許可協(xié)議

(3)在選擇許可協(xié)議界面選擇同意安裝許可協(xié)議,點(diǎn)擊“是”按鈕進(jìn)入選擇許可證類型界面,如圖9.3所示。圖9.3選擇許可證類型

(4)在圖9.3中選擇“單機(jī)版”,點(diǎn)擊“下一步”按鈕,進(jìn)入注冊信息界面,如圖9.4所示。圖9.4輸入注冊信息

(5)在注冊信息界面輸入信息后,點(diǎn)擊“下一步”按鈕,進(jìn)入“啟用QuickTestProfessional遠(yuǎn)程執(zhí)行”界面,如圖9.5所示。圖9.5啟動QuickTestProfessional遠(yuǎn)程執(zhí)行

(6)在“啟動QuickTestProfessional遠(yuǎn)程執(zhí)行”界面選擇“自動設(shè)置這些選項(xiàng)(建議QualityCenter用戶)”,點(diǎn)擊“下一步”按鈕,進(jìn)入“設(shè)置InternetExplorer高級選級”界面,如圖9.6所示。圖9.6高級選項(xiàng)

(7)在“設(shè)置InternetExplorer高級選項(xiàng)”界面,選擇“我將手動設(shè)置所需選項(xiàng)”,點(diǎn)擊“下一步”按鈕,進(jìn)入“安裝類型”界面,如圖9.7所示。圖9.7選擇安裝類型

(8)在“安裝類型”界面,選擇“完全”,點(diǎn)擊“下一步”按鈕,進(jìn)入“選擇目標(biāo)位置”界面,如圖9.8所示。圖9.8選擇目標(biāo)位置

(9)在“選擇目標(biāo)位置”界面,選擇QTP的安裝目標(biāo)位置,點(diǎn)擊“開始”按鈕,進(jìn)入安裝狀態(tài),直到安裝狀態(tài)完成后,進(jìn)入“客戶注冊”界面,如圖9.9所示。圖9.9注冊界面

(10)在“注冊界面”點(diǎn)擊“下一步”按鈕,進(jìn)入安裝完成界面,如圖9.10所示。圖9.10安裝完成界面

9.2.4QTP程序界面

在學(xué)習(xí)創(chuàng)建測試之前,先了解一下QuickTest的主界面。圖9.11是錄制了一個操作后QuickTest的界面。圖9.11QTP9.2界面

在QTP界面包含標(biāo)題欄、菜單欄、文件工具欄等幾個界面元素,下面簡單解釋各界面元素的功能。

(1)標(biāo)題欄:顯示了當(dāng)前打開的測試腳本的名稱。

(2)菜單欄:包含了QuickTest的所有菜單命令項(xiàng)。

(3)文件工具欄:包含了以下幾個按鈕,如圖9.12所示。圖9.12文件工具欄

(4)測試工具欄:包含了在創(chuàng)建、管理測試腳本時要使用的按鈕,如圖9.13所示。圖9.13測試工具欄

(5)調(diào)試工具欄:包含了在調(diào)試測試腳本時要使用的工具條,如圖9.14所示。圖9.14調(diào)試工具欄

(6)測試腳本管理窗口:提供了兩個可切換的窗口,分別通過圖形化方式和VBScript腳本方式來管理測試腳本。

(7)?DataTable窗口:協(xié)助對測試進(jìn)行參數(shù)化。

(8)狀態(tài)欄:顯示測試過程中的狀態(tài)。

9.2.5測試樣例

QTP安裝后自帶兩個測試應(yīng)用程序,一個是Web程序——WebTours,一個是WinForm程序——Flight,都為訂票系統(tǒng)。

1.MercuryTours示范網(wǎng)站

MercuryTours示范網(wǎng)站是一個提供機(jī)票預(yù)訂服務(wù)的網(wǎng)站,在此我們使用MI公司提供的MercuryTours示范網(wǎng)站作為演示QuickTest各個功能的例子程序。

(1)在開始使用MercuryTours示范網(wǎng)站(/)之前,首先要在MercuryTours網(wǎng)站上注冊一個使用者賬號。

(2)?MercuryTours示范網(wǎng)站的使用。要登錄并使用MercuryTours示范網(wǎng)站必須使用注冊賬號,如圖9.15所示。

(3)結(jié)束訂票動作。完成訂票動作后,在“FlightConfirmation”網(wǎng)頁上點(diǎn)選“LOGOUT”按鈕或選擇“SIGN-OFF”按鈕。

(4)關(guān)閉瀏覽器。圖9.15MercuryToursWebSite的界面

2.Flight訂票

Flight是一個提供機(jī)票預(yù)訂服務(wù)的網(wǎng)站W(wǎng)inForm程序。

Flight訂票程序登錄功能的用戶名長度至少4個字符,密碼為mercury或者M(jìn)ERCURY。輸入正確的用戶名、密碼后進(jìn)入訂票界面,如圖9.16所示。

圖9.16登錄界面

9.3QTP基本使用方法

使用QTP進(jìn)行自動化測試的基本過程與使用其他自動化測試工具進(jìn)行自動化功能測試的過程基本是一致的,一般包括以下5個步驟:(1)錄制測試腳本:利用QTP先進(jìn)的對象識別、鼠標(biāo)和鍵盤監(jiān)控機(jī)制來錄制測試腳本,測試人員只需要模擬用戶的操作,像執(zhí)行手工測試的測試步驟一樣操作被測試應(yīng)用程序的界面即可。

(2)編輯測試腳本:主要包括調(diào)整測試步驟、編輯測試邏輯、插入檢查點(diǎn)(CheckPoint)、添加測試輸出信息、添加注釋等。

(3)調(diào)試測試腳本:利用“CheckSyntax”功能檢查測試腳本的語法錯誤,利用QTP腳本編輯界面的調(diào)試功能檢查測試腳本邏輯的正確性。

(4)運(yùn)行測試腳本:可運(yùn)行單個“Action”,也可批量運(yùn)行測試腳本。

(5)分析測試結(jié)果:使用QTP的測試結(jié)果查看工具查看測試結(jié)果,檢查測試運(yùn)行過程的正確性。

9.3.1錄制測試腳本

1.插件加載設(shè)置管理

啟動QTP,將顯示圖9.17所示的插件管理界面。圖9.17插件管理界面

2.錄制和測試運(yùn)行設(shè)置

選擇了要加載的插件后,點(diǎn)擊“OK”按鈕,進(jìn)入QTP的選擇界面,如圖9.18所示。圖9.18進(jìn)入選擇界面

其中,“Tutorial”鏈接將打開QTP的幫助文檔。

“StartRecording”鏈接進(jìn)入測試錄制功能。

“OpenExisting”鏈接打開現(xiàn)有的測試項(xiàng)目文件。

“BlankTest”鏈接則創(chuàng)建一個空的測試項(xiàng)目。

在選擇界面選擇一項(xiàng)后進(jìn)入主界面,主界面如圖9.19所示。

圖9.19主界面

在主界面中選擇菜單項(xiàng)“Automation”→“RecordandRunSettings”,出現(xiàn)錄制和運(yùn)行設(shè)置界面,指定需要錄制的應(yīng)用程序,錄制運(yùn)行設(shè)置界面如圖9.20所示。圖9.20錄制和運(yùn)行設(shè)置界面

在選擇WindowsApplications的錄制和運(yùn)行界面中,可以選擇兩種錄制方式:一種是“RecordandruntestonanyopenWindows-basedapplication”,這種方式可以錄制任何在系統(tǒng)中出現(xiàn)的程序;另外一種是“Recordandrunonlyon”,這種方式可錄制有針對性的應(yīng)用程序,避免錄制一些無關(guān)緊要的多余的界面。第二種方式有3種設(shè)置方法:

(1)選擇“ApplicationsopenedbyQuickTest”選項(xiàng),則僅錄制和運(yùn)行由QTP調(diào)用的程序。

(2)選擇“ApplicationsopenedviatheDesktop(bytheWindowsshell)”選項(xiàng),則僅錄制開始菜單,通過桌面快捷方式啟動的程序。

(3)選擇“Applicationsspecifiedbelow”選項(xiàng),則可錄制和運(yùn)行添加到列表中的應(yīng)用程序。

點(diǎn)擊圖9.20中的“+”,可錄制“Flight”樣例程序,這里選擇樣例程序路徑“F:\app\samples\flight\app\flight4a.exe”,如圖9.21所示。圖9.21錄制和運(yùn)行設(shè)置界面

3.錄制第一個自動化測試腳本

如圖9.22所示,在輸入用戶名和密碼“MERCURY”后,點(diǎn)擊“OK”按鈕,進(jìn)入錄制“Flight”程序的登錄過程。圖9.22“Flight”程序登錄界面

點(diǎn)擊“Stop”按鈕或按F4鍵停止錄制,將得到如圖9.23所示的關(guān)鍵字視圖。圖9.23關(guān)鍵字視圖

關(guān)鍵字視圖中共分為以下4列:

(1)?Item:記錄了所有對象。

(2)?Operation:該對象的操作。

(3)?Value:對象操作所用到的值。

(4)?Documentation:QTP自動生成的簡述語句,簡述了是什么對象、做了什么、怎么做。

切換到專家視圖界面,則可以看到如圖9.24所示的測試腳本。

圖9.24專家視圖

9.3.2編輯測試腳本

1.識別對象

QTP里的對象有兩個概念,一個是TestObject(簡稱TO),一個是RuntimeObject(簡稱RO)。TO就是倉庫文件里定義的倉庫對象,RO是被測試軟件的實(shí)際對象。

TO、RO常用的幾個函數(shù)如下:

(1)?GetTOProperty("Property"):取得倉庫對象的某個屬性的值。

(2)?GetTOProperties():取得倉庫對象的所有屬性的值。

(3)?SetTOProperty("Property","Value":設(shè)置倉庫對象的某個屬性的值。

(4)?GetROProperty("Property"):取得實(shí)際對象的某個屬性的值。

編輯測試腳本第一步是識別對象,因?yàn)榛贕UI的自動化測試主要是圍繞著界面的控件元素來進(jìn)行的。QTP針對不同語言開發(fā)的控件,采取不同的對象識別技術(shù),根據(jù)加載的插件來選擇相應(yīng)的控件對象識別的依據(jù)。在QTP中,選擇菜單項(xiàng)“Tools”→“ObjectIdentification”,出現(xiàn)如圖9.25所示的界面。

在圖9.25所示的界面中可看到各種標(biāo)準(zhǔn)Windows控件對應(yīng)的對象識別方法,例如,對于Dialog控件,使用的是“ischildwindow”“isownedwindow”“nativeclass”和“text”這四個控件對象的屬性來區(qū)別出一個唯一的Dilalog控件對象。

圖9.25對象識別定義界面

有三種類型的屬性可以被QTP用來識別對象:

(1)強(qiáng)制屬性(MandatoryProperties)。

(2)輔助屬性(AssistiveProperties)。

(3)順序標(biāo)識符(OrdinalIdentifier)。

QTP可以使用以下類型的OrdinalIdentifiers來識別對象:

(1)?Index:表示對象在程序代碼中的出現(xiàn)順序,這個順序是相對于其他具有相同屬性的對象而言的。

(2)?Location:表示對象在窗口、Frame或?qū)υ捒蛑谐霈F(xiàn)的順序,這個順序是相對于其他具有相同屬性的對象而言的,如圖9.26所示。圖9.26界面元素的“Location”

(3)?CreationTime(僅適用于Browser對象):表示Browser對象打開的順序,這個順序是相對于其他已打開的具有相同屬性的對象而言的。

一般情況下,OrdinalIdentifier類型適用于所有類。在ObjectIdentification窗口,通過OrdinalIdentifier下拉框,可以選擇其他類型。

注:QTP在錄制腳本時,如果通過主屬性與輔助屬性已能夠唯一識別對象,則不會獲取對象的OrdinalIdentifier??梢栽谀_本錄制完成后,在ObjectProperties或ObjectRepository對話框中使用Add/Remove操作,手動添加順序值。

2.ObjectSpy的使用

QTP提供的“ObjectSpy”工具可用于觀察運(yùn)行時測試對象的屬性和方法。選擇菜單項(xiàng)“Tools”→“ObjectSpy”,則出現(xiàn)如圖9.27所示的界面。圖9.27“ObjectSpy”界面

技巧:ObjectSpy對于觀察測試對象的屬性、了解測試程序的控件屬性和行為都非常有用,尤其是對于那些界面控件元素比較多、層次關(guān)系比較復(fù)雜的應(yīng)用程序。

可在測試程序的界面上不斷改變測試對象,然后多次使用ObjectSpy來觀察其屬性的變化,通過這種方式來了解控件的行為,以及判斷哪些控件屬性可放到測試腳本中,用于判斷測試結(jié)果。

3.對象庫管理

另外一種觀察和了解測試程序的界面控件元素,以及它們的層次關(guān)系的方法是通過對象庫(ObjectRepository)來實(shí)現(xiàn)。在QTP中,選擇菜單項(xiàng)“Resources”→“ObjectRepository”,出現(xiàn)“ObjectRepository-AllObjectRepositories”界面,如圖9.28所示。圖9.28對象庫

在對象庫管理界面中,選擇菜單項(xiàng)“Object”→“AddObjecttoLocal”,然后選擇測試程序界面中的某個控件,則出現(xiàn)“ObjectSelection–AddtoRepository”界面。例如,單擊Flight程序“Login”界面中的“Cancle”按鈕,出現(xiàn)如圖9.29所示的界面。

圖9.29對象選擇

單擊“OK”按鈕,把測試對象添加到對象庫中,如圖9.30所示。圖9.30添加測試對象到對象庫

技巧:界面中的某些控件對象是有層次關(guān)系的。例如,按鈕、輸入框等控件包含在窗口控件中,在添加測試對象到對象庫時,可以選擇窗口對象,然后在“DefineObjectFilter”界面中選擇“AllObjectTypes”,單擊“OK”按鈕,則會把選擇的窗口對象中的所有控件對象添加到對象庫中。

4.導(dǎo)出對象庫文件

測試對象作為資源,可導(dǎo)出到文件中,以方便其他測試腳本的使用,方法是在對象庫管理界面中,選擇菜單項(xiàng)“File”→“ExportLocalObject”,存儲到某個文件夾中即可。

5.設(shè)置共享對象庫

很多時候管理QTP的腳本比較麻煩,因?yàn)槌艘獙Υa進(jìn)行管理之外,還要保證QTP對象庫的完整。每一個用例腳本的生成,同時又都會生成一個對象庫。此時可以做一個公共的對象庫來給各個用例腳本調(diào)用,實(shí)現(xiàn)共享對象庫的應(yīng)用。

(1)把需要加到共享對象庫中的各個用例腳本的對象庫分別導(dǎo)出為?.tsr文件。

(2)把需要加入到共享對象庫中的各個用例腳本的對象庫合并對象及對象屬性,形成一個大的共享對象庫。

(3)調(diào)用上面保存好的共享對象庫。

6.添加新的Action

在QTP中,“Action”相當(dāng)于測試腳本的文件,可使用Action來劃分和組織測試流程,例如,把一些公用的操作放到同一個Action中,以便重用。

如果想在當(dāng)前Action的某個測試步驟之后添加新的Action,則可選擇菜單項(xiàng)“Insert”→“CalltoNewAction”,出現(xiàn)“InsertCalltoNewAction”界面,如圖9.31所示。

圖9.31插入新的Action

7.編輯新的Action

為新的Action建立了對象庫后,就可以在測試腳本中訪問和使用這些測試對象。例如,可在專家視圖的腳本編輯器中輸入以下代碼:

Dialog("Login").WinButton("Help").Click'打開幫助界面

Dialog("Login").Dialog("FlightReservations").Activate

Dialog("Login").Dialog("FlightReservations").WinButton

("確定").Click'單擊確定按鈕關(guān)閉幫助界面

8.在關(guān)鍵字視圖中編輯測試腳本

1)在關(guān)鍵字視圖中為測試步驟添加注釋

在關(guān)鍵字視圖的列頭單擊鼠標(biāo)右鍵,選擇Comment,則會多出一列,名為Comment,在這一列中可以為每個測試步驟添加注釋,如圖9.32所示。

圖9.32添加注釋

2)在關(guān)鍵字視圖中添加測試信息的輸出

如果想在某個測試步驟完成后,輸入相應(yīng)的測試信息到測試報(bào)告中,則可在該測試步驟上單擊右鍵,選擇“InsertStep”→“Report”,出現(xiàn)如圖9.33所示的界面。圖9.33插入報(bào)告

在圖9.33所示界面的“Status”下拉框中,選擇寫入測試報(bào)告的狀態(tài)(可以是Done、Passed、Failed、Warning這4種狀態(tài)中的一種),在“Name”中輸入信息摘要,在“Details”中輸入詳細(xì)信息。單擊“OK”按鈕后,如圖9.34所示。圖9.34添加報(bào)告

圖9.34中Reporter是用來向測試結(jié)果中添加報(bào)告信息的對象,該對象有一個ReportEvent方法。其語法為

Reporter.ReportEventEventStatus,ReportStepName,Details

說明:

(1)??EventStatus:事件身份,有micPass、micFail、micDone、micWarning4種,這4種身份可依次用0、1、2、3表示。例如,可以用“Reporter.ReportEventmicDone”,“Login”,“開始登錄操作”表示,也可以用“Reporter.ReportEvent2”“Login”“開始登錄操作”表示。

??micPass:只要事件身份在測試步驟中通過,就向測試結(jié)果中發(fā)送報(bào)告。

??micFail:只要事件身份在測試步驟中失敗,就向測試結(jié)果中發(fā)送報(bào)告,當(dāng)該語句執(zhí)行后,測試失敗。

?micDone:無論事件身份在測試步驟中失敗還是通過,都向測試結(jié)果中發(fā)送報(bào)告。

??micWarning:向測試結(jié)果中發(fā)送警告信息,但不影響整個測試的運(yùn)行,也不影響事件身份通過和失敗。

(2)??ReportStepName:已經(jīng)在測試步驟中存在的對象的名稱。

(3)??Details:報(bào)告事件的簡述,該信息將顯示在詳細(xì)步驟中,組成測試報(bào)告。

3)插入檢查點(diǎn)

可檢查類型包括圖9.35中所有Checkpoint的子菜單項(xiàng),包括文字、位圖、XML、數(shù)據(jù)庫(數(shù)據(jù)表)等檢查點(diǎn)。每個檢查點(diǎn)的執(zhí)行結(jié)果都會在Automation-Result中存在相應(yīng)的記錄,有些檢查點(diǎn)需要在錄制狀態(tài)下才能夠使用。也可通過在測試步驟上單擊鼠標(biāo)右鍵選擇菜單“InsertStandardCheckpoint”。圖9.35插入檢查點(diǎn)

例如,檢查“OK”按鈕的屬性,插入一個標(biāo)準(zhǔn)檢查點(diǎn)。首先,定位到OK提交的步驟,單擊右鍵,選擇菜單項(xiàng)“InsertStandardCheckpoint”,出現(xiàn)如圖9.36所示的界面。在該界面中選擇需要檢查的屬性,例如,選擇“enabled”屬性,設(shè)置為True,選擇“text”屬性,設(shè)置為OK。

圖9.36檢查點(diǎn)屬性

單擊“OK”按鈕后,則可以在關(guān)鍵字視圖中看到新添加的檢查點(diǎn)步驟,如圖9.37所示。圖9.37成功添加的檢查點(diǎn)步驟

4)在關(guān)鍵字視圖中插入新的測試步驟

首先定位到輸入用戶名的步驟,然后單擊鼠標(biāo)右鍵,選擇“InsertStep”→“StepGenerator”,則出現(xiàn)如圖9.38所示的界面。其中“Category”下拉框中包括“TestObjects”“UtilityObjects”和“Function”,含義如下:

(1)?TestObjects:測試對象,即被測程序的界面上的控件元素。

(2)?UtilityObjects:工具對象,是QTP內(nèi)建的各種編寫測試腳本,輔助建立測試邏輯的工具類對象。

(3)?Functions:各種函數(shù),包括庫函數(shù)、內(nèi)建函數(shù)和本地腳本函數(shù)。

這里選擇“TestObjects”,然后單擊“Object”下拉框旁邊的圖標(biāo)按鈕。

圖9.38測試步驟產(chǎn)生器

出現(xiàn)選擇測試對象界面,如圖9.39所示,在該界面中選擇“Help”對象,然后單擊“OK”按鈕返回到“StepGenerator”界面,在“Operation”的下拉框中選擇“Click”,并把“Insertanotherstep”選項(xiàng)勾選上。(如果在“SelectObjectforStep”界面的對象列表中沒有“Help”對象,可以單擊界面中的手形按鈕,然后移動到Flight程序的“Login”界面,從中選擇對象“Help”按鈕,單擊“OK”按鈕,把“Help”按鈕添加到測試對象列表中。)圖9.39為測試步驟選擇測試對象

單擊“Insert”按鈕,返回關(guān)鍵字視圖,可看到新的測試步驟已經(jīng)添加,如圖9.40所示。圖9.40新的測試步驟已添加

5)在專家視圖中編輯測試腳本

“ExpertView”是一個強(qiáng)大的VBScript腳本編輯器。在這里,可以直接編寫測試腳本的代碼,適合熟悉VBScript語言、有較好編程技巧的自動化測試工程師使用。

QTP提供的腳本編輯器支持“語法感知”功能,例如,在代碼中輸入Dialog(“Login”)后加點(diǎn),則自動顯示一個下拉列表,從中可選取“Login”測試對象所包含的所有屬性和方法,如圖9.41所示。圖9.41腳本編輯器

9.3.3調(diào)試測試腳本

1.語法檢查

選擇菜單項(xiàng)“Tools”→“CheckSyntax”,或通過工具欄選擇按鈕,或按快捷鍵“Ctrl+F7”對測試腳本進(jìn)行語法檢查。如果語法檢查通過,則在Information界面顯示提示信息,如圖9.42所示。

圖9.42語法檢查通過

如果語法檢查發(fā)現(xiàn)問題,則會在“Information”界面列出詳細(xì)的信息,如圖9.43所示。圖9.43語法檢查詳細(xì)信息

2.使用斷點(diǎn)

語法檢查通過后,可以直接運(yùn)行代碼,也可以設(shè)置斷點(diǎn)對腳本進(jìn)行調(diào)試??梢酝ㄟ^按快捷鍵“F9”,或單擊代碼所在行的邊框,或單擊工具欄的按鈕設(shè)置斷點(diǎn),如圖9.44所示。圖9.44設(shè)置斷點(diǎn)

然后,按“F5”鍵運(yùn)行測試腳本,運(yùn)行過程將在斷點(diǎn)處停住,如圖9.45所示。此時,可以進(jìn)行單步調(diào)試,可以選擇菜單項(xiàng)“Debug”→“StepOver”,或按快捷鍵“F10”運(yùn)行到下一行代碼,也可以選擇菜單項(xiàng)“Debug”→“StepInto”,或按快捷鍵“F11”進(jìn)入代碼行中所調(diào)用的函數(shù)。圖9.45單步調(diào)試

3.調(diào)試查看器的使用

在調(diào)試過程中,可選擇菜單“View”→“DebugViewer”顯示調(diào)試查看器,如圖9.46所示,就可以看到測試對象屬性或變量的值。圖9.46調(diào)試查看器

4.運(yùn)行測試腳本

1)運(yùn)行整個測試

在進(jìn)行語法檢查和調(diào)試都無誤后,可以按“F5”鍵運(yùn)行整個測試腳本。在運(yùn)行測試之前,可以對運(yùn)行做必要的設(shè)置,選擇菜單項(xiàng)“Tools”→“Options”,出現(xiàn)圖9.47所示的界面。

“Runmode”:可選Normal或Fast運(yùn)行模式。

“Viewresultswhenrunsessionends”:在運(yùn)行結(jié)束后自動打開測試結(jié)果界面。

“AllowotherMercuryproductstoruntestsandcomponents”:允許其他Mercury的工具調(diào)用QTP。

“Savestillimagecapturestoresults”:保存靜止圖像到結(jié)果中。圖9.47運(yùn)行方式設(shè)置

2)運(yùn)行部分測試

如果有多個Action,則可以定位到需要運(yùn)行的Action,然后選擇菜單項(xiàng)“Automtion”→“RunCurrentAction”來運(yùn)行當(dāng)前的Action。還有另一種只運(yùn)行部分測試的方式,方法是選擇某個測試步驟,單擊右鍵,選擇菜單項(xiàng)“RunFromStep”,可以從當(dāng)前測試開始運(yùn)行測試,也可以選擇“RunToStep”,從開始運(yùn)行到當(dāng)前所選的測試步驟。

3)批量運(yùn)行測試

可以使用QTP自帶的工具“TestBatchRunner”來批量運(yùn)行測試腳本,需在“Tools”→“Options”中確?!癆llowotherMercuryproductstoruntestsandcomponents”選項(xiàng)被勾選。通過開始菜單打開“TestBatchRunner”工具,如圖9.48所示,選擇“Batch”→“Add”來添加要運(yùn)行的測試腳本,選擇“Batch”→“Run”來批量運(yùn)行列表中所有的測試腳本。圖9.48TestBatchRunner主界面

9.3.4分析測試結(jié)果

1.選擇測試結(jié)果的存放位置

在QTP中運(yùn)行測試腳本,會出現(xiàn)如圖9.49所示的對話框。圖9.49運(yùn)行設(shè)置對話框

2.查看概要測試結(jié)果

測試腳本運(yùn)行結(jié)束后,可在圖9.50所示界面中查看概要的測試結(jié)果信息,包括測試的名稱、測試開始和結(jié)束時間、運(yùn)行的迭代次數(shù)、通過的狀態(tài)等。圖9.50查看概要測試結(jié)果

3.查看檢查點(diǎn)的結(jié)果

在測試結(jié)果的左邊窗口中,用樹形結(jié)構(gòu)展示了所有測試步驟,如果選擇節(jié)點(diǎn)Checkpoint“OK”,則出現(xiàn)如圖9.51所示的界面。圖9.51查看檢查點(diǎn)結(jié)果第10章測試管理工具TestLink10.1TestLink簡介10.2安裝TestLink10.3初始設(shè)置10.4測試需求管理10.5創(chuàng)建測試計(jì)劃10.6測試用例管理10.7測試計(jì)劃用例管理10.8執(zhí)行測試和報(bào)告缺陷

10.1TestLink簡介

作為基于Web的測試管理系統(tǒng),TestLink的主要功能包括:(1)測試需求管理;(2)測試用例管理;(3)測試用例對測試需求的覆蓋管理;(4)測試計(jì)劃的制訂;(5)測試用例的執(zhí)行;(6)大量測試數(shù)據(jù)的度量和統(tǒng)計(jì)功能。

實(shí)現(xiàn)功能包括:

(1)根據(jù)不同的項(xiàng)目管理不同的測試計(jì)劃、測試用例、測試構(gòu)建相互之間獨(dú)立。

(2)根據(jù)樹狀的項(xiàng)目、組件、分類等設(shè)計(jì)測試用例。

(3)可以基于關(guān)鍵字搜索測試用例。

(4)可以將現(xiàn)有測試用例簡單修改后復(fù)用。

(5)同一項(xiàng)目可以制訂不同的測試計(jì)劃,然后將相同的測試用例分配給該測試計(jì)劃(可以實(shí)現(xiàn)測試用例的復(fù)用、篩選)。

(6)可以設(shè)定執(zhí)行測試的狀態(tài)(通過,失敗,鎖定,尚未執(zhí)行),失敗的測試用例可以和bugzilla中的Bug關(guān)聯(lián),每個測試用例執(zhí)行的時候,可以填寫相關(guān)說明。

(7)測試結(jié)果分析(可以實(shí)現(xiàn)按照需求、按照測試計(jì)劃、按照測試用例狀態(tài)、按照版本,統(tǒng)計(jì)測試結(jié)果)。

(8)自定義角色,通過角色控制用戶權(quán)限。

(9)測試結(jié)果可以導(dǎo)出為Excel表格。

(10)測試用例可以導(dǎo)出為csv、html格式。

(11)通過超鏈接,可以將文本格式的需求、計(jì)劃關(guān)聯(lián)。

(12)可以將測試用例和測試需求對應(yīng)。測試可以根據(jù)優(yōu)先級指派給測試員,定義里程碑。

TestLink的缺陷:

(1)不能根據(jù)優(yōu)先級篩選用例,如果需要優(yōu)先級,必須通過關(guān)鍵字來實(shí)現(xiàn),比較麻煩。

(2)不能設(shè)定測試用例的種類,如果需要必須通過關(guān)鍵字來實(shí)現(xiàn),更麻煩,也不太現(xiàn)實(shí)。

(3)如果測試用例需要大量的數(shù)據(jù),創(chuàng)建測試用例時不方便。

TestLink的優(yōu)點(diǎn):

(1)開源。

(2)免費(fèi)。

(3)基于Web界面。

(4)簡單易學(xué)。

10.2安裝TestLink

這里我們假設(shè)已經(jīng)配置好Web服務(wù)器,只介紹TestLink的安裝。(1)將TestLink1.9.11.tar.gz解壓縮到XAMPP的安裝目錄的htdocs文件夾下,重新命名為testlink。

(2)?Windows下需要修改testlink的配置文件,具體如下:

①找到config.inc.php文件。

②注釋掉?$tlCfg->log_path='/var/testlink/logs/'。

③添加?$tlCfg->log_path='[testlinkDir]/logs/'。

④注釋掉?$g_repositoryPath='/var/testlink/upload_area/'。

⑤添加?$g_repositoryPath='[testlinkDir]/upload_area/'。

(3)訪問http://localhost/testlink/install/index.php,點(diǎn)擊Newinstallation,如圖10.1所示。圖10.1安裝界面

(4)顯示協(xié)議許可界面,選中“Iagreetothetermssetoutinthislicense”,點(diǎn)擊“Continue”按鈕,如圖10.2所示。圖10.2協(xié)議許可界面

(5)檢查系統(tǒng)條件界面如圖10.3所示。圖10.3檢查系統(tǒng)條件界面

(6)如成功,點(diǎn)擊“Continue”按鈕,按圖10.4輸入。圖10.4設(shè)置密碼界面

(7)成功界面如圖10.5所示。圖10.5成功界面

(8)登錄http://localhost/testlink,默認(rèn)用戶名為admin,密碼為admin,其登錄成功界面如圖10.6所示。圖10.6登錄成功界面

(9)進(jìn)入MySettings界面,修改語言為中文,如圖10.7所示。圖10.7MySettings界面

(10)填入email地址,點(diǎn)擊“Save”按鈕。

(11)最后顯示中文界面,如圖10.8所示。圖10.8賬號設(shè)置界面

10.3初始設(shè)置

10.3.1創(chuàng)建項(xiàng)目(產(chǎn)品)TestLink可以管理多個項(xiàng)目,但只有Admin用戶可以管理項(xiàng)目(進(jìn)行新建和修改等操作),在Admin進(jìn)行項(xiàng)目設(shè)置后,其他測試人員才可以進(jìn)行測試需求、測試用例、測試計(jì)劃等相關(guān)管理工作。初始狀態(tài)的TestLink沒有項(xiàng)目,只有一個用戶Admin,在創(chuàng)建了項(xiàng)目之后,我們才可以添加新用戶。

圖10.9是TestLink創(chuàng)建新的測試項(xiàng)目的界面,主要項(xiàng)目有名稱、前綴、項(xiàng)目描述和可用性等,其中名稱和前綴是必填項(xiàng)。圖10.9創(chuàng)建項(xiàng)目界面

創(chuàng)建成功后,可以在“測試項(xiàng)目管理”中看到它,如圖10.10所示。圖10.10測試項(xiàng)目管理

10.3.2設(shè)置用戶

TestLink系統(tǒng)提供了六種角色(Role),它們相對應(yīng)的功能權(quán)限如下:

?Admin:所有權(quán)限,主要用來進(jìn)行用戶管理和全局設(shè)置。

?Tester:可以瀏覽測試規(guī)范、關(guān)鍵字、測試結(jié)果以及編輯測試執(zhí)行結(jié)果。

?TestDesigner:編輯測試規(guī)范、關(guān)鍵字和需求規(guī)約。

?SeniorTester:允許編輯測試規(guī)范、關(guān)鍵字、需求以及測試執(zhí)行和創(chuàng)建發(fā)布。

Leader:允許編輯測試規(guī)范、關(guān)鍵字、需求、測試執(zhí)行、測試計(jì)劃(包括優(yōu)先級、里程碑和分配計(jì)劃)以及發(fā)布。

?Guest:可以瀏覽測試規(guī)范、關(guān)鍵字、測試結(jié)果以及編輯個人信息。

創(chuàng)建一個新用戶的步驟如下:

(1)點(diǎn)擊導(dǎo)航欄的“用戶管理”項(xiàng)。

(2)進(jìn)入“用戶管理”的“查看用戶”,點(diǎn)擊“創(chuàng)建”按鈕,如圖10.11所示。圖10.11賬號設(shè)置界面

(3)按圖10.12所示填入用戶信息,密碼設(shè)為888888。圖10.12新增用戶界面

(4)退出登錄,用tester1/888888來登錄,如圖10.13所示。圖10.13登錄界面

(5)登錄成功后,可以管理tester1的賬戶,如圖10.14所示。圖10.14管理tester1的賬戶界面

10.4測試需求管理

需求規(guī)格說明書是我們進(jìn)行測試的主要依據(jù)。在TestLink里,需要在項(xiàng)目的“增強(qiáng)功能”中選中“啟用產(chǎn)品需求功能”。一個產(chǎn)品可以包括一個或多個測試需求,新建測試需求文檔是比較簡單的,如圖10.15所示。圖10.15創(chuàng)建產(chǎn)品需求界面

10.5創(chuàng)建測試計(jì)劃

10

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論