基于qtp的自動化測試-畢業(yè)論文_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  大 連 民 族 學 院 本 科 畢 業(yè) 設 計(論 文)</p><p>  基于QTP的自動化測試</p><p>  學 院(系): 計算機科學與工程學院 </p><p>  專 業(yè): 軟件工程 </p><p>  學 生 姓 名:

2、 </p><p>  學 號: </p><p>  指 導 教 師: </p><p>  評 閱 教 師: </p><p><b>  大連民族學院</b></p>

3、<p><b>  摘 要</b></p><p>  目前在軟件測試行業(yè)里,除了大家所熟悉的黑盒測試和白盒測試以外,還分為手工測試和自動化測試。自動化測試相對于手工測試有很多優(yōu)點,它最主要的優(yōu)點就是省時,省力,省財務開銷。自動化測試工具中具有代表性的是QTP,QTP適用于軟件測試中的smoke測試以及回歸測試(regression test),QTP腳本具有相當高的可移

4、植性和可重用性,“一本萬利”,即一本QTP測試腳本經(jīng)過簡單修改后可以應用于多個測試軟件以及測試環(huán)境。</p><p>  本次畢業(yè)設計,以QTP為自動化測試工具,以“美圖秀秀”軟件為被測軟件,通過QTP的描述性編程方法,實現(xiàn)該軟件從安裝到卸載的功能測試和界面檢查測試,以及安裝完成后的軟件功能性測試和UI測試。最終產(chǎn)生可讀性好,易于跟蹤的QTP自動化報告,用來分析軟件的缺陷。通過使用QTP對“美圖秀秀”軟件進行測試

5、的實例,展示出了QTP自動化測試在軟件測試行業(yè)中方便,快捷的優(yōu)越性。</p><p>  關鍵詞:自動化測試;報告;描述性編程</p><p>  Automated testing based on QTP</p><p><b>  Abstract</b></p><p>  In the software tes

6、ting industry, with the exception that everyone is familiar distinguished with black box testing and white box testing, it also consist of manual testing and automated testing. The main advantage of automation is saving

7、time, effort, the provincial financial cost. In automated testing software, QTP is outstanding. QTP used in smoking testing and regression testing (regression test ) in the software testing. QTP script with a very high p

8、ortability and reusability, "a big profit</p><p>  In this graduation design, using QTP for the automated testing tools and using "beauties Xiu Xiu" software for the software under test, throu

9、gh QTP descriptive programming, implementation of the software from installation to uninstall which include the functional testing and inspection interface testing, and the software functionality testing and UI testing a

10、fter installation Upon completion. Eventually produce readable and easy to follow the QTP automated reporting, which used to analyze softwa</p><p>  Key Words:Automated testing;Report;Descriptive programming

11、</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  1軟件測試簡介1</b></p><p>  1.1 軟件測試簡介1&l

12、t;/p><p>  2 自動化測試簡介2</p><p>  2.1 自動化測試的目的2</p><p>  2.3 自動化測試流程圖3</p><p>  3 QTP自動化測試4</p><p>  3.1 QTP自動化測試簡介4</p><p>  3.2 QTP的工作模式5<

13、;/p><p>  3.4 QTP自動化測試流程7</p><p>  3.4.1 準備測試用例7</p><p>  3.4.2 配置QTP運行環(huán)境7</p><p>  3.4.3 錄制或編寫自動化測試腳本7</p><p>  3.4.4 檢查修改腳本7</p><p>  3.4

14、.5 運行調試測試腳本7</p><p>  3.3.6 運行維護腳本7</p><p>  3.4.7 QTP自動化測試流程圖8</p><p>  3.5 QTP框架介紹9</p><p>  4 “美圖秀秀”的自動化測試10</p><p>  4.1 測試規(guī)劃10</p><p&

15、gt;  4.2 測試用例開發(fā)10</p><p>  4.2.1 安裝測試用例10</p><p>  4.2.2 安裝完畢自動啟動軟件測試用例11</p><p>  4.2.3 桌面坐標檢查測試用例11</p><p>  4.2.4 開始菜單檢查測試用例11</p><p>  4.2.5 啟動軟件測

16、試用例11</p><p>  4.2.6 打開圖片測試用例12</p><p>  4.2.7 場景編輯測試用例12</p><p>  4.2.8 場景編輯框檢查測試用例12</p><p>  4.2.9 恢復原圖測試用例12</p><p>  4.2.10 飾品編輯測試用例13</p>

17、<p>  4.2.11 美容編輯測試用例13</p><p>  4.2.12 卸載測試用例13</p><p>  4.3 QTP腳本開發(fā)14</p><p>  4.4 測試報告17</p><p>  4.5 環(huán)境搭配18</p><p>  4.6 軟件需求18</p>

18、<p>  4.7 遇到的問題以及解決方案18</p><p>  4.7.1時間處理18</p><p>  4.7.2欲點擊的button是一張圖片19</p><p>  4.7.3 對象無法識別19</p><p>  4.7.4 報告中無法顯示Pass率19</p><p>  4.7.

