軟件測試單元6-自動化測試課件_第1頁
軟件測試單元6-自動化測試課件_第2頁
軟件測試單元6-自動化測試課件_第3頁
軟件測試單元6-自動化測試課件_第4頁
軟件測試單元6-自動化測試課件_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單元6 自動化測試 飛機訂票系統(tǒng)的測試 2學(xué)習(xí)導(dǎo)航學(xué)習(xí)導(dǎo)航引例描述小李被要求今天加班,因為他所參與的項目明天要升級生產(chǎn)環(huán)境,今天必須在測試環(huán)境下先升級,一旦測試不順利,代碼就都要回退,而很多的測試用例,小李已經(jīng)重復(fù)執(zhí)行過很多次了。自動化測試是相對于手工測試而言,把需要重復(fù)執(zhí)行的測試步驟描寫成測試腳本,讓機器去重復(fù)執(zhí)行,從而提高測試效率的測試方式。4本單元任務(wù)分解自動化功能測試入門性能測試入門任務(wù)一任務(wù)二任務(wù)三對飛行訂票系統(tǒng)進行自動化功能測試5單元介紹本單元主要內(nèi)容 軟件測試自動化概念自動化功能測試QTP基本功能測試腳本測試結(jié)果分析性能測試6單元介紹飛機訂票系統(tǒng)是QTP自帶的示例程序,有單機版和

2、Web版兩種。系統(tǒng)的主要功能單機版:登陸,訂票,修改,刪除,查詢等Web版:注冊,登陸,訂票等本模塊主要針對該系統(tǒng)進行自動化功能測試和簡單的性能測試。待測系統(tǒng)說明7單元介紹待測系統(tǒng)界面 飛機訂票系統(tǒng)主界面8任務(wù)一:自動化功能測試入門任務(wù)分析支撐知識任務(wù)實施任務(wù)小結(jié)拓展實訓(xùn)任務(wù)陳述123知識準(zhǔn)備任務(wù)實施任務(wù)陳述45任務(wù)拓展項目實訓(xùn)9任務(wù)簡介任務(wù)1陳述 本任務(wù)介紹了自動化測試的基本概念,通過QTP自帶的飛機訂票系統(tǒng),介紹了QTP基本功能的使用,包括錄制/回放腳本,并進行簡單的測試腳本編輯,運行和調(diào)試測試腳本,并分析測試結(jié)果。10支撐知識知識點列表軟件測試自動化自動化測試工具 QTP測試腳本測試結(jié)果

3、11一、軟件測試自動化定義 軟件自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。通常,在設(shè)計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。12一、軟件測試自動化沒有測試手工測試時間緊可靠性低人力缺乏無法保證一致性無法重復(fù)快速可重復(fù)高覆蓋率高可靠性重用性強自動測試(一) 自動化測試的優(yōu)勢和局限性13一、軟件測試自動化自動化測試的優(yōu)點可靠自動化測試每次運行時都會準(zhǔn)確執(zhí)行相同的操作,因此消除了人為的錯誤 快速自動化測試的運行比實際用戶快得多可重復(fù)可

4、以通過重復(fù)執(zhí)行相同的操作來測試軟件的反應(yīng) 可編程可以編寫復(fù)雜的測試腳本來找出隱藏的信息全面可以建立一套測試來測試軟件的所有功能 可重用可以在不同版本的軟件上重復(fù)使用測試,甚至在用戶界面更改的情況下也不例外(一) 自動化測試的優(yōu)勢和局限性14一、軟件測試自動化自動化測試無法做到:測試用例的設(shè)計界面和用戶體驗的測試正確性的檢查自動化測試永遠無法取代手工測試?。ㄒ唬?自動化測試的優(yōu)勢和局限性15一、軟件測試自動化(二)如何開展自動化測試軟件需求變動不頻繁軟件項目周期比較長自動化測試腳本可重復(fù)使用 另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如性能測試、配置測試、大數(shù)

