QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試_第1頁
QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試_第2頁
QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試_第3頁
QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試_第4頁
QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、QTP與QC的完美結合實現(xiàn)自動化測試框架-業(yè)務組件測試做功能自動化測試都會不約而同的遇到一個比較棘手的問題-測試框架的搭建。這也是直接影響功能自動化測試成功與否的關鍵??蚣茏龅暮每梢允箿y試事半功倍,反之輕則很難看到工作的成果重則會使整個測試失敗。目前網(wǎng)上有很多關于測試框架的討論,其中也有成型的測試框架,其中有很多好的思想在里邊,很值得借鑒。但今天要討論的不是 網(wǎng)上已有的,而是HP已經(jīng)為我們設計好的一個測試體系,業(yè)務組件測試。他是利用QTP與QC的完美結合組成的一個體系架構。它可以輕易實現(xiàn)目前比較流行的三層測試架構:腳本層,業(yè)務層,數(shù)據(jù)層相分離,為開展功能自動化測試提供一個高效、穩(wěn)定、容易的測試

2、實現(xiàn)。一.概述1. 1業(yè)務組件(Bussiness Process Testing )簡介業(yè)務組件是組成流程測試的基本單元,組合不同的業(yè)務組件可以實現(xiàn)不同的業(yè)務流程測試。如將fligt系統(tǒng)的登錄最為一個組件,選擇航班最為一個組件等。這樣可以實現(xiàn)組件的復用,提高開發(fā)效率。1 . 2 Bussiness Process Testing的優(yōu)點1)相關業(yè)務人員可以在沒有腳本的環(huán)境下組合業(yè)務組件,實現(xiàn)業(yè)務流程。2)對業(yè)務人員的編程能力沒有要求,業(yè)務人員只需了解系統(tǒng)的業(yè)務流程,不用關心具體的腳本實現(xiàn)。這一點也實現(xiàn)了業(yè)務層和腳本層的分離。3)一旦某個組件開發(fā)完畢,即可在不同的流程中使用該組件,實現(xiàn)高可復用性

3、,從而加快業(yè)務流程測試的速度。4)明確的角色分工,業(yè)務人員負責流程的開發(fā)、組織;QTP工程師負責腳本的開發(fā)、 維護以及相應函數(shù)庫的開發(fā)、 維護。5)因為實現(xiàn)了腳本的復用,提高了自動化開發(fā)的效率,無形中就降低了測試過程中維護的時間和成本。1. 3 Bussiness Process Testing的簡易流程如圖所示,整個過程分為2條線:第一個是由業(yè)務測試人員劃分組件并組合不同的組件實現(xiàn)不同的流程測試;其次QTP專家負責組件的腳本具體實現(xiàn)并負責調(diào)試成功,上傳到QC供業(yè)務測試人員調(diào)用。注:測試數(shù)據(jù)的組織后邊介紹,以便實現(xiàn)三層的測試架構;此過程需要QC有Bussiness Process Testin

4、g組件許可的支持,也就是需要單獨向HP購買。下邊以QTP自帶的示例程序演示整個流程的開發(fā)過程本次將系統(tǒng)劃分為:登錄;選擇航班并插入;打開訂單;更新訂單;刪除訂單;注銷。這樣劃分僅為演示之用,不用在實際的測試之中。2 . 2組織業(yè)務測試流程本次只是用于演示,所以流程不會100%覆蓋,在實際的測試過程中要達到100%的流程覆蓋。本次測試流程如下:流程1:登錄-選擇航班并插入-注銷流程2:登錄-選擇航班并插入-更新訂單-注銷流程3:登錄-選擇航班并插入-更新訂單-刪除訂單-注銷流程4:登錄-打開訂單-更新訂單-刪除訂單-注銷下邊需要根據(jù)劃分的組件來實現(xiàn)組件腳本的實現(xiàn)。2 . 3創(chuàng)建應用程序區(qū)域在開發(fā)