19、5 運行時界面效果19</p><p>  4.7.6 場景恢復20</p><p>  4.7.7 QTP單擊右鍵完成“Save Target As……”操作20</p><p>  4.7.8 QTP讀取外部Excel數(shù)據(jù)21</p><p>  4.7.9 報告優(yōu)化整理22</p><p><b&

20、gt;  結 論24</b></p><p>  參 考 文 獻25</p><p><b>  致 謝26</b></p><p><b>  1軟件測試簡介</b></p><p>  1.1 軟件測試簡介</p><p>  一般人認為,軟

21、件測試沒什么技術可言,只要懂得使用鼠標就足夠了,這是對軟件測試的一種誤解。</p><p>  學習過軟件工程的同學幾乎普遍都對軟件測試存在一種歧視,擴大一點范圍可以說幾乎所有學過代碼開發(fā)的人都對軟件測試這個行業(yè)存在偏見。當然,這種現(xiàn)象大多數(shù)只發(fā)生在國內。在國外,軟件測試已經(jīng)是一個興旺發(fā)達的行業(yè)。</p><p>  一般而言,軟件測試從項目確立時就開始了,前后要經(jīng)過以下一些主要環(huán)節(jié):&l

22、t;/p><p>  需求分析→測試計劃→測試設計→測試環(huán)境搭建→測試執(zhí)行→測試記錄→缺陷管理→軟件評估→RTM.</p><p>  在真正的項目中,編寫測試用例人員首先通過被測軟件和開發(fā)人員提供的一些文檔,編寫出效率最高的測試用例,測試人員從客戶那里得到被測軟件,按照測試用例檢查被測軟件,最后將測試結果反饋給開發(fā)人員。</p><p>  測試人員還有一個最重要的任

23、務就是跟蹤bug,一個bug的生命周期分為New,Open, Fixed和Closed 四種基本狀態(tài),另外還存在一種Reopen的狀態(tài),測試人員要從New狀態(tài)一直跟蹤到Closed狀態(tài)。</p><p>  在進行有關問題闡述前,先明確下分工,一般而言,需求分析、測試用例編寫、測試環(huán)境搭建、測試執(zhí)行等屬于測試開發(fā)人員工作范疇,而測試執(zhí)行以及缺陷提交等屬于普通測試人員的工作范疇,測試負責人負責整個測試各個環(huán)節(jié)的跟蹤

24、、實施、管理等。</p><p>  基于不同的立場,存在著兩種完全不同的測試目的。從用戶的角度出發(fā),普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可以接受該產(chǎn)品。而從軟件開發(fā)者的角度出發(fā),則希望測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗證該軟件已正確地實現(xiàn)了用戶的要求,確立人們對軟件質量的信心。因此,他們會選擇那些導致程序失效概率小的測試用例,回避那些易于暴露程序錯誤的測試用例。同時,也不會著意去檢

25、測、排除程序中可能包含的副作用。</p><p>  測試的目標是想以最少的時間和人力找出軟件中潛在的各種錯誤和缺陷。如果成功地實施了測試,就能夠發(fā)現(xiàn)軟件中的錯誤。測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符。此外,實施測試收集到的測試結果數(shù)據(jù)為可靠性分析提供了依據(jù)。</p><p><b>  2 自動化測試簡介</b></p><

26、p>  2.1 自動化測試的目的</p><p>  開發(fā)一個軟件要在最短的時間內開發(fā)出需求分析中的軟件產(chǎn)品,以最快的速度能先于其它競爭對手占領軟件市場,從而獲取最大的利益,現(xiàn)在的軟件開發(fā)已經(jīng)將測試融入其中,所以測試的速度也是至關重要的。</p><p>  傳統(tǒng)的軟件測試是靠人的手動來進行測試,也是現(xiàn)在各個軟件測試公司的主流方法,稱之為Manual test。測試部門每天都要計算在

27、某個項目上charge多少個人。這樣的測試耗費時間,耗費人力,耗費成本。自動化測試的目的就是盡可能的減少在測試上的人力和財力的開銷,以最便捷省時省事的方法,完成同樣的任務。</p><p>  測試自動化是使軟件測試人員跟上開發(fā)人員腳步的惟一方式。</p><p>  自動化測試相對于手工測試的優(yōu)點</p><p>  優(yōu)化測試速度:可非??焖俚倪\行上萬條記錄。 &

28、lt;/p><p>  提高準確性、穩(wěn)定性:可以不為外界因素干擾,準確運行測試用例。</p><p>  確定性:能真實快速搭建測試環(huán)境,測試數(shù)據(jù),重現(xiàn)缺陷。 </p><p>  提高工作效率:一邊運行自動化測試,一邊準備測試報告。 </p><p>  測試環(huán)境搭建:可以結合多種編程語言及技術協(xié)助搭建測試環(huán)境,防止手工測試重復勞動,如批處理技

29、術。 </p><p>  提高技能:可提高測試人員技能,同時提高對測試的興趣,防止對手工測試感覺枯燥。 </p><p><b>  數(shù)據(jù)處理方面的優(yōu)點</b></p><p>  測試數(shù)據(jù):自動化測試工具可以根據(jù)需要,準備大量的測試數(shù)據(jù)。 </p><p>  數(shù)據(jù)處理:測試結果有時需要再進行相應的數(shù)據(jù)處理。 <