5、據(jù)量輸入測試等。1.自動化測試的適用條件16一、軟件測試自動化(1) 選擇盡可能少的自動化產(chǎn)品覆蓋盡可能多的平臺,以 降低產(chǎn)品投資和團隊的學(xué)習(xí)成本;(2) 測試流程管理自動化通常應(yīng)該優(yōu)先考慮,以滿足為企業(yè)測試團隊提供流程管理支持的需求;(3) 在投資有限的情況下,性能測試自動化產(chǎn)品將優(yōu)先于功能測試自動化被考慮;(4) 在考慮產(chǎn)品性價比的同時,應(yīng)充分關(guān)注產(chǎn)品的支持服務(wù)和售后服務(wù)的完善性;(5) 盡量選擇趨于主流的產(chǎn)品,以便通過行業(yè)間交流甚至網(wǎng)絡(luò)等方式獲得更為廣泛的經(jīng)驗和支持;(6) 應(yīng)對測試自動化方案的可擴展性提出要求,以滿足企業(yè)不斷發(fā)展的技術(shù)和業(yè)務(wù)需求。(二)如何開展自動化測試2.自動化測試方

6、案的選擇17一、軟件測試自動化要求測試人員會使用工具,掌握測試腳本的設(shè)計和編寫。過早地介入會帶來維護成本的增加。等界面穩(wěn)定后再介入。介入的時機對測試人員的要求(二)如何開展自動化測試3.自動化測試的具體要求18二、自動化測試工具(一)按用途分類測試管理工具QC,TD 自動化功能測試工具Rational Robot,QTP, WinRunner 性能測試工具LoadRunner,WAS,JMeter 單元測試工具XUnit,JTest 白盒測試工具Logiscope 測試用例設(shè)計工具Test case Designer 二、自動化測試工具(二)按收費方式分類1.商業(yè)測試工具:如QTP,LoadR

7、unner。2.開源測試工具:如JUnit,JMeter。3.免費測試工具:如WAS。 20三、QTP QTP的全稱是QuickTest Professional,是 HP公司的企業(yè)級自動化功能測試工具。它提供符合所有主要應(yīng)用軟件環(huán)境的功能測試和回歸測試的自動化。采用關(guān)鍵字驅(qū)動的理念以簡化測試用例的創(chuàng)建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業(yè)的測試者也可以通過提供的內(nèi)置腳本和調(diào)試環(huán)境來取得對測試和對象屬性的完全控制。定義21三、QTP(一)QTP的測試流程準(zhǔn)備錄制錄制應(yīng)用程序上的會話增強測試調(diào)試測試運行測試分析測試結(jié)果報告缺陷22三、QTP(二)QT

8、P的特點 QTP的最大特點是測試腳本與測試對象分離,它提供了專家視圖和關(guān)鍵字視圖兩種視圖,并且提供了三種錄制方式、四個窗口和七個驗證點,并擁有先進的關(guān)鍵字驅(qū)動測試能力和數(shù)據(jù)驅(qū)動測試能力,以及強大的測試腳本開發(fā)能力,被譽為測試人員的“倚天劍” 。23四、測試腳本定義測試腳本(Testing script),一般指的是一個特定測試的一系列指令,這些指令可以被自動化測試工具執(zhí)行。 為了提高測試腳本的可維護性和可復(fù)用性,必須在執(zhí)行測試腳本之前對它們進行構(gòu)建。測試腳本是自動執(zhí)行測試過程(或部分測試過程)的計算機可讀指令。測試腳本可以被創(chuàng)建(記錄)或使用測試自動化工具自動生成,或用編程語言編程來完成,也可

9、綜合前三種方法來完成。測試腳本語言(test scripting language)是腳本語言的一種,準(zhǔn)確地講是腳本語言在測試領(lǐng)域地一個分支,是自動化軟件測試設(shè)計的基礎(chǔ)。常見的測試腳本語言有perl,tcl,vbscript,javascript,pathon等。24五、測試結(jié)果定義測試腳本運行完畢后,會自動顯示結(jié)果樹,結(jié)果樹是按照訪問網(wǎng)頁的時間順序進行組織的。測試結(jié)果概要顯示運行的測試名稱、結(jié)果名稱、運行開始結(jié)束的時間;Itaration(循環(huán)概要)指示通過的循環(huán)和失敗的循環(huán);Status(狀態(tài)概要)指示通過的或失敗的檢查點數(shù)、報告數(shù)、警告數(shù);展開結(jié)果樹,即可查看運行測試過程中每個操作的詳細