5、腳本之前首先要做的是要創(chuàng)建一個應用程序區(qū)域。應用程序區(qū)域提供創(chuàng)建業(yè)務組件所需的所有資源和設置,每個業(yè)務組建都居于一個應用程序區(qū)域,并從這些應用程 序區(qū)域集成這些資源和設置。在此創(chuàng)建一個名為訂票系統(tǒng)流程測試”的區(qū)域,如圖所示。創(chuàng)建過程:依次選擇:file New Function library。保存后自動上傳至QC默認目錄g)QuickTest Professional - (Application Areasll系統(tǒng)漳程測試:j 0e Edit J(tew nseft fiutoroton Besotrces Qebuj loots也也bdow知知Start Pge訂票系茨雀程溜試Other

6、The ad*n enWorrwib bled b&jw oonespond to the cwertjy baded ad出 gAl supgled Web bcowg.For informfibon on supported versions refei to the QuckTesl Fiofewiond ard/oc addn Readme Ifes.Clckto define addtbnal settings, $txh recoghzed kdbonf, recovery scenarios, nd add-in relied settings.1.點擊添加厘用程序3Ge

7、neralFinctbn LtracesAuthor: jfenggddLocation: |Appicatk:n Area加cription:打象系統(tǒng)疣程天狀廠Application Area SettingsApplications | Yeb | Recovery |ObjectRepositoriesKeywadsA$ooated ddd-n$:0 ActiveXVisual BasicWebAddtbnd Settirgs.The buan$ cwpwem can record andrironthe spedlied below V/indcwsaprfcabomJ Record

8、ard run on ary apjJcaton opened by QuckTesl在此也可以加載自己的函數(shù)庫,對象庫,恢復場景等,這樣以后創(chuàng)建的組建都可以共享該應用程序區(qū)域的資源。同時也方便維護,這也是一個優(yōu)點所在,例如一旦函數(shù)庫改 變在此從新加載新的函數(shù)庫即可,不用在腳本理修改??傊@個應用程序區(qū)域很重要,以后所有的腳本均是基于這個區(qū)域。應用程序路徑一定要加載正確,否則錄制時不能生成腳 本。2 . 4創(chuàng)建腳本在創(chuàng)建腳本之前最好在QC中組織好目錄樹,方便保存及調(diào)用。關于腳本的開發(fā)過程,每個人、每個公司都有自己的方法。在此源代碼也沒法一一貼出。所以在此只列出輸 入?yún)?shù)和輸出參數(shù),方便后邊的參

9、數(shù)化以及數(shù)據(jù)組織。本次也采用最通用的方式即對象庫解決對象識別問題。腳本的開發(fā)規(guī)范以及參數(shù)命名也以我自己慣用方式。輸出參數(shù)名稱說明名稱名稱說明用戶名密碼選擇航班并插入忸醐日期orderNo訂單號phnsFrotn起點phnelb終點一訂單名稱一一tkketNiitn瞧數(shù)berth Bpe毗種類打升訂單otdsiNo訂單號更痢訂單planeDita醐日期一一phntFrotn起點planelo繆點orderiine訂單名稱tickftNum機票數(shù)一berthRpj能位種類一冊吟訂單注銷輸入?yún)?shù)輸出參數(shù)名稱說明名稱說明登錄logName用戶名-一logPassW密碼-一選擇航班并插入planeDat

10、a航班日期orderNo訂單號planeFrom起點一-planeTo終點一一orderName訂單名稱一一ticketNum機票數(shù)一一berthType艙位種類一一打開訂單orderNo訂單號一一更新訂單planeDate航班日期一一planeFrom起點一一planeTo終點一一orderName訂單名稱一一ticketNum機票數(shù)一一berthType艙位種類-刪除訂單-一一注銷一一一一注:g”為無相應參數(shù)。在QTP中創(chuàng)建組件腳本有2中模式:Bussiness Component和Scripted Component。區(qū)別:Bussiness Component只能見關鍵字視圖,QC中亦