30、;/p><p>  用例準備:可以使用相關腳本技術準備大量的測試用例。 </p><p>  2.3 自動化測試流程圖</p><p>  自動化測試有它自己的一個流程,下圖為自動化測試流程圖,如圖2.1所示。</p><p>  圖2.1 自動化測試流程圖</p><p>  3 QTP自動化測試</p>

31、<p>  3.1 QTP自動化測試簡介</p><p>  QTP,全稱為Quick Test Professional,是Mercury研發(fā)的一種自動化測試工具,現(xiàn)在屬于HP公司,是一款先進的自動化測試解決方案,用于創(chuàng)建功能和回歸測試。它自動捕獲、驗證和重放用戶的交互行為。</p><p>  Quick Test Professional是為每一個重要軟件應用和環(huán)境提供功能

32、和回歸測試自動化的最佳解決方案。</p><p>  下圖為QTP自動界面,如圖3.1所示。</p><p>  圖3.1 QTP自動界面</p><p>  Quick Test Professional是新一代自動化測試解決方案,采用了關鍵詞驅動(Keyword-Driven)測試的理念,能完全簡化測試的創(chuàng)建和維護工作。Quick Test Profession

33、al關鍵詞驅動方式獨有之處在于,測試自動化專家可以通過一個整合的腳本和糾錯環(huán)境,擁有對基礎測試腳本和對象屬性的完全訪問權限,這些腳本和糾錯環(huán)境與關鍵詞視圖(Keyword View)可以互為同步。</p><p>  Quick Test Professional同時滿足了技術型和非技術型用戶的需求,讓各個公司有能力部署更高質量的應用,同時部署的速度更快,費用更低,風險也更小。</p><p&

34、gt;  3.2 QTP的工作模式</p><p>  QTP分為兩種工作模式:</p><p>  第一種為關鍵字視圖模式(Keyword View),普通的錄制和回放有關鍵字視圖就足夠了,關鍵字視圖中有錄制過程中每一個點擊事件以及輸入事件,測試人員可以在關鍵字視圖下通過修改DataTable來設置檢查點。</p><p>  第二種為專家視圖(Expert Vi

35、ew),它有兩個作用:</p><p>  (1)專家視圖中包含了整個錄制過程中QTP所產(chǎn)生的每一個事件相對應的腳本,QTP高級測試人員可以通過修改這些腳本代碼來控制QTP回放時的所有事件;</p><p>  (2)高級QTP測試人員可以在無需錄制的情況下,通過自己在專家視圖中編寫腳本代碼,來實現(xiàn)錄制能實現(xiàn)的功能,甚至可以實現(xiàn)通過錄制無法實現(xiàn)的功能,這種方法稱為描述性編程,使用描述性編程

36、的優(yōu)點有:</p><p> ?、贉p少QTP腳本的大小,便于在郵件和服務器上發(fā)送;</p><p> ?、谠黾恿四_本的可移植性,可擴展性,可維護性。</p><p>  QTP腳本使用VB語言編寫,很少的代碼量可完成很強大的功能,通過描述性編程,腳本開發(fā)人員可以隨意控制QTP測試腳本,在自己需要的地方增加檢查點,在腳本出問題的時候便于維護;由于沒有對象,在腳本移植上

37、變得方便容易,也使腳本的擴展變得容易。</p><p>  對于QTP而言,其核心代碼是Visual Basic Script,因此,如果用戶熟悉vbScript,就可以自己添加和更新專家視圖中的語句,并通過編程方式增強測試腳本。</p><p>  初學者都會知道QTP是用來錄制回放的,當然,錄制完就會有對象存在在對象庫中,這個對象對已經(jīng)錄制的實體有一個唯一的標識。但是當你遇到以下情況時

38、,就無法再應用對象和對象庫了:</p><p>  (1)在某些頁面上動態(tài)產(chǎn)生的對象;</p><p>  (2)當要求腳本必須比較小的時候。</p><p>  那么此時就要應用描述性編程了,這部分工作只能在專家視圖中進行。</p><p><b>  以下是一個例子:</b></p><p>

39、  Browser("xxxx").Page("yyyy").Click</p><p>  將以上的代碼修改為描述性編程:</p><p>  假如現(xiàn)在只是打開的yyyy主頁</p><p>  Window("Text:=yyyy").Close</p><p>  簡而言之,描

40、述性編程就是將原來的對象用該對象應該具有的屬性和對應的屬性值來代替(即property:=value),來唯一標識這個對象,這樣,即使刪除對象庫中對應的對象腳本仍然可以運行。</p><p>  當在一個測試中多次使用描述性編程的時候,如以下示例:</p><p>  Window("Text:=aaa").WinButton("Caption:=bbb&qu

41、ot;).Click</p><p>  Window("Text:=aaa").WinButton("Caption:=ccc").Click</p><p>  Window("Text:=aaa").WinButton("Caption:=ddd").Click</p><p> 