10、信息。25任務(wù)實施:一、認識QTP(一)QTP的安裝目錄bin:主要存放可執(zhí)行文件和動態(tài)鏈接庫文件CodeSamplesPlus:存放了一些實例代碼,具有很好的參考價值help:幫助中心,有視頻講解和一些參考幫助信息recovery:存放恢復(fù)文件samples:示例程序,自帶的是飛機訂票系統(tǒng)Addins:插件包Tests:存放安裝路徑的注冊信息dat:存放備份和配置信息26任務(wù)實施:一、熟悉QTP基本功能的使用(一)QTP的主界面27任務(wù)實施:二、飛機訂票系統(tǒng)分析(一)Web版(二)單機版28任務(wù)實施:三、實現(xiàn)對飛機訂票系統(tǒng)錄制測試腳本/運行(一)準(zhǔn)備錄制測試1.確保是 Mercury Tou

11、rs 網(wǎng)站的注冊用戶。2.如果使用IE瀏覽器,將清除用戶名和密碼的“自動完成”選項。3.開始錄制前,請關(guān)閉所有瀏覽器。29任務(wù)實施:三、實現(xiàn)對飛機訂票系統(tǒng)錄制測試腳本/運行(二)錄制測試1.啟動QTP并新建一個測試。2.在“錄制和運行設(shè)置”對話框中進行設(shè)置3.開始錄制,打開Mercury Tours 網(wǎng)站。4.按照通過性測試用例來進行錄制。 5.保存測試。30任務(wù)實施:四、實現(xiàn)對測試結(jié)果的分析(一)左側(cè)窗格顯示結(jié)果樹 (二)右側(cè)窗格顯示測試結(jié)果詳細信息 31任務(wù)實施:五、實現(xiàn)對測試腳本的簡單編輯與調(diào)試(一)在關(guān)鍵字視圖中編輯測試腳本 1.修改調(diào)整腳本。對于錄制的測試腳本,需要進一步修改和調(diào)整,

12、如調(diào)整測試步驟的順序,增加新的步驟或刪除一些步驟,這些工作可以很方便地在關(guān)鍵字視圖(Keyword View)中進行,讀者可自行操作。 在關(guān)鍵字視圖的“Documentation”列的頭部單擊鼠標(biāo)右鍵,選擇“Copy Documentation to Clipboard”,可以導(dǎo)出測試步驟文檔,生成測試用例。32任務(wù)實施:五、實現(xiàn)對測試腳本的簡單編輯與調(diào)試(一)在關(guān)鍵字視圖中編輯測試腳本2.添加注釋 可以手動地為測試步驟添加必要的注釋。方法是:在關(guān)鍵字視圖的表格列頭單擊鼠標(biāo)右鍵,選擇“Comment”,就會多出一列,在這一列中可以為需要詳細說明的步驟添加注釋 33任務(wù)實施:五、實現(xiàn)對測試腳本的

13、簡單編輯與調(diào)試(二)在專家視圖中編輯測試腳本1.強大的VBScript腳本編輯器 在專家視圖中,測試人員可以直接編寫測試腳本代碼,QTP提供的腳本編輯器具有“語法感知”功能,適合有一定編碼技巧的自動化測試人員使用,可以更靈活、快捷、深入地編輯測試腳本。2.對象管理(1)識別對象。(2)對象庫管理34任務(wù)實施:五、實現(xiàn)對測試腳本的簡單編輯與調(diào)試使用斷點: 在專家視圖中,點擊代碼行的左側(cè)灰色部分,即可在本行設(shè)置斷點,然后運行測試腳本,運行過程中會在斷點處停住。單步調(diào)試 停在斷點后,選擇菜單“DebugStep Over”,可跳到下一行代碼繼續(xù)運行。運行整個測試 選擇菜單“ToolsOptions”

14、,彈出運行方式設(shè)置的對話框,可以設(shè)置如腳本回放速度,運行時要否截屏等。(三)調(diào)試運行測試腳本35任務(wù)拓展1. Active ScreenActive Screen是QTP獨有的一個功能,可用于錄制測試腳本后輔助編輯和維護測試腳本。Active Screen既是測試步驟的截圖,可用于直觀地描述測試步驟,也是一個測試對象的信息庫,存儲了測試步驟中測試對象的信息,這些信息可用于添加測試步驟,插入檢查點。36任務(wù)拓展1. Active Screen可以設(shè)置Active Screen捕獲信息的級別。包括4個級別:(1)Complete:捕獲和存儲所有信息,包括每個步驟中應(yīng)用程序的所有激活的窗口、對話框、

