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

下載本文檔

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

文檔簡介

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

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

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

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

5、首先要做的是要創(chuàng)建一個應用程序區(qū)域。應用程序區(qū)域提供創(chuàng)建業(yè)務組件所需的所有資源和設置,每個業(yè)務組建都居于一個應用程序區(qū)域,并從這些應用程序區(qū)域集成這些資源和設置。在此創(chuàng)建一個名為“訂票系統(tǒng)流程測試”的區(qū)域,如圖所示。 創(chuàng)建過程:依次選擇:fileNewFunction library。保存后自動上傳至QC默認目錄。 在此也可以加載自己的函數(shù)庫,對象庫,恢復場景等,這樣以后創(chuàng)建的組建都可以共享該應用程序區(qū)域的資源。同時也方便維護,這也是一個優(yōu)點所在,例如一旦函數(shù)庫改變在此從新加載新的函數(shù)庫即可,不用在腳本理修改??傊@個應用程序區(qū)域很重要,以后所有的腳本均是基于這個區(qū)域。應用程序路徑一定要加載正

6、確,否則錄制時不能生成腳本。 24創(chuàng)建腳本 在創(chuàng)建腳本之前最好在QC中組織好目錄樹,方便保存及調(diào)用。關(guān)于腳本的開發(fā)過程,每個人、每個公司都有自己的方法。在此源代碼也沒法一一貼出。所以在此只列出輸入?yún)?shù)和輸出參數(shù),方便后邊的參數(shù)化以及數(shù)據(jù)組織。本次也采用最通用的方式即對象庫解決對象識別問題。腳本的開發(fā)規(guī)范以及參數(shù)命名也以我自己慣用方式。輸入?yún)?shù)輸出參數(shù)名稱說明名稱說明登錄logName用戶名logPassW密碼選擇航班并插入planeData航班日期orderNo訂單號planeFrom起點planeTo終點orderName訂單名稱ticketNum機票數(shù)berthType艙位種類打開訂單or

7、derNo訂單號更新訂單planeDate航班日期planeFrom起點planeTo終點orderName訂單名稱ticketNum機票數(shù)berthType艙位種類刪除訂單注銷 注:“”為無相應參數(shù)。 在QTP中創(chuàng)建組件腳本有2中模式:Bussiness Component和Scripted Component。區(qū)別:Bussiness Component只能見關(guān)鍵字視圖,QC中亦可見關(guān)鍵字視圖;Scripted Component可以看見專家視圖,在QC中腳本代碼不可見。一般創(chuàng)建后者,本次也是采用后者,方便編輯腳本,控制腳本結(jié)構(gòu)。 注意:參數(shù)一定要合理設置并對代碼中的輸入項做參數(shù)化與參數(shù)關(guān)

8、聯(lián),否則測試數(shù)據(jù)傳不到腳本,導致腳本運行失敗。參數(shù)可以在QTP中創(chuàng)建,也可以在QC中創(chuàng)建,效果等同。 腳本開發(fā)完保存至QC,如圖:輸入訂票的信息,并將信息插入到數(shù)據(jù)庫中。 用戶擁有訂票的權(quán)限。成功輸入錄入信息并保存。 至此腳本開發(fā)完畢。也實現(xiàn)了腳本和業(yè)務層、數(shù)據(jù)層的脫離,現(xiàn)在單個組件腳本實現(xiàn)業(yè)務流程中的某一個功能且腳本中不會涉及具體的測試數(shù)據(jù),從而為實現(xiàn)三層結(jié)構(gòu)打下基礎。接下來的工作就是在QC中組織需要測試的業(yè)務流程以及需要的測試數(shù)據(jù)。 這里有一個需要注意的地方,就是在QTP創(chuàng)建腳本如果選擇Bussiness Component類型,在“設計步驟”選項卡可以看到QTP中的關(guān)鍵字視圖,相關(guān)人員可

9、以像在QTP操作一樣,但是看不到代碼。這也是為何上邊為何創(chuàng)建腳本組件的原因。 25業(yè)務流程的組織 業(yè)務流程的組織主要是在“測試計劃”模塊中實現(xiàn)。這的主要工作是由業(yè)務測試人員完成。規(guī)劃好目錄結(jié)構(gòu)以后,根據(jù)需要測試的業(yè)務流程拖拽需要的組件即可。這一步和在“測試計劃”中拖拽測試用例很相似,區(qū)別就是這個是組合業(yè)務流程,而且可以自動執(zhí)行。組織好后的效果如圖: 需要注意的是,創(chuàng)建用例是請選擇“BUSINESS-PROCESS”測試類型,否則組件腳本拖拽不過來。拖拽腳本是在“測試腳本”選項卡中進行,如上圖。限于篇幅,在此創(chuàng)建目錄和拖拽等動作不再詳述,請參見QC的用戶手冊。另外,根據(jù)實際的系統(tǒng),可以把組件分組