11、可見關鍵字視圖;Scripted Component可以看見專家視圖,在QC中腳本代碼不可見。一般創(chuàng)建后者,本次也是采用后者,方便編輯腳本,控制腳本結構。注意:參數(shù)一定要合理設置并對代碼中的輸入項做參數(shù)化與參數(shù)關聯(lián),否則測試數(shù)據(jù)傳不到腳本,導致腳本運行失敗。參數(shù)可以在QTP中創(chuàng)建,也可以在QC中創(chuàng)建,效果等同。腳本開發(fā)完保存至QC,如圖:輸入訂票的信息,并將信息插入到數(shù)據(jù)庫中用戶擁有訂票的權限。成功輸入錄入信息并保存。MERCURYQuality Center醫(yī)業(yè)分組件測成夾驗堂上一步下一步工且,群助,域FT測試,項目:飛機訂票系也 用戶:張喜服舞器時間2 56 2006-7-?T V X諂田

12、信息快照快照設計步驟設計步驟自動自動使用者使用者T | CsgMnt t+Obsolet e- -飛吼訂飛吼訂累累泯泯程測試程測試打打開訂單開訂單41旦京旦京國國新訂單新訂單琦琦除訂單除訂單輸入輸入-X 蠢數(shù)名蠢數(shù)名值夾型默認直默認直描逑描逑planeDataplaneFro-mplaneTo ordecNaite ticketNum. berthTypeSt ring String St ringSt ringString String121208DenverLondon1312313 first航班日期航班日期起點起點駕占訂單名稱訂單名稱機票敷機票敷席街申類席街申類輸出輸出-碼碼新建新建

13、H wt 1參數(shù)名參數(shù)名 orderNost rinj1丁單組件請求組件請求 今今刷新刷新 兮移動兮移動x刪除刪除 無使用無使用者者分配紿:分配紿:張喜T T導導至此腳本開發(fā)完畢。也實現(xiàn)了腳本和業(yè)務層、數(shù)據(jù)層的脫離,現(xiàn)在單個組件腳本實現(xiàn)業(yè)務流程中的某一個功能且腳本中不會涉及具體的測試數(shù)據(jù),從而為實現(xiàn)三層結構打下 基礎。接下來的工作就是在QC中組織需要測試的業(yè)務流程以及需要的測試數(shù)據(jù)。這里有一個需要注意的地方,就是在QTP創(chuàng)建腳本如果選擇Bussiness Component類型,在 設計步驟”選項卡可以看到QTP中的關鍵字視圖,相關人員可以像在QTP操作一樣,但是看不到代碼。這也是為何上邊為何

14、創(chuàng)建腳本組件的原因。2 . 5業(yè)務流程的組織業(yè)務流程的組織主要是在測試計劃”模塊中實現(xiàn)。這的主要工作是由業(yè)務測試人員完成。規(guī)劃好目錄結構以后,根據(jù)需要測試的業(yè)務流程拖拽需要的組件即可。這一步和在測試計劃”中拖拽測試用例很相似,區(qū)別就是這個是組合業(yè)務流程,而且可以自動執(zhí)行。組織好后的效果如圖:3 Kercuty Quality Center 9.0 - Microsoft Internet Exploiec文件任)編報d)查看&)收液 工具CD稍助如后退/夕球會 g 創(chuàng)總心掃i ! http :/zilin 8080/qcbixx/start_a. htfiMERCURY*Quality

15、 Center需求業(yè)務垠件額做計劃缺陷城:BP瑚試,項目:飛機訂票系統(tǒng),用戶:張喜測試實驗室控制面板形務器時fl: 22.28 2008-7-2上一步下一步工具幫助 注用的完畢3 lercuty Quality Center 9.0- liczosoft Internet Explocer文件更)編報d)查看&)收液 工且任)帔稍看。后退 |* 1/覆索會收由務&O口H盛Lhttp:/zilin 8080/qcbxxx/start_a. htn甬完畢汁大 8 四需要注意的是,創(chuàng)建用例是請選擇BUSINESS-PROCESS”測試類型,否則組件腳本拖拽不過來。拖拽腳本是在測試腳本