15、Web頁面等。(2)Partial:這是默認設(shè)置,捕獲和存儲第一個步驟所執(zhí)行的應(yīng)用程序窗口,以及該窗口下屬的對象屬性。(3)Minimum:僅捕獲和存儲錄制的對象及其父親對象的屬性。(4)None:屏蔽Active Screen捕獲和存儲對象屬性的功能。存儲越多的信息,對于后期編輯測試腳本而言,會更加容易,但是存的信息越多,錄制過程則會越慢,而且需要更多的存儲空間。37任務(wù)拓展2. QTP與其他工具的整合QTP支持與WinRunner、LoadRunner等工具的整合,可以在QTP中調(diào)用WinRunner的測試腳本,可以在LoadRunner中設(shè)計性能場景時加入QTP的測試腳本。另外,QTP還

16、可以和QC結(jié)合起來,建立一個業(yè)務(wù)流程測試框架,該框架可以讓非技術(shù)人員、例如領(lǐng)域?qū)<摇I(yè)務(wù)專家可以在非腳本編程的環(huán)境下通過業(yè)務(wù)組件來構(gòu)建業(yè)務(wù)測試的過程。38項目實訓(xùn) 1. 測試計算器程序 對于計算器程序,用黑盒測試用例設(shè)計方法設(shè)計幾組測試用例,用QTP錄制這幾組測試用例并回放;在關(guān)鍵字視圖中編輯測試腳本,修改調(diào)整測試步驟,為測試步驟添加注釋,并使用斷點、單步調(diào)試等方式調(diào)試測試腳本,并運行部分測試和整個測試腳本,最后分析測試結(jié)果。39任務(wù)二:對飛機訂票系統(tǒng)進行自動化功能測試任務(wù)分析支撐知識任務(wù)實施任務(wù)小結(jié)拓展實訓(xùn)任務(wù)簡介123知識準(zhǔn)備任務(wù)實施任務(wù)陳述45任務(wù)拓展項目實訓(xùn)40任務(wù)陳述任務(wù)2陳述 本任

17、務(wù)介紹了針對飛機訂票系統(tǒng)進行關(guān)鍵字驅(qū)動測試和數(shù)據(jù)驅(qū)動測試。主要包括關(guān)鍵字視圖的使用、關(guān)鍵字驅(qū)動測試方法的使用、各種檢查點的使用,以及對測試腳本進行參數(shù)化,從而進行數(shù)據(jù)驅(qū)動測試,并講解了幾種各種外部數(shù)據(jù)源的使用。41支撐知識知識點列表關(guān)鍵字驅(qū)動測試檢查點數(shù)據(jù)驅(qū)動測試42一、關(guān)鍵字驅(qū)動測試定義 關(guān)鍵字驅(qū)動測試方法(Keyword-driving testing),也叫表格驅(qū)動測試方法,是軟件自動化測試一種方法。關(guān)鍵字驅(qū)動測試把測試腳本的編程工作分離出去,讓沒有編程基礎(chǔ)的人也能開發(fā)自動化測試腳本,減少了測試腳本的維護工作量。43一、關(guān)鍵字驅(qū)動測試(一) 關(guān)鍵字驅(qū)動測試的方法將應(yīng)用程序的GUI對象添加