10、,以組的形式控制流程。例如,選擇如圖的2到4的組件,然后選擇工具欄叉號旁邊的圖標,即可把組件分成一組。這樣可以更好的控制流程。至此,所有的業(yè)務流程均以實現(xiàn)。可以在QC中選擇運行(綠色箭頭),進行相關(guān)的調(diào)試。 這里實現(xiàn)的是三層結(jié)構(gòu)中的業(yè)務層。這里進行的業(yè)務流程組織和腳本沒有任何關(guān)系,相關(guān)人員不用關(guān)心腳本如何實現(xiàn),只要保證所有的流程均已覆蓋即可。 接下來就是要實現(xiàn)數(shù)據(jù)層的工作了,從而實現(xiàn)三層的測試架構(gòu)。 26測試數(shù)據(jù)的組織 測試數(shù)據(jù)的組織也是在“測試計劃”模塊中實現(xiàn)。選擇某一個流程,在“測試腳本”選項卡中右擊要設計數(shù)據(jù)的組件,在彈出窗口中選擇“迭代”,彈出組件迭代設置窗口,如圖: 在此可以根據(jù)測試

11、需求設置組件要迭代的次數(shù),以及每次迭代的參數(shù)值。如上圖,設置了3次迭代每次迭代輸入的訂單信息均不相同。同時可以設置輸入?yún)?shù)選擇上一個組件的輸出參數(shù)(在復選框中打勾,按提示操作即可),如下圖。是流程4中的“打開訂單”組件,orderNo參數(shù)使用的是“選擇航班并插入”組件的輸出參數(shù)。注意,此流程的“選擇航班并插入”設置了三次迭代,所以“打開訂單”也要對應三次迭代,否則會提示錯誤。 在組織數(shù)據(jù)時,可以在單個組件中設置每次迭代的數(shù)據(jù),由于組件的重用次數(shù)很多,所以這樣做還是有些麻煩。解決方法就是在外部組織好數(shù)據(jù)后,批量導入。QC默認是txt文本文件,格式可以把現(xiàn)有參數(shù)導出,參照它給的格式設計自己數(shù)據(jù)即可

12、。 至此,數(shù)據(jù)層的設計也已完畢。同時也實現(xiàn)了測試數(shù)據(jù)和具體的業(yè)務流程相分離。 其實,這里的數(shù)據(jù)和業(yè)務層的分離并不是很徹底,不能根據(jù)自己的想法去設計,所以還有很大的改進空間,還需要進一步研究。 通過以上幾個步驟,開發(fā)工作基本結(jié)束。以后就是需要相關(guān)的維護即可。當然,最后還是要執(zhí)行測試。27執(zhí)行測試 測試的執(zhí)行是在“測試實驗室”中進行的。這里和操作QC執(zhí)行用例很相似。也是組織目錄,拖拽相應的測試流程即可,這里也不在累述。可參見用戶手冊執(zhí)行測試用例部分。當然執(zhí)行測試可以選擇本機執(zhí)行,也可以選擇在遠程機器上執(zhí)行測試,但要注意要安裝相應組件和設置主機。執(zhí)行效果如下圖: QC會記錄每次執(zhí)行的結(jié)果,包括流程中

13、每個組件的執(zhí)行狀態(tài),執(zhí)行時間等信息。這也是QC的強大之處,它會給出一個很人性化的結(jié)果,方便我們后續(xù)的分析工作,以及對系統(tǒng)給出一個量化的指標。這一點QC做的相當完善,從需求開始到最后的缺陷分析以及測試報告,都會有一個圖形的界面供我們參考,這對我們寫測試報告提供了極大的方便,給我們提供了強有力的,可靠的數(shù)據(jù)支持。 注:以上全部工作在WinXP(sp3)QTP9.2QC9.0環(huán)境下完成。 三總結(jié) 本文只是針對業(yè)務組件測試給出了一個簡單敘述,QTP以及QC的強大之處遠不及這些。對于QTP和QC的其他功能本文沒有提及,其他功能在自動化測試中起到的作用,是有些工具不能代替的,也許這也是現(xiàn)在很多公司、很多人都在學習、使用的原因之一吧!前一段時間51的調(diào)查

溫馨提示

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

評論

0/150

提交評論