16、”選項卡中進行,如上圖。限于篇幅,在此創(chuàng)建目錄和拖拽等動作不再詳述,請參見QC的用戶手冊。另外,根據(jù)實際的系統(tǒng),可以把組件分組,以組的形式控制流程。例如,選擇如圖的2到4的組件,然后選擇工具欄叉號旁邊的圖標,即可把組件分成一組。這樣可以更好的控制流程。 至此,所有的業(yè)務流程均以實現(xiàn)??梢栽赒C中選擇運行(綠色箭頭),進行相關的調(diào)試。這里實現(xiàn)的是三層結構中的業(yè)務層。這里進行的業(yè)務流程組織和腳本沒有任何關系,相關人員不用關心腳本如何實現(xiàn),只要保證所有的流程均已覆蓋即可。接下來就是要實現(xiàn)數(shù)據(jù)層的工作了,從而實現(xiàn)三層的測試架構。2 . 6測試數(shù)據(jù)的組織測試數(shù)據(jù)的組織也是在 測試計劃”模塊中實現(xiàn)。選擇某

17、一個流程,在測試腳本”選項卡中右擊要設計數(shù)據(jù)的組件,在彈出窗口中選擇迭代”,彈出組件迭代設置窗口,如圖:組件選擇航班并插入迭代指定業(yè)務組件將在業(yè)州程刪試達行期間每次循環(huán)中使用的參數(shù)值或者,選擇“輸出”參數(shù)復選框以使用以前 業(yè)務組件的輸出參數(shù)值作為此組件的輸入。令添加送代 W 選擇循環(huán) 導人*導出一planeDat a (s口上且件白planeFron. (s口上個組件0planeTa ts口上 f 組4orderNane(i口上一個組件fticketNum口上一個組berthType口上一個組忤迭代#1111208DenverLondon訂單11first迭代#2121108PortlandD

18、enver訂單22Business送代#3111108DenverLondon訂單33Economy參數(shù)berthType描述:能位種類在此可以根據(jù)測試需求設置組件要迭代的次數(shù),以及每次迭代的參數(shù)值。如上圖,設置了3次迭代每次迭代輸入的訂單信息均不相同。同時可以設置輸入?yún)?shù)選擇上一個組件的輸出參數(shù)(在復選框中打勾,按提示操作即可),如下圖。是流程4中的打開訂單”組件,orderNo參數(shù)使用的是 選擇航班并插入”組件的輸出參數(shù)。注意,此流程的 班并插入”設置了三次迭代,所以 打開訂單”也要對應三次迭代,否則會提示錯誤。| 確定 取消幫助選擇航在組織數(shù)據(jù)時,可以在單個組件中設置每次迭代的數(shù)據(jù),由于

19、組件的重用次數(shù)很多,所以這樣做還是有些麻煩。解決方法就是在外部組織好數(shù)據(jù)后,批量導入txt文本文件,格式可以把現(xiàn)有參數(shù)導出,參照它給的格式設計自己數(shù)據(jù)即可。至此,數(shù)據(jù)層的設計也已完畢。同時也實現(xiàn)了測試數(shù)據(jù)和具體的業(yè)務流程相分離。QC默認是其實,這里的數(shù)據(jù)和業(yè)務層的分離并不是很徹底,不能根據(jù)自己的想法去設計,所以還有很大的改進空間,還需要進一步研究。通過以上幾個步驟,開發(fā)工作基本結束。以后就是需要相關的維護即可。當然,最后還是要執(zhí)行測試。2 . 7執(zhí)行測試測試的執(zhí)行是在 測試實驗室”中進行的。這里和操作QC執(zhí)行用例很相似。也是組織目錄,拖拽相應的測試流程即可,這里也不在累述??蓞⒁娪脩羰謨詧?zhí)行測試用例部分。 當然執(zhí)行測試可以選擇本機執(zhí)行,也可以選擇在遠程機器上執(zhí)行測試,但要注意要安裝相應組件和設置主機。執(zhí)行效果如下圖:z3 Kercury duality Center 9.0 - Kicrosoft Internet Explozer文件任)編鉗虛)查看&)收液工且d)稍助如 。局S O區(qū)1畫G /覆索、,收篇夾 ,6j http:/zilin 8080/qcbiix/stwta. htnMERCURY*上一步下一*工具幫助注精Quality

溫馨提示

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

評論

0/150

提交評論