18、到QTP的對象倉庫對操作的對象設(shè)計測試步驟44一、關(guān)鍵字驅(qū)動測試(二)關(guān)鍵字驅(qū)動測試框架系統(tǒng)功能被文檔化成表格用指令性語句指導(dǎo)測試步驟框架通過解釋表格數(shù)據(jù)和關(guān)鍵字來執(zhí)行測試腳本通過自動化框架,僅需要測試人員開發(fā)表格和關(guān)鍵字45一、關(guān)鍵字驅(qū)動測試(二)關(guān)鍵字驅(qū)動測試框架QTP10.0 的關(guān)鍵字視圖46一、關(guān)鍵字驅(qū)動測試(三)關(guān)鍵字驅(qū)動測試的步驟編輯對象庫選擇測試對象選擇測試對象相應(yīng)的操作設(shè)置測試邏輯47二、檢查點(一)檢查點的類型檢查點類型描述標(biāo)準(zhǔn)檢查點檢查對象的屬性值。圖像檢查點檢查圖像的屬性值。表檢查點檢查表中的信息。頁面檢查點檢查網(wǎng)頁的特性。文本/文本區(qū)域檢查點 檢查文本字符串是否顯示在網(wǎng)

19、頁或應(yīng)用程序窗口中的適當(dāng)位置。位圖檢查點將網(wǎng)頁或應(yīng)用程序的某個區(qū)域捕獲為位圖后對其進行檢查。數(shù)據(jù)庫檢查點檢查應(yīng)用程序或網(wǎng)站所訪問的數(shù)據(jù)庫內(nèi)容。可訪問性檢查點對網(wǎng)站區(qū)域進行識別,以檢查是否符合 W3C標(biāo)準(zhǔn)。XML 檢查點檢查 XML 文檔的數(shù)據(jù)內(nèi)容。二、檢查點48(二)各種檢查點的使用 各種檢查點在具體應(yīng)用程序測試中的使用,在后面的任務(wù)實施中會結(jié)合QTP自帶的飛機訂票系統(tǒng)進行具體的講解。49三、數(shù)據(jù)驅(qū)動測試 所謂數(shù)據(jù)驅(qū)動測試,就是通過參數(shù)化的方式,從數(shù)據(jù)產(chǎn)生器或外部數(shù)據(jù)源讀取測試數(shù)據(jù),從而擴大測試的覆蓋面,提高測試的靈活性。什么時候使用數(shù)據(jù)驅(qū)動測試?步驟如何?定義50三、數(shù)據(jù)驅(qū)動測試(一)數(shù)據(jù)驅(qū)

20、動測試的步驟參數(shù)化測試步驟的數(shù)據(jù),綁定到數(shù)據(jù)表格的某個字段編輯數(shù)據(jù)表格,在表格中編輯多行測試數(shù)據(jù)設(shè)置迭代次數(shù),選擇數(shù)據(jù)行,運行測試腳本每次迭代從中選擇一行數(shù)據(jù)51三、數(shù)據(jù)驅(qū)動測試(二)測試腳本參數(shù)化的方式數(shù)據(jù)表參數(shù)化隨機數(shù)參數(shù)化randomnumber = RandomNumber(0,6)Action的輸入?yún)?shù)化環(huán)境變量參數(shù)化具體演示見任務(wù)實施52三、數(shù)據(jù)驅(qū)動測試(三)其他類型數(shù)據(jù)源的數(shù)據(jù)驅(qū)動測試文本文件Excel文件XML文件數(shù)據(jù)庫表格 具體的實現(xiàn)在后面的任務(wù)實施中詳述53任務(wù)實施:一、實現(xiàn)對飛機訂票系統(tǒng)的關(guān)鍵字驅(qū)動測試(一)編輯對象庫54(二)選擇測試對象以登陸功能為例進行講解。編輯好對

21、象庫后,我們在關(guān)鍵字視圖的Item列單擊鼠標(biāo)左鍵,點選“Login”對象,就會自動完成一個激活登陸窗體的測試步驟的操作,然后我們依次選擇“Agent Name”、 “Password”、“Agent Name”、“OK”三個對象,完成一個登陸測試用例的步驟。任務(wù)實施:一、實現(xiàn)對飛機訂票系統(tǒng)的關(guān)鍵字驅(qū)動測試55(三)選擇測試對象相應(yīng)的操作 在“Operation”列選擇其相應(yīng)的操作,例如按鈕對象單擊選擇“Click”,文本框?qū)ο筮x擇“Set”等。選擇好操作后,QTP會自動在“Documentation”列產(chǎn)生測試步驟說明任務(wù)實施:一、實現(xiàn)對飛機訂票系統(tǒng)的關(guān)鍵字驅(qū)動測試56(四)設(shè)置測試邏輯在關(guān)鍵