42、 為了方便起見,我們可以將Window("aaa")賦值給一個值</p><p>  Set E = Window("Text:=aaa")</p><p>  E.WinButton("Caption:=bbb").Click</p><p>  E.WinButton("Caption:=cc

43、c").Click</p><p>  E.WinButton("Caption:=ddd").Click</p><p>  如果還想在簡化代碼,可以使用VBScript里的with語句來實現(xiàn)</p><p>  With Window("Text:=aaa")</p><p>  .Win

44、Button("Caption:=bbb").Click</p><p>  .WinButton("Caption:=ccc").Click</p><p>  .WinButton("Caption:=ddd").Click</p><p>  描述性編程的“后續(xù)強迫性”。</p><

45、;p>  當使用描述性編程時,需要注意一點就是,描述性編程的“后續(xù)強迫性”問題,什么是“后續(xù)強迫性”呢?就是說如果在測試對象層次結構的某一點開始就是用了描述性編程,則該測試對象層次結構下的后續(xù)測試對象都要使用描述性編程的方式來描述。</p><p>  由于應用描述性編程要應用VBscript語言,所以在這里要簡單的介紹一下VBscript:</p><p>  Visual Bas

46、ic,簡稱VB,是Microsoft公司推出的一種Windows應用程序開發(fā)工具。是當今世界上使用最廣泛的編程語言之一,它也被公認為是編程效率最高的一種編程方法。無論是開發(fā)功能強大、性能可靠的商務軟件,還是編寫能處理實際問題的實用小程序,VB都是最快速、最簡便的方法。</p><p>  3.4 QTP自動化測試流程</p><p>  3.4.1 準備測試用例</p>&

47、lt;p>  軟件測試,離不開測試用例,測試用例對于軟件測試來說就如軟件開發(fā)中的需求分析一樣,開發(fā)中沒有需求分析說明書就無法知道將要做的是什么,完成什么功能,測試用例對于軟件測試的功能是一樣的,沒有測試用例就算有了測試軟件也無法進行測試,而且測試用例要便于腳本的后期維護。 </p><p>  測試用例開發(fā)的標準是符合自動化測試要求,檢查點覆蓋盡可能全面,測試步驟盡可能通順簡潔,方便測試人員進行測試。本次畢

48、業(yè)設計由于是個人項目,無法按照公司的流程進行開發(fā),因此在測試用例開發(fā)的流程上欠缺合理性。</p><p>  3.4.2 配置QTP運行環(huán)境</p><p>  QTP支持不同的開發(fā)環(huán)境,在錄制(編寫腳本)之前,需要根據(jù)被測試的環(huán)境,選</p><p>  擇合適的插件,并進行加載。在安裝QTP時,會提示輸入許可序列號,如果沒有買到HP授權的正版序列號,QTP只能有

49、14天的試用期。</p><p>  3.4.3 錄制或編寫自動化測試腳本</p><p>  不論是錄制還是測試員自己編寫自動化測試腳本,都必須按照測試用例的步驟來進</p><p>  行,開發(fā)中開發(fā)人員按照需求分析文檔來一個個的實現(xiàn)需求分析中的功能模塊,同樣的道理,測試人員要根據(jù)測試用例完成每一步測試用例相對應的自動化腳本的開發(fā)。</p><

50、;p>  3.4.4 檢查修改腳本</p><p>  錄制或編寫完自動化測試腳本以后,不要急于運行測試腳本,要先好好檢查腳本</p><p>  的完整性,語法錯誤以及邏輯性。刪除冗余的腳本代碼,以最少的代碼來實現(xiàn)同樣的功能。</p><p>  3.4.5 運行調試測試腳本</p><p>  檢查過腳本代碼后,運行該測試腳本,不是

51、所有的腳本都能按照預期的期望正常運</p><p>  并能產(chǎn)生正確的報告的。這就要求腳本開發(fā)人員在腳本出問題的時候對腳本進行調試,直到腳本正常運行。</p><p>  3.3.6 運行維護腳本</p><p>  腳本調試后可以正常運行,隨著代碼量的增加,這個時候就需要不斷的對腳本進行</p><p>  后期維護,以確保腳本的質量和性能

52、。</p><p>  3.4.7 QTP自動化測試流程圖</p><p>  QTP自動化測試有它自己的測試流程圖,下圖為QTP自動化測試流程圖,如圖3.2所示:</p><p><b>  NO</b></p><p><b>  YES</b></p><p>  圖3

53、.2 QTP自動化測試流程圖</p><p>  3.5 QTP框架介紹</p><p>  Java中有MVC框架,struts框架等等,在QTP中,同樣有它自己的框架結構。</p><p>  QTP框架基本分為三層,腳本層(業(yè)務組件開發(fā)),業(yè)務層(流程的開發(fā)和組織),數(shù)據(jù)層,層次之間相互分離是本框架組織總的方針,為開展功能自動化測試提供一個高效、穩(wěn)定、容易的測

54、試實現(xiàn)。</p><p>  實現(xiàn)QTP自動化測試框架實際上要由以下幾個部分組成:</p><p>  (1)一組錄制好的qtp腳本(QTP的Action);</p><p>  (2)一個可以組織用例的Excel文檔;</p><p>  (3)一個VBScripts腳本。</p><p>  首先,在QTP里建立多

55、個Action,這些Action于測試用例中的步驟一一對應,Action里的語句只有調用vbScript文件和調用該vbScript文件內函數(shù)的語句即可。</p><p>  其次,把固定的字符串以及按鈕參數(shù)化,這些參數(shù)將被保存在QTP的Datatable中,供vbScript調用。</p><p>  再次,為實現(xiàn)真正意義上的自動化測試,我們需要一個VBScripts腳本,它的作用是通過

56、執(zhí)行這個VBScripts腳本來驅動QTP程序啟動,然后自動運行我們所需要執(zhí)行的qtp腳本。</p><p>  完成以上內容,一個基本的自動化測試架構就組合完成了。當然,以上的內容只是一個簡單的說明,在這其中,實際上是需要我們進行腳本的調整和運用一些編程技術才能實現(xiàn)這個框架,例如,我們如何讓QTP腳本來讀取Excel中的用例值?如何通過vbscripts腳本來啟動QTP程序?等等。</p><

57、;p>  而對于以上的框架實際上還有調整的余地,我們很多時候聽到的框架優(yōu)化,原則上就是要把這個框架更細化,例如,測試用例中需要有附件的配置、需要有公共函數(shù)的使用、測試執(zhí)行后要有結果存儲的路徑等等一系列內容,這樣,這個框架才能夠被共享和復用,而不是每次測試都要重新考慮用例設計或者重新生成用例集,而這些是慢慢將這個框架進行豐滿所要做的工作。</p><p>  4 “美圖秀秀”的自動化測試</p>

58、<p><b>  4.1 測試規(guī)劃</b></p><p>  以“美圖秀秀”為被測軟件,QTP為測試工具,實現(xiàn)一個軟件從安裝,應用到卸載的整個過程的function testing 以及UI testing。</p><p><b>  主要測試點有:</b></p><p><b>  安裝&l

59、t;/b></p><p><b>  快捷方式檢查:</b></p><p><b>  功能測試:</b></p><p><b>  (1)啟動軟件</b></p><p><b>  (2)選擇圖片</b></p><p&

60、gt;<b>  (3)編輯圖片</b></p><p>  (4)保存編輯后圖片</p><p><b>  (5)關閉軟件</b></p><p><b>  (6)IE檢查</b></p><p><b>  UI 測試:</b></p>

61、<p>  (1)檢查應該出現(xiàn)的字符串以及各種Button。</p><p><b>  卸載</b></p><p>  4.2 測試用例開發(fā)</p><p>  正常的測試是由專門寫測試用例的人員將測試用例寫好后,放到QC上,測試人員再從QC上導下來進行測試,在本次畢業(yè)設計中,由于是獨立完成畢業(yè)設計,所以測試用例也是自己編寫的

62、,測試用例寫的原則就是盡可能的覆蓋更多的檢查點。</p><p>  本次畢業(yè)設計的測試用例根據(jù)測試規(guī)劃而開發(fā),測試用例涵蓋了軟件的安裝檢查;界面檢查;功能性檢查,如啟動,編輯,關閉等;卸載檢查等。</p><p>  4.2.1 安裝測試用例</p><p><b>  Steps:</b></p><p>  (1)

63、DbClick XiuXiu_Soft.exe;</p><p>  (2)Click "立即安裝美圖秀秀 >" from "美圖秀秀 2.2.0 安裝";</p><p>  (3)Click "下一步(N)>" from "美圖秀秀 2.2.0 安裝";</p><p>

64、  (4)Unselect "’安裝百度搜霸' and click"下一步(N)>";</p><p>  (5)Click "安裝(I)";</p><p>  (6)Unselect "設置 美圖秀秀上網(wǎng)主頁 為IE 首頁";</p><p>  (7)Click "完

65、成(F)".</p><p>  Expected Result:</p><p>  Verify software can be installed successfully.</p><p>  4.2.2 安裝完畢自動啟動軟件測試用例</p><p><b>  Steps:</b></p>

66、<p>  (1)Flow above steps.</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀 2.2.0" can automaticlly launched successfully.</p><p>  Verify the "http://xiuxi

67、u.meitu.com/success.html" webpage launched.</p><p>  4.2.3 桌面坐標檢查測試用例</p><p><b>  Steps:</b></p><p>  (1)Check shortcuts on desktop.</p><p>  Expected

68、Result:</p><p>  Verify the shortcut “美圖秀秀” displays on desktop.</p><p>  Verify the shortcut “520上網(wǎng)主頁” displays on desktop.</p><p>  4.2.4 開始菜單檢查測試用例</p><p><b> 

69、 Steps:</b></p><p>  (1)Start menu links.</p><p>  Expected Result:</p><p>  Verify "美圖" folder is displayed.</p><p>  Verify "美圖秀秀" folder is

70、 displayed.</p><p>  Verify "美圖看看" folder is displayed.</p><p>  Verify blew links are displayed:</p><p><b>  "美圖秀秀".</b></p><p><b&g

71、t;  "卸載美圖秀秀"</b></p><p><b>  "美圖看看"</b></p><p><b>  “卸載美圖看看"</b></p><p>  4.2.5 啟動軟件測試用例</p><p><b>  Steps:

72、</b></p><p>  (1)Lanuch "美圖秀秀" from desktop/startmenu;</p><p>  (2)Click "X" button.</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀

73、2.2.0" can launched without any error.</p><p>  Verify the "美圖秀秀 2.2.0" can exited without any error.</p><p>  4.2.6 打開圖片測試用例</p><p><b>  Steps:</b><

74、/p><p>  (1)Lanuch "美圖秀秀" from desktop/startmenu;</p><p>  (2)Click "打開一張圖片" from dialog "美圖秀秀";</p><p>  (3)Click “Cancel” button.</p><p> 

75、 Expected Result:</p><p>  Verify the "打開一張圖片" dialog can be opened.</p><p>  Verify the dialog can be closed after click "退出" button.</p><p>  4.2.7 場景編輯測試用例<

76、;/p><p><b>  Steps:</b></p><p>  (1)Click “場景” from "美圖秀秀";</p><p>  (2)Click “取消” Button on “場景 編輯框” dialog.</p><p>  Expected Result:</p>&l

77、t;p>  Verify “場景 編輯框” dialog can be opened.</p><p>  Verify the dialog can be closed after click “取消” Button.</p><p>  4.2.8 場景編輯框檢查測試用例</p><p><b>  Steps:</b></p&

78、gt;<p>  (1)Click “場景” from "美圖秀秀".</p><p>  Expected Result:</p><p>  Verify "預覽" button exists.</p><p>  Verify "編輯" button exists.</p>

79、<p>  Verify "保存" button exists.</p><p>  Verify "復制到QQ" button exists.</p><p>  Verify "修改閃圖大小" button exists.</p><p>  4.2.9 恢復原圖測試用例</p>

80、<p><b>  Steps:</b></p><p>  (1)Click "原圖" from "美圖秀秀";</p><p>  (2)Click “閃圖” Button.</p><p>  Expected Result:</p><p>  Verify

81、the "閃圖 編輯框" dialog is closed successfully.</p><p>  4.2.10 飾品編輯測試用例</p><p><b>  Steps:</b></p><p>  (1)Click "飾品" on the "美圖秀秀".</p>

82、<p>  Expected Result:</p><p>  Verify "非主流印" button exists.</p><p>  Verify "裝飾品" button exists.</p><p>  Verify "可愛心" button exists.</p>

83、<p>  Verify "會話氣泡" button exists.</p><p>  Verify "可愛動物" button exists.</p><p>  Verify "卡通人物" button exists.</p><p>  Verify "動態(tài)文字"

84、button exists.</p><p>  Verify "繽紛節(jié)日" button exists.</p><p>  Verify "開心惡搞" button exists.</p><p>  Verify "遮擋物" button exists.</p><p>  V

85、erify "淘寶" button exists.</p><p>  Verify "其他飾品" button exists.</p><p>  4.2.11 美容編輯測試用例</p><p><b>  Steps:</b></p><p>  (1)Click "

86、首頁" on "美圖秀秀";</p><p>  (2)Click "美容" button on "美圖秀秀".</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀溫馨提示" dialog should displays.

87、</p><p>  4.2.12 卸載測試用例</p><p><b>  Steps:</b></p><p>  (1). Select "卸載美圖秀秀";</p><p>  (2). Click "Yes" button from "美圖秀秀2.2.0 卸載&q

88、uot; dialog;</p><p>  (3). Click "Yes" button from "美圖秀秀2.2.0 卸載" dialog;</p><p>  (4). Click "OK" button from "美圖秀秀2.2.0 卸載" dialog;</p><p>

89、  Expected Result:</p><p>  Verify the software can be uninstall successfully.</p><p><b>  Verify</b></p><p>  “http://xiuxiu.meitu.com/uninstall.html?ver=2.2.0.1000&

90、;from=Soft&hd=a2e118b4e2fc95f5c455d5c70e55f7b9“ webpage launchs.</p><p>  下圖為測試用例截圖,如圖4.1所示:</p><p>  圖4.1 測試用例截圖</p><p>  4.3 QTP腳本開發(fā)</p><p>  測試腳本主要在專家視圖中應用VB語言進行

91、編寫,最終可編輯成vbs腳本文件,所有的vbs腳本文件集合起來產(chǎn)生一個VBScript腳本。</p><p>  以測試用例的檢查點進行Action分割,即每一條測試用例對應一個Action,這樣做的好處是一個Action的pass與failed直接對應一條測試用例的執(zhí)行結果,如Install Action的功能只是安裝。Action之間相互獨立,各個Action之間的耦合性盡量降低。</p>&l

92、t;p>  根據(jù)Action的分類,一個Action對應一個vbs腳本,在vbs腳本中以vb語言為基礎,利用vb函數(shù)以及系統(tǒng)內部函數(shù)調用,以及對注冊表、桌面路徑、開始菜單路徑檢查和調用,完成軟件的安裝、快捷方式檢查、功能測試、UI測試以及卸載等測試,通過ReporterManager產(chǎn)生測試報告返回測試Excel格式的結果。</p><p>  應用QTP框架原理,實現(xiàn)Action與vbscript 相分離

93、。便于腳本維護。</p><p>  安裝測試腳本主要是啟動安裝軟件,然后判斷被測軟件安裝程序是否能夠正常啟動下圖為啟動安裝程序代碼界面,如圖4.2所示:</p><p>  圖4.2 啟動安裝程序代碼界面</p><p>  安裝過程檢查腳本主要檢查安裝過程中各個界面是否正常出現(xiàn),界面上的文字和按鈕顯示是否正常。下圖為安裝過程檢查代碼界面,如圖4.3所示:<

94、/p><p>  圖4.3 安裝過程檢查代碼界面</p><p>  開始菜單檢查腳本是檢查軟件在開始菜單中的鏈接是否存在,下圖為開始菜單檢查界面,如圖4.4所示:</p><p>  圖4.4 開始菜單檢查界面</p><p><b>  4.4 測試報告</b></p><p>  QTP產(chǎn)生的報

95、告要求清晰明朗,通過、未通過和Pass率等各種信息都要求在報告中顯示出來,下圖為報告的Summary Sheet,如圖4.5所示:</p><p>  圖4.5 報告的Summary Sheet</p><p>  上圖報告顯示的是測試用例執(zhí)行的總體結果,下圖顯示的報告的詳細信息,如圖4.6所示:</p><p>  圖4.6 報告的Detail Sheet<

96、/p><p><b>  4.5 環(huán)境搭配</b></p><p>  OS: Windows xp/vista。</p><p><b>  語言: 簡體中文。</b></p><p><b>  網(wǎng)絡連接正確。</b></p><p><b>

97、  4.6 軟件需求</b></p><p><b>  (1)美圖秀秀。</b></p><p><b>  (2)QTP。</b></p><p>  (3)其它軟件需求: </p><p>  office 2003或 office 2007。</p><p&g

98、t;  4.7 遇到的問題以及解決方案</p><p><b>  4.7.1時間處理</b></p><p>  由于計算機配置不同,在自動運行軟件及其功能時,目標窗口出現(xiàn)的時間不同,這就需要腳本在執(zhí)行完一個判斷后,在判斷下一個目標出現(xiàn)之前,必須有時間上的判斷,否則當在QTP默認時間內沒有出現(xiàn)目標,測試將會報錯。</p><p><b&

99、gt;  時間處理方法有:</b></p><p>  (1)死等法:    wait(10)。    wait方法可設定指定的等待時間,時間單位為秒,但這個時間只能是固定的,即必須等到這個時間才能繼續(xù)執(zhí)行。缺點:有時候會浪費時間,有時候因時間把握不準確而少設定了時間。 (2)waitproperty &#

100、160;  windows("XXX").dialog("XXXXXXXX").waitProperty "visible",true,50000    方法中的visible是屬性,true是屬性的值,50000為最長等待時間,單位為毫秒。即在最長等待時間內任意時刻visible的值為true了,腳本繼續(xù)向下執(zhí)行,直到等到

101、最大等待時間,然后給出warning。注意:如果超出最大等待時間,QTP報告中的結果是warning,而不是fail。 (3)Exist(10)    windows("XXX").dialog("XXXXXXXX").Exist(10)    方法中的10的時間單位為秒。   

102、 該方法與waitproperty方法類似,個人認為比waitproperty方</p><p>  4.7.2欲點擊的button是一張圖片</p><p><b>  解決方法:</b></p><p>  Tools->Virtual Objects->New Virtual Objects</p><p

103、>  在Virtual Objects Wizard窗口選擇下一步,接下來的窗口選擇一個虛擬對象的類別,然后點擊下一步,接下來的窗口中點擊 “Mark Object”來確定虛擬對象。完成。</p><p>  4.7.3 對象無法識別</p><p><b>  解決方案:</b></p><p>  (1)模擬錄制和低級錄制</p

104、><p>  QTP錄制分為三種模式,一為普通模式錄制,二為模擬錄制,三為低級錄制。</p><p>  模擬錄制是將普通錄制無法識別的對象,錄制為模擬對象,模擬對象一般是一個窗口,即將不能識別的對象所在窗口識別為模擬對象,以此來判別該對象是否存在。</p><p>  低級錄制是記錄鼠標對點的操作,即只記錄鼠標在目標窗口進行的點擊以及拖動等動作。低級錄制在項目中不建議

105、使用,因此在本工程中并未用到,在此只是做一個簡介。</p><p><b>  (2)坐標識別:</b></p><p>  坐標識別與模擬錄制有些相似,只是沒有模擬錄制所產(chǎn)生的對象庫。個人使用坐標識別的步驟為:</p><p>  通過建立虛擬對象的步驟定位目標點在當前窗口的坐標值,然后點擊坐標點,例如確定坐標后,可通過以下語句實現(xiàn)點擊:&l

106、t;/p><p>  Dialog(“text:=jevon”).Click 23,23</p><p>  4.7.4 報告中無法顯示Pass率</p><p>  在實際項目中,客戶關注的不僅僅是這一本測試用例哪條通過了,哪條沒有通過,他們還很關注Pass率是多少,為了能在最終的測試報告中體現(xiàn)出Pass率,通過兩天的時間對ReporterManager的研究和修改,

107、現(xiàn)在可以在QTP報告的summary sheet里面直觀的看到這一次運行完以后的Pass率。</p><p>  4.7.5 運行時界面效果</p><p>  為了不讓QTP在運行時占據(jù)桌面視覺空間,特意將QTP在運行開始時將其最小化,運行結束后再最大化,具體實現(xiàn)方法如下:</p><p><b>  最小化QTP窗口:</b></p&

108、gt;<p>  Dim objQTPWin</p><p>  Set objQTPWin = GetObject(“”,”QuickTest.Application”)</p><p>  objQTPWin.WindowState = “Minimized”</p><p><b>  最大化QTP窗口:</b></p

109、><p>  ObjQTPWin.windowState = “Restored”</p><p>  SetObjQTPWin = Nothing</p><p>  4.7.6 場景恢復</p><p>  軟件開發(fā)中常常使用Try……Catch來捕捉代碼出現(xiàn)的異常,從而避免異常給整個工程帶來的威脅。在運用描述性編程的QTP中,由于被測試軟件

110、還不是很成熟,存在相當多的缺陷,這些缺陷都是未知的,這就更需要QTP有這樣的方法來避免突發(fā)情況。</p><p>  在實際項目中,根據(jù)實際情況做了一個場景恢復,內容如下:</p><p>  (1)Resources->Recovery Scenario Manger;</p><p>  (2)”Recovery Scenario Manger” 對話框-

111、>New Scenario (“New Scenario” 是在字符串 “Scenario”后面的一個button);</p><p>  (3)”Recovery Scenario Wizard”->“下一步”, 選擇 error course 并點擊“下一步”;</p><p>  (4)選擇 test run error characterized 并點擊“下一步”;&l

112、t;/p><p>  (5)在 “Recovery Operations”界面, 選擇任意選項然后點擊“下一步”;</p><p>  (6)選擇一個操作形式 (在本項目中,選擇了“Function call”);</p><p>  (7)如果選擇的是“Function call”, 可以通過“Function Library” 來加載已經(jīng)寫好的函數(shù),點擊“下一步”;

113、</p><p>  (8)如果想再添加一個場景恢復, 取消 “Add another recovery operation” 選項的選擇并且點擊“下一步”;</p><p>  (9)場景恢復設置完成后,選擇場景恢復所期望的執(zhí)行效果并點擊“下一步”;</p><p>  (10)給完成的場景恢復命名,然后點擊“下一步”;</p><p>&

114、lt;b>  (11)完成。</b></p><p>  這樣,一旦腳本運行中出現(xiàn)未知異常,腳本就會調用我的預先定義好的函數(shù),然后自動跳到下一個action繼續(xù)執(zhí)行腳本,避免出錯并且節(jié)省時間。</p><p>  另一種方式是利用vb自帶的錯誤處理機制:</p><p>  在可能出現(xiàn)問題的語句前邊加上:on error resume next,一

115、旦語句出錯,將跳過該錯誤語句繼續(xù)執(zhí)行,在停止該語句效應范圍處使用on error goto 0或者err.clear來實現(xiàn)結束 “on error resume next”。</p><p>  4.7.7 QTP單擊右鍵完成“Save Target As……”操作</p><p>  Setting.WebPackage("ReplayType") = 2&l

116、t;/p><p>  Browser("Jevon_新浪博客").Page("Jevon_新浪博客").Link("text:=Jevon").Click 0,0,micRightBtn</p><p>  Setting.WebPackage("ReplayType") = 1</p><p&

117、gt;  Set WshShell = CreateObject("WScript.Shell")</p><p>  For i = 1 To 4                    '&quo

118、t;Save target as....."在第四個位置</p><p>  WshShell.sendKeys "{DOWN}"</p><p><b>  Next</b></p><p>  WshShell.sendKeys "{ENTER}"</p><p> 

119、 Set WshShell = nothing</p><p><b>  附錄:</b></p><p>  replaytype1 - Runs mouse operations using browser events.</p><p>  2 - Runs mouse operations using the mouse. 

120、 </p><p>  你的應用應該選擇鼠標模式。</p><p>  0,0是個人用法上的習慣,就是這個對象的左上角的第一個像素位置</p><p>  4.7.8 QTP讀取外部Excel數(shù)據(jù)</p><p>  Dim filepath,rowcount,i</p><p>  filepath = p

121、athfinder.Locate("C:\Users\Jevon\Desktop\TopView.xls")  'Excel path</p><p>  DataTable.AddSheet("resultSheet")           &#

122、160;    'add new sheet to datatable</p><p>  'import outside sheet  data into new sheet in the datatable</p><p>  DataTable.ImportSheet filepath,"Test_Summary&qu

123、ot;,"resultSheet"            </p><p>  rowcount = DataTable.GetSheet("resultSheet").GetRowCount     &#

124、160;         </p><p>  Dim counts,passrate,bound       'define the pass count,passrateand all case count</p>&l

125、t;p>  counts = 0</p><p>  reDim arraydata(rowcount)</p><p>  bound = rowcount-9</p><p>  'msgbox bound</p><p>  For i= 10 to rowcount &#

126、160;               'the tenth row is the first test case result</p><p>  Datatable.SetCurrentRow(i)</p><p>  arraydata(i

溫馨提示

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

評論

0/150

提交評論