22、字視圖中,支持對測試邏輯的設(shè)置,如條件判斷、循環(huán)等以下舉例說明在關(guān)鍵字視圖中,點擊鼠標(biāo)右鍵,選擇菜單Insert Step|Loop Statement|ForNext,添加循環(huán)邏輯在“Value”列中,把To后面的1改為5,讓循環(huán)體內(nèi)的語句執(zhí)行5次,Step后面的1為步長在該循環(huán)語句后面再添加一個測試步驟,在Item列選擇測試對象為“Help”按鈕,在Operation列中選擇操作為“Click”專家視圖中可以看到對應(yīng)的測試腳本代碼任務(wù)實施:一、實現(xiàn)對飛機訂票系統(tǒng)的關(guān)鍵字驅(qū)動測試57任務(wù)實施:二、實現(xiàn)對飛機訂票系統(tǒng)插入各種檢查點(一)添加標(biāo)準(zhǔn)檢查點以flight程序的Login窗體的測試為例

23、選中激活Login窗體的測試步驟,單擊鼠標(biāo)右鍵,選擇“Insert Standard Checkpoint”在Login的屬性列表中,選擇“Enabled”和“text”,選擇“Before current step”,單擊“OK”按鈕運行腳本,如果實際運行結(jié)果與預(yù)期設(shè)定一致,可以得到測試結(jié)果為“Passed”運行腳本,可以得到如圖6.20所示的測試結(jié)果。如果實際運行結(jié)果與預(yù)期設(shè)定一致,可以得到測試結(jié)果為“Passed”58任務(wù)實施:二、實現(xiàn)對飛機訂票系統(tǒng)插入各種檢查點(二)添加位圖檢查點以Web版的飛機訂票系統(tǒng)為例通過菜單“Insert|CheckPoint|Bitmap CheckPoin

24、t”來選擇需要作為位圖檢查的對象59(三)添加文本檢查點 文本檢查點可以檢查特定的文本是否在界面上顯示,在錄制過程中,選擇菜單“Insert|Checkpoint|Text Checkpoint”,然后指向界面上的文字對象,如指向“Mercury Tours Site”主界面右邊用戶名輸入框前面的文字“User Name”,這個檢查點就將檢查“User Name”是否出現(xiàn)在“airlines”和“Password”之間, “OK”后,同樣在關(guān)鍵字視圖中可以看到,文本檢查點已經(jīng)添加到測試步驟中,運行腳本可以看到結(jié)果。任務(wù)實施:二、實現(xiàn)對飛機訂票系統(tǒng)插入各種檢查點60任務(wù)實施:三、實現(xiàn)對飛機訂票系

25、統(tǒng)的數(shù)據(jù)驅(qū)動測試(一)參數(shù)化測試腳本選擇“Agent Name”所在測試行的“Value”列所在的單元格,點擊單元格旁邊的“”按鈕,在右圖界面中,選擇parameter,在下拉框選擇Data Table,在Name中輸入?yún)?shù)名,選擇Global sheet。61任務(wù)實施:三、實現(xiàn)對飛機訂票系統(tǒng)的數(shù)據(jù)驅(qū)動測試(一)參數(shù)化測試腳本點擊“OK”后,可以在關(guān)鍵字視圖中看到,“Value”值已經(jīng)被參數(shù)化了,換成了“DataTable(name, dtGlobalSheet)” 選擇菜單“View|Data Table”,輸入你設(shè)計的“name”參數(shù)的若干值運行腳本,QTP會從數(shù)據(jù)表格中依次提取數(shù)據(jù)來對登

26、錄界面中的“Agent name”輸入進行參數(shù)化62任務(wù)實施:三、實現(xiàn)對飛機訂票系統(tǒng)的數(shù)據(jù)驅(qū)動測試(二)Action重用 對于重復(fù)使用的測試用例,可以轉(zhuǎn)換成公共用例,經(jīng)過參數(shù)化后,可被其他測試用例調(diào)用。 如“Flight”程序中的登錄模塊的測試步驟是執(zhí)行其他測試都必須經(jīng)過的,因此可將其作為一個可重用的Action。63任務(wù)實施:三、實現(xiàn)對飛機訂票系統(tǒng)的數(shù)據(jù)驅(qū)動測試(三)外部數(shù)據(jù)源的數(shù)據(jù)驅(qū)動測試文本文件作為數(shù)據(jù)源Excel文件作為數(shù)據(jù)源XML文件作為數(shù)據(jù)源數(shù)據(jù)庫表格作為數(shù)據(jù)源64任務(wù)拓展1. 數(shù)據(jù)庫表作為外部數(shù)據(jù)源在QTP中還可以通過ADO來連接數(shù)據(jù)庫,這個操作要求實現(xiàn)配置好ODBC數(shù)據(jù)源文件,

27、把測試的數(shù)據(jù)存入相應(yīng)的數(shù)據(jù)庫表中,通過ADO連接Mysql數(shù)據(jù)庫,讀取數(shù)據(jù)庫中數(shù)據(jù)表中的數(shù)據(jù),作為flight程序登錄的測試數(shù)據(jù)。通過ADO可以連接各種數(shù)據(jù)庫,只要指定好連接串的格式就可以。65任務(wù)拓展2. 描述性編程錄制方式的測試腳本創(chuàng)建是最簡單和快捷的測試腳本開發(fā)方式,但是它帶來的問題也是很明顯的,就是依賴測試對象庫,測試腳本中使用的對象都必須是測試對象庫中的對象。而在測試過程中,有些界面元素是動態(tài)出現(xiàn)或動態(tài)變化的,在錄制時,并沒有被添加到對象庫中,如何讓這些測試運行時動態(tài)出現(xiàn)的界面元素得到控制呢?QTP提供了描述性編程的方式來解決這些問題。66項目實訓(xùn)1. 測試騰訊微博對騰訊微博系統(tǒng),選

28、擇登陸模塊,把待測對象添加到對象庫,然后用關(guān)鍵字驅(qū)動測試的方法設(shè)計測試腳本,并運行。對騰訊微博系統(tǒng),插入各種檢查點,包括標(biāo)準(zhǔn)檢查點、文本檢查點、位圖檢查點、頁面檢查點等,來增強腳本的判斷能力,并運行腳本,分析測試結(jié)果。 對騰訊微博系統(tǒng)的登陸和發(fā)微博功能,進行數(shù)據(jù)驅(qū)動測試,用本地數(shù)據(jù)源和外部數(shù)據(jù)源兩種方法實現(xiàn)。67任務(wù)三:性能測試入門任務(wù)分析支撐知識任務(wù)實施任務(wù)小結(jié)拓展實訓(xùn)任務(wù)簡介123知識準(zhǔn)備任務(wù)實施任務(wù)陳述45任務(wù)拓展項目實訓(xùn)68任務(wù)陳述任務(wù)3 陳述 本任務(wù)介紹了性能測試的基本概念,從用戶、軟件開發(fā)人員的角度來評價一個軟件性能的指標(biāo),性能測試的具體分類,并且結(jié)合實例分析了如何開展性能測試。6

29、9支撐知識知識點列表負載測試壓力測試負載壓力測試70一、負載測試定義 負載測試(Load testing),通過測試系統(tǒng)在資源超負荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計上的錯誤或驗證系統(tǒng)的負載能力。在這種測試中,將使測試對象承擔(dān)不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續(xù)正常運行的能力。71一、負載測試負載測試的目的 負載測試是模擬實際軟件系統(tǒng)所承受的負載條件的系統(tǒng)負荷,通過不斷加載(如逐漸增加模擬用戶的數(shù)量)或其它加載方式來觀察不同負載下系統(tǒng)的響應(yīng)時間和數(shù)據(jù)吞吐量、系統(tǒng)占用的資源(如CPU、內(nèi)存)等,以檢驗系統(tǒng)的行為和特性,以發(fā)現(xiàn)系統(tǒng)可能存在的性能瓶頸、內(nèi)存泄漏、不能實時同步

30、等問題。72二、壓力測試定義 壓力測試是在強負載(大數(shù)據(jù)量、大量并發(fā)用戶等)下的測試,查看應(yīng)用系統(tǒng)在峰值使用情況下操作行為,從而有效地發(fā)現(xiàn)系統(tǒng)的某項功能隱患、系統(tǒng)是否具有良好的容錯能力和可恢復(fù)能力。 壓力測試分為高負載下的長時間(如24小時以上)的穩(wěn)定性壓力測試和極限負載情況下導(dǎo)致系統(tǒng)崩潰的破壞性壓力測試。73二、壓力測試 壓力測試是確定一個系統(tǒng)的性能瓶頸,來獲得系統(tǒng)能提供的最大的服務(wù)級別。通俗地講,壓力測試是發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受。如:業(yè)務(wù)執(zhí)行成功率業(yè)務(wù)執(zhí)行吞吐量業(yè)務(wù)執(zhí)行響應(yīng)時間系統(tǒng)運行可靠性壓力測試的目的74三、負載壓力測試定義 負載壓力測試是在一定約束條件下測試系統(tǒng)所能承

31、受的并發(fā)用戶量、運行時間、數(shù)據(jù)量,以確定系統(tǒng)所能承受的最大負載壓力。75三、負載壓力測試負載壓力測試的目的檢測系統(tǒng)性能是否滿足用戶當(dāng)前需求預(yù)見系統(tǒng)性能是否滿足業(yè)務(wù)擴容需求幫助廠商或用戶定位系統(tǒng)故障以及優(yōu)化系統(tǒng)76三、負載壓力測試負載壓力測試的特點自動化優(yōu)勢分析快速比手工操作絕對快可靠精確地執(zhí)行相同的操作,可以排除手工操作錯誤可重復(fù)測試相同操作重復(fù)執(zhí)行時軟件如何響應(yīng)可編程可以編程得到應(yīng)用系統(tǒng)的隱藏信息可重用針對不同版本,測試腳本可重復(fù)使用綜合測試覆蓋應(yīng)用系統(tǒng)的一套綜合測試方案77三、負載壓力測試負載壓力測試的機理 負載壓力測試實現(xiàn)的機理是在一臺或幾臺PC機上模擬成百上千的虛擬用戶,從而實現(xiàn)模擬真

32、實負載壓力的過程78三、負載壓力測試負載壓力測試的策略 利用手工測試 利用自動化負載壓力測試工具(趨勢)商業(yè)化測試工具LoadRunner、QALoad開源資源測試工具JMeter、OpenSTA自主開發(fā)工具測試79三、負載壓力測試負載壓力測試解決方案并發(fā)性能測試疲勞強度測試大數(shù)據(jù)量測試80三、負載壓力測試負載壓力測試指標(biāo)客戶端交易處理性能指標(biāo)服務(wù)器資源監(jiān)控指標(biāo)數(shù)據(jù)庫資源監(jiān)控指標(biāo)Web服務(wù)器監(jiān)控指標(biāo)中間件監(jiān)控指標(biāo)81任務(wù)實施:一、測試需求分析(一)性能測試需求的原則性能測試需求在用戶需求中描述測試用例必須覆蓋所有測試需求 在性能測試中,常常符合一個“8020”原理,也就是80%的業(yè)務(wù)會在20%

33、的時間內(nèi)完成82任務(wù)實施:一、測試需求分析(一)性能測試用例提取典型交易提取交易混合分析用戶操作分析83任務(wù)實施:二、測試方案制定(一)測試方案制定的原則有效性:可以發(fā)現(xiàn)缺陷可重用性:可以重復(fù)使用,保證測試的一致性可維護性:當(dāng)測試環(huán)境和數(shù)據(jù)發(fā)生變化后,經(jīng)過維護,可繼續(xù)使用84任務(wù)實施:二、測試方案制定(二)測試方案的內(nèi)容測試策略測試案例(核心)測試進度測試環(huán)境測試質(zhì)量保證計劃測試風(fēng)險控制技術(shù)(三)制定測試方案85任務(wù)實施:三、測試環(huán)境、工具、數(shù)據(jù)準(zhǔn)備(一)測試環(huán)境準(zhǔn)備測試環(huán)境的基本原則負載壓力測試的測試環(huán)境測試環(huán)境配置良好的測試環(huán)境標(biāo)準(zhǔn)86任務(wù)實施:三、測試環(huán)境、工具、數(shù)據(jù)準(zhǔn)備(二)測試工具準(zhǔn)備參考前面性能測試工

溫馨提示

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

評論

0/150

提交評論