自動化軟件測試工具WinRunner的運用_第1頁
自動化軟件測試工具WinRunner的運用_第2頁
自動化軟件測試工具WinRunner的運用_第3頁
自動化軟件測試工具WinRunner的運用_第4頁
自動化軟件測試工具WinRunner的運用_第5頁
已閱讀5頁,還剩213頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試技術第五章軟件自動化測試自動化軟件測試工具 WinRunner的運用12本章要點軟件自動化測試基礎自動化測試工具主流自動化軟件測試工具簡介iolo Macro Magic簡介WinRunner簡介35.1 軟件自動化測試基礎自動化測試的產(chǎn)生自動化測試的定義自動化測試的優(yōu)勢4企業(yè)的問題在開發(fā)新的應用程序軟件的激烈競賽中,企業(yè)所面臨的壓力越來越大,一方面需要在更短時間內(nèi)開發(fā)出更高質量的產(chǎn)品,另一方面為保證軟件質量又必須安排相當?shù)臅r間進行測試,即我們稱之為“軟件開發(fā)矛盾”的兩難境地。過去,企業(yè)通常以質量為代價或推遲開發(fā)某些新功能,來滿足產(chǎn)品的面市期限。如今,這些企業(yè)認識到:要想生存,就必須在

2、第一時間內(nèi)既快又好地開發(fā)出應用程序。也就是說,開發(fā)團隊中的每位成員都必須以保證產(chǎn)品質量為己任,因此,軟件測試必須自動化。通過自己開發(fā)或購買合適的測試工具,以滿足特定的測試需求,無論是軟件的功能測試,還是性能測試,絕大多數(shù)測試工作都可以通過自動化測試工具來完成。5工具和自動化測試的產(chǎn)生用戶對產(chǎn)品的要求質量用戶希望軟件產(chǎn)品能滿足其業(yè)務的所有需求時間短期現(xiàn)實狀況開發(fā)人員與測試人員的比例失調測試人員的技術水平不高6計算機執(zhí)行測試測試的許多操作是重復性的、非智力創(chuàng)造性的,要求準確細致的工作。測試自動化目的著重于發(fā)現(xiàn)舊的軟件故障;手工測試的目的在于發(fā)現(xiàn)新的軟件故障;自動化測試大大減輕手工測試的工作量,從而

3、可提高軟件質量。 提示:軟件測試工具不能代替軟件測試員它們只能幫助軟件測試員更好地工作。7自動化測試的定義各種測試活動的管理與實施,包括測試腳本的開發(fā)與執(zhí)行,均使用一種自動化測試工具來驗證實際的測試結果是否滿足測試的需求。8工具和自動化測試的優(yōu)勢速度:以手工方式每5秒執(zhí)行一個Windows計算器的測試用例(用例總數(shù)可能為數(shù)千個),試想總的執(zhí)行時間為多長?效率:自動化測試工具能夠將測試員從繁復的測試用例執(zhí)行過程解放出來,使其從事更有意義的工作(例如修訂測試計劃、增加測試用例等);9準確度和精確度:測試員在嘗試幾百個測試用例后,難免注意力分散。測試工具則可以保持前后一致地執(zhí)行每一次測試;堅持不懈:

4、自動化測試工具永遠不會因為疲憊而半途而廢。工具和自動化測試的優(yōu)勢(續(xù))10自動化的必要性回歸測試每次當程序發(fā)生變更時,就需要進行回歸測試;如果程序上次通過了回歸測試,并且改動很小,看起來這次也應該通過;簡單重復的單調的回歸測試,無法調動測試員的興趣,也似乎是浪費時間的罪魁禍首。有些測試過程無法由人工完成對底層通訊協(xié)議的測試、 對I/O性能的測試、對服務程序支持的并發(fā)交易量的測試、并發(fā)用戶測試、大數(shù)據(jù)量測試、長時間運行可靠性測試等等,依靠手工無法完成;11自動化的可能性每次使用的測試用例集都相同;測試流程相對固定;通過編寫一些測試腳本,可以實現(xiàn)自動化的軟件系統(tǒng)生成(system build)、測

5、試用例運行、運行結果收集、運行結果處理和測試報告生成;12 必要性 可能性 必然性測試人員項目持續(xù)時間 測試人員100%50%0%完成比率代碼實現(xiàn)消除缺陷質量問題延遲上市維護的費用1x 10 x 100 x 傳統(tǒng)的測試13項目持續(xù)時間 100%50%0%完成比率消除缺陷消除缺陷保證軟件質量縮短上市時間傳統(tǒng)的測試改進14風險代碼完成可靠性功能應用性能系統(tǒng)性能風險越早測試越好自動的測試 傳統(tǒng)的測試是在代碼實現(xiàn)之后進行 傳統(tǒng)的測試1516 軟件開發(fā)和測試不能既做運動員又作裁判員。第三方測試是不可缺的;軟件測試工具和自動化與測試人員相比,顯得前者更優(yōu)秀。 17在ISO9000-3實施指南中的節(jié)有關于“

6、檢驗、測量實驗設備的控制”的要求(原文是Control of inspection, measuring and test equipment)。應如何理解這一節(jié)的要求? 我們知道,在傳統(tǒng)的制造業(yè)中計量設備、化驗設備在生產(chǎn)過程中對質量控制是至關重要的。如果千分尺、天平、實驗爐的溫度計不準,它所引起的后果可想而知。因此必須規(guī)定對這些設備的控制、校準和維修的辦法,并建立文件化程序。對于軟件企業(yè)呢,這里應該指的是軟件測試工具的控制。5.2 測試工具概述18、什么是軟件測試工具?軟件測試是軟件開發(fā)的重要階段,往往投入 成本的4060。 軟件測試工具是一種測試軟件,測試人員借 助它來提高軟件測試工作的效

7、率。 目前國內(nèi)軟件企業(yè)采用軟件測試工具還不夠普遍。19 2、軟件測試工具的分類 按工作方式分: 靜態(tài)分析工具 動態(tài)測試工具 按工具功能分: 測試計劃工具:支持制訂測試計劃 測試設計與開發(fā)工具:支持測試數(shù)據(jù)生成,測試問題的 捕捉與重演 測試執(zhí)行工具:支持特定的測試方法、支持回歸測試 測試評估工具:報告測試覆蓋情況 測試管理工具:協(xié)助進行測試的組織工作 其它輔助工具:如數(shù)據(jù)比較、模擬運行20 3、如何控制 自行開發(fā)的測試工具待成熟才可投入使用采購產(chǎn)品的選擇:優(yōu)秀的、名牌的 使用前充分檢測21白盒測試工具靜態(tài)測試工具代碼審查一致性檢查錯誤檢查接口分析輸入輸出規(guī)格說明分析檢查數(shù)據(jù)流分析類型分析單元分析

8、復雜度分析22白盒測試工具動態(tài)測試工具功能確認與接口測試覆蓋分析性能測試內(nèi)存分析23黑盒測試工具功能測試工具檢測程序是否達到預期的功能并正常運行。性能測試工具確定軟件和系統(tǒng)的性能常用的黑盒測試工具有Rational公司的TeamTest、Compuware公司的QACenter(QARun、QALoad、Eco Tools、Eco Scope)測試工具詳情24測試設計與開發(fā)工具測試設計:說明測試待測試軟件特征或特征組合的方法,并確定選擇相關測試用例的過程。工具類型:測試數(shù)據(jù)生成器(Parasoft C+ test)給予需求的測試設計工具捕獲/回放覆蓋分析25測試執(zhí)行和評估工具測試執(zhí)行和評估:執(zhí)

9、行測試用例并對測試結構進行評估的過程;評估類工具對執(zhí)行測試用例和評估測試結果起輔助作用。工具類型捕捉/回放覆蓋分析存儲器測試26測試管理工具測試管理工具:對測試進行管理,幫助制定完成測試計劃,跟蹤測試運行結果。通常管理工具對測試計劃、測試用例、測試實施和缺陷跟蹤進行管理。測試用例管理缺陷跟蹤管理配置管理如:Rational公司的Test Manager MI 公司的Test Director 27 5.3 主流自動化軟件測試工具簡介 Rational Suite TestStudio Rational Suite Enterprise的系統(tǒng)測試工具組, 提供了針對可靠性測試, 功能測試, 分布

10、式功能測試, 單元測試和C/S的調用測試, 網(wǎng)頁應用測試和ERP應用測試的自動化解決方案. 提供了一個同開發(fā)無縫集成的測試過程, 軟件配置管理和測試管理方面的支持,提高了測試質量和最終的產(chǎn)品質量。28 包含以下工具:功能測試和回歸測試工具Rational Robot針對WEB, ERP 和C/S 進行功能自動化測試的工具;執(zhí)行完整的功能測試。記錄和回放遍歷應用程序的腳本,以及測試在查證點(verification points)處的對象狀態(tài)。測試IDE下Visual Basic、Oracle Forms、Power Builder、HTML、Java開發(fā)的應用程序。甚至可測試用戶界面上不可見對

11、象; 29可以識別和記錄以及重復測試各種應用程序中的對象;跟蹤, 報告和圖形化測試進程的信息; 檢測以及修改網(wǎng)站的各個元素的問題;在記錄的時候檢查和修改測試腳本;對于多重平臺使用同樣測試腳本;面向對象的工具,可以創(chuàng)建, 修改和實現(xiàn)自動化 Rational TestManager 和Rational SiteCheck包含于Rational Robot;執(zhí)行完整的性能測試。Robot和Test Manager協(xié)作可以記錄和回放腳本,這些腳本有助于你斷定多客戶系統(tǒng)在不同負載情況下是否能夠按照用戶定義標準運行。 30Rational Robot可開發(fā)三種測試腳本支持“GUI”方式腳本錄制,專門用于錄

12、制用戶界面上的各種操作。非常適合于對GUI軟件進行功能測試。 支持“VU”方式腳本錄制(Session Script ),專用于錄制應用程序間的各種通訊協(xié)議,比如Socket協(xié)議、ODBC協(xié)議、HTTP協(xié)議、IIOP協(xié)議等等。除了可以對涉及數(shù)據(jù)通訊的軟件進行功能測試以外,顯然更適合于各類軟件的性能測試。VB腳本31VU和GUI腳本的異同 方面GUI腳本VU腳本并發(fā)性在一臺計算機上同時只能執(zhí)行一個GUI腳本。在一臺計算機上同時可以執(zhí)行多個VU腳本。語言包括對GUI對象的鍵盤敲擊以及鼠標點擊行為,腳本用SQA Basic語言寫成。包括客戶端發(fā)送到服務器的要求,腳本用VU語言寫成。測試領域用于功能測

13、試和性能測試。通常用于加入用戶負載的性能測試,例如:測試不同負載下服務器響應時間。查證點可以包括查證點,用于比較記錄回放時捕獲的信息。不支持查證點。執(zhí)行既可在Robot中執(zhí)行,也可以作為Test Manager Suite的一部分執(zhí)行。作為Test Manager Suite的部分執(zhí)行。32需求管理工具Rational RequisitePro.可靠性測試自動化測試工具Rational TestFactory.需求變更與缺陷管理系統(tǒng)Rational ClearQuest.測試管理工具Rational TestManager從一個獨立的,全局的角度對于各種測試活動進行管理和控制. 提高團隊生產(chǎn)力

14、;從測試計劃、測試設計、測試實現(xiàn)、測試執(zhí)行、 結果分析各個方面進行測試管理。33調用和功能測試Rational TeamTest提供了功能, 分布式功能, 衰減, 客戶/服務器應用調用, 網(wǎng)頁和ERP應用的自動化測試解決方案. 通過跟蹤和測試管理可以降低團隊開發(fā)和配置的風險.運行時分析Rational PurifyPlus對于開發(fā)期間的單元測試實現(xiàn)了自動化, 確保了可靠性, 高性能和高質量. 包括三個獨立工具:Rational Purify定位內(nèi)存泄漏和運行時錯誤Rational Quantify尋找性能瓶頸Rational PureCoverage表示了未測試代碼和提供代碼覆蓋分析34Com

15、puware NuMega DevPartner Studio 白盒測試工具,主要是用于代碼開發(fā)階段,檢查應用的可靠性和穩(wěn)定性。它提供了先進的錯誤檢查和調試解決方案,充分地改善生產(chǎn)力和開發(fā)團隊的軟件開發(fā)質量 ; 產(chǎn)品主要有自動錯誤檢測、性能分析、代碼覆蓋分析等功能,分別用于捕獲、定位錯誤,抽取代碼執(zhí)行頻度,以及抽取代碼覆蓋率等數(shù)據(jù),產(chǎn)品包括 :35 BoundsChecker 通過對被測應用程序的操作,提供清晰的、詳細的程序錯誤分析,自動查明靜態(tài)的堆棧錯誤及內(nèi)存/資源泄漏,并能夠迅速的定位出錯的源代碼,即使在沒有源代碼的情況下也可檢查第三方組件的錯誤。錯誤檢測范圍主要包括指針和泄漏錯誤 、內(nèi)存

16、錯誤 、API錯誤。 TrueCoverage 列出程序每次運行中所有函數(shù)被調用次數(shù)、所占比率等,并可以直接定位到源代碼支持的語言C+, JAVA ,VB,主機平臺NT, 95/98 36 TrueTime 提供程序每次運行中函數(shù)的調用時間,提供詳細的應用程序和組件性能的分析,并自動定位到運行緩慢的代碼。這樣就能幫助程序員盡快地調整應用程序的性能;支持的語言C+, JAVA ,VB,主機平臺NT, 95/98 SmartCheck 檢測所有的Windows API函數(shù)調用、內(nèi)存分配以及其它一些重要的程序錯誤 ,包括泄漏、接口方法失敗、存儲錯誤、程序和函數(shù)失敗和Visual Basic的Runt

17、ime錯誤等; 支持的語言VB,主機平臺NT, 95/98 :37 FailSafe 對程序插入額外的代碼進行插裝,當程序執(zhí)行時,通過這些插裝的代碼捕獲、記錄執(zhí)行時程序和系統(tǒng)的重要信息,直接指出錯誤發(fā)生時程序和系統(tǒng)的狀態(tài);支持的語言VB,主機平臺NT, 95/98 CodeReview 最好的自動源代碼分析工具,對應用程序的組件、邏輯、Windows和VB自身潛在的數(shù)百個問題進行嚴格地源代碼檢查; 支持的語言VB,主機平臺NT, 95/9838 JCheck 功能強大的Java Applet或Application圖形化的線程和事件分析工具,提供了一個生動的圖形化的方法來表現(xiàn)程序的線程的狀態(tài)信

18、息以及和Windows線程、同步對象、線程組等的交互作用信息,使開發(fā)人員能夠直觀地分析,確定runtime錯誤,對執(zhí)行和邏輯錯誤進行分析,立刻發(fā)現(xiàn)線程問題如死鎖、活鎖、資源缺乏和系統(tǒng)失敗,診斷線程同步和時間選擇問題,分析程序執(zhí)行流程;而后JCheck對于那些錯誤可以定位和顯示詳細的信息并能定位到源代碼; 支持的語言MVJ,主機平臺NT, 95/98 39Telelogic Logiscope簡介40 嵌入式軟件測試工具集。貫穿于軟件開發(fā)、代碼評審、單元/集成測試、系統(tǒng)測試、以及軟件維護階段,重點是幫助代碼評審和動態(tài)覆蓋測試; 采用基于國際間使用的度量方法(Halstead、McCabe等)的質

19、量模型,以及從多家公司收集的編程規(guī)則集,可以從軟件的編程規(guī)則,靜態(tài)特征和動態(tài)測試覆蓋等多個方面,量化地定義質量模型,并檢查、評估軟件質量。Logiscope簡介411.RuleChecker自定義的代碼規(guī)則走查系統(tǒng)預定義了50 個的編程規(guī)則:名稱約定(如:局部變量用小寫等);表示約定(如:每行一條指令); 限制(如:不能用GOTO 語句,不能修改循環(huán)體中的計數(shù)器等)。用戶可以規(guī)則中選擇,也可以用腳本和編程語言定義新的規(guī)則。用于開發(fā)階段對源代碼進行驗證 42 2.TestChecker動態(tài)測試模塊 提供對指令塊(IB)、判定路徑(DDP)和調用路徑(PPP)覆蓋測試。此外對安全-關鍵軟件還提供了

20、MC/DC 的覆蓋測試。 第一個提供MC/DC(Modified Condition/Decision Coverage)測試的工具。 產(chǎn)生每個測試的測試覆蓋信息和累計信息。用直方圖顯示覆蓋比率,并根據(jù)測試運行情況實時在線更改。隨時顯示新的測試所反映的測試覆蓋情況。 允許所有的測試運行依據(jù)其有效性進行管理。用戶可以減少那些用于非回歸測試的測試。 43TestChecker覆蓋測試過程(交叉開發(fā)環(huán)境)44TestChecker與覆蓋測試TestChecker & TcGateWay TcGateWay 接收插裝后程序執(zhí)行時傳送的路徑信息TestChecker 統(tǒng)計覆蓋率并顯示覆蓋路徑45 AMC

21、 CODETEST嵌入式軟件在線測試與分析工具 硬件輔助軟件的測試與分析工具 ;吸取了純軟件的測試工具采用的軟件打點技術,并對這種技術進行了改善。純軟件測試在被測代碼中插入一些函數(shù)(插樁函數(shù)),用這些函數(shù)來完成數(shù)據(jù)的生成,并上送數(shù)據(jù)到目標系統(tǒng)的共享內(nèi)存中。同時在目標系統(tǒng)中運行一個預處理任務(Monitor),將處理后的數(shù)據(jù)通過目標機的網(wǎng)口或串口上送到主機平臺,這些代碼會對系統(tǒng)的運行效率有很大的影響(超過50%)。CodeTEST插入的是一條賦值語句, 它在匯編級也是一條語句,所以它執(zhí)行的時間非常短,同時避免了被其它的中斷所中斷,所以它對目標系統(tǒng)的影響非常小(1%-15%); 46從純硬件的測試

22、工具那里吸取了從總線捕獲數(shù)據(jù)的技術并且對它進行了改善,CodeTEST不再是采樣的方式,它是通過監(jiān)視系統(tǒng)總線,當程序運行到插入的特殊的點的時候才會主動的到數(shù)據(jù)總線上把數(shù)據(jù)捕獲回來,借此,在同樣的處理能力下,CodeTEST可以做到精確的數(shù)據(jù)觀察; 強大的性能分析:能同時對32000個函數(shù)和1000個任務進行性能分析,可以精確的得出每個函數(shù)或任務執(zhí)行的最大時間、最小時間和平均時間,精確度達到50ns;能夠精確的顯示各函數(shù)或任務之間的調用情況,幫助發(fā)現(xiàn)系統(tǒng)瓶頸、優(yōu)化系統(tǒng)和提升系統(tǒng)性能。47強大的覆蓋率分析:可以在系統(tǒng)真實的環(huán)境下,從單元級、集成級、系統(tǒng)級以及產(chǎn)品終端現(xiàn)場階段進行嵌入式軟件的分析與測

23、試。幫助測試工程師掌握當前的測試覆蓋率數(shù)據(jù),指導測試用例的編寫。 強大的內(nèi)存分析:可以動態(tài)追蹤內(nèi)存分配,報告內(nèi)存出錯和相應的原始數(shù)據(jù)。不僅可以在程序運行時報告為每條語句分配多少字節(jié)的內(nèi)存,而且可以鑒別20多種內(nèi)存分配的錯誤。例如:CodeTEST可以捕捉“釋放空指針(freeing a null pointer)”一樣常見的程序錯誤,報告發(fā)生錯誤的函數(shù)和代碼行,幫助盡早發(fā)現(xiàn)動態(tài)內(nèi)存泄漏,而無需到系統(tǒng)崩潰時。48強大的代碼跟蹤分析:提供400K的追蹤緩沖空間,能追蹤150萬行的源代碼??梢栽O置觸發(fā)器來追蹤自己感興趣的事件,可以顯示運行過程中程序運行的實際情況,幫助查找程序的BUG所在。 49 C

24、odeTEST對軟件分析測試功能的實現(xiàn)原理 50 ParaSoft系列工具 Insure+自動化內(nèi)存檢查及變異測試系統(tǒng) 當前最先進的自動運行時調試工具,使用源碼加工專利技術,自動檢測大多數(shù)C/C+錯誤,包括大量算法和運行時錯誤。在整個編程階段使用能有效減少調試工作量。 實時顯示內(nèi)存的動態(tài)分配和釋放過程,并提供多種形式的動畫數(shù)據(jù)顯示,幫助進一步發(fā)現(xiàn)內(nèi)存使用上的問題,并真正掌握實際的內(nèi)存操作模式,從而優(yōu)化內(nèi)存使用。針對C/C+應用的運行時錯誤自動檢測工具,發(fā)現(xiàn)諸如內(nèi)存破壞、內(nèi)存泄漏、指針錯誤和I/O錯誤等大量問題。 徹底檢查和測試代碼,報告錯誤并指出其準確的位置。執(zhí)行覆蓋率分析,清楚地指出那些代碼

25、已經(jīng)被測試過;以及幫助內(nèi)存優(yōu)化,實時顯示程序如何使用內(nèi)存。 51 CodeWizard自定義的代碼規(guī)則走查系統(tǒng) 自動執(zhí)行編程標準,在第一時間或第一地點防止錯誤的發(fā)生。包含70多條編程標準,并允許擴充加入自己的編程標準。基于C/C+專家的編程經(jīng)驗的源碼自動分析工具。52C+Test主機平臺軟件自動化單元測試系統(tǒng)自動化C/C+單元測試過程,支持嵌入式系統(tǒng)和設備驅動程序測試。自動建立測試執(zhí)行程序和所有的調用代碼以及測試用例。適用于任何開發(fā)生命周期。 自動測試任何C/C+類、函數(shù)或部件 自動測試代碼構造(白盒測試) 自動測試代碼的功能性(黑盒測試) 自動維護代碼的完整性(回歸測試)53.TEST代碼分

26、析和動態(tài)測試 .TEST是專為.NET開發(fā)而推出的使用方便的自動化單元級測試與靜態(tài)分析工具。使用超過200條的工業(yè)標準代碼規(guī)則對所寫代碼自動執(zhí)行靜態(tài)分析。這些規(guī)則應用.NET工業(yè)專家深入、全面的編程知識到你的代碼當中,迅速、徹底地防止錯誤的出現(xiàn)。自動測試代碼構造與功能。 .TEST非常智能。能提取剛完成的代碼,對其進行讀取,并提出如何對這些代碼進行單元測試,不需要任何的人為干涉。所有由.TEST產(chǎn)生的單元測試都是可以用戶自定義的。通過自動衰減測試自動地維持代碼完整性。可用于任何Microsoft .NET框架的語言,如:等 54VectorCAST嵌入式軟件自動化單元級測試 美國Vector

27、Software, Inc ()產(chǎn)品,專門面向單元測試的工具,能夠完全自動的完成測試的所有方面,能減少測試的時間、成本和麻煩。它主要有以下功能:環(huán)境構造器(Environment Generator) ,自動產(chǎn)生一個可執(zhí)行的測試激勵環(huán)境(或外殼程序的)的代碼,包括必須的輸入和輸出驅動 測試用例產(chǎn)生器 (Test Case Generator) ,允許用戶通過對提示的回答來產(chǎn)生測試用例 執(zhí)行管理器(Execution Manager),全自動的控制測試用例的執(zhí)行,并自動的實時捕獲結果 在線測試報告產(chǎn)生器 (Test Report Generator) 55Jtest自動化的Java單元測試工具自

28、動設計和執(zhí)行黑盒(功能性)、白盒(構造)和回歸測試自動執(zhí)行超過240條業(yè)界推薦的編程標準 自動建立測試驅動和樁調用即時測試編寫的每一個類 提供可以增加用戶定義的測試用例和樁調用的框架提供可以建立和執(zhí)行定制編程標準的框架 跟蹤項目指標的變化支持短周期開發(fā)過程 防止簡單錯誤變成更復雜的問題 56代碼覆蓋率(Code Coverage)提供語句覆蓋(Statement);判定覆蓋(Decision);修正條件覆蓋(Modified Condition/Decision)靜態(tài)分析(Static Analysis Tools ) 提供McCabe 圈復雜度分析和基本路徑分析。 575.4 iolo Ma

29、cro Magic簡介 Macro Magic是 iolo technologies 出品的一個優(yōu)秀的Windows宏記錄管理軟件;除了可象中的宏記錄器那樣簡單地記錄并重復用戶所做操作之外,還向廣大用戶提供了許多額外的功能??梢钥鋸埖卣f:“只要用戶能夠完成的任務,Macro Magic都可以完成”。58Macro錄制和回放課堂演示:先錄制一段宏(比如:用畫圖軟件畫一副畫并保存),再回放該宏。宏(Macro)錄制和回放是自動執(zhí)行簡單測試任務的流行方式,同時也是測試員學習如何使測試自動化的好起點。59可編程的宏可編程的宏是在簡單錄制和回放基礎上的變革;此類宏可以通過從菜單中選擇各操作的方式來編程-

30、甚至不必輸入命令;可編程的宏可以解決錄制宏的許多時序問題,不是依靠絕對延時,而是等待特定條件成立才繼續(xù)執(zhí)行。60Macro Magic如何定義宏作為一個宏記錄軟件,如何方便、快捷地定義一個新宏對于簡化用戶的操作來說是非常重要的。Macro Magic提供的三種宏記錄方式:向導方式是最重要的宏定義方式,它可引導用戶一步一步創(chuàng)建自己所需的宏,完成各種設置及管理操作,初級用戶一般都以使用該方式為好;快速添加方式主要是在日常操作的同時快速定義宏,速度較快,但操作相應復雜一些,一般只適合高級用戶使用;內(nèi)存記錄方式則是僅將用戶的操作作為宏記錄到內(nèi)存中,以適合各種臨時性工作。61以向導方式定義宏的步驟啟動M

31、acro Magic, 右擊Windows 系統(tǒng)托盤(即任務欄最右邊顯示系統(tǒng)時鐘的區(qū)域)中的Macro Magic圖標,并從彈出的快捷菜單“New Macro”子菜單中執(zhí)行“Macro setup Wizard”命令,啟動Macro Magic的宏定義向導功能;62以向導方式定義宏的步驟(cont.)Macro Magic首先將會詢問用戶是一步步創(chuàng)建新宏,還是記錄鼠標、鍵盤的操作,或是直接啟動某個應用程序或文檔。用戶可根據(jù)自己的需要加以選擇,并在其后的對話框中輸入新宏的名稱;636465以向導方式定義宏的步驟(cont.)單擊“下一步按鈕,此時系統(tǒng)將會打開“Select Macro Trigg

32、ers對話框,要求用戶對激活該宏的狀態(tài)進行設置。我們可從“Manual選項卡中為其設置適當?shù)目旖萱I,并為其在開始菜單、桌面、收藏夾等位置建立快捷方式以加快啟動該宏的速度。6667以向導方式定義宏的步驟( cont.)另外,Macro Magic所定義的宏還具有自動運行功能,我們只需將某個應用程序窗口的啟動、打開、運行、或最大化作為新定義宏的運行條件,此后只要系統(tǒng)一滿足該條件,所定義的宏就會自動運行,從而進一步方便了用戶的使用。為此,我們只需從“Select Macro Triggers對話框的“Automatic選項卡中加以設置即可。6869以向導方式定義宏的步驟( cont.)再次單擊“下一

33、步按鈕,打開Macro Magic的“Macro Builder窗口,然后我們就可以利用它的有關菜單命令及快捷按鈕設置所需定義宏的具體內(nèi)容了。如啟動應用程序、拷貝刪除文件等等,并可對所定義的宏進行編輯、復制、刪除、調試等操作。7071以向導方式定義宏的步驟( cont.)執(zhí)行“Macro Builder窗口“File菜單的“Save命令將新定義的宏保存下來,并利用“Exit命令退出“Macro Builder窗口。最后,Macro Magic宏記錄向導還會要求用戶選擇新定義宏的運用范圍,我們既可允許在所有的應用程序中使用該宏,又可限制只在某一個具體的應用程序中使用它,用戶可根據(jù)自己的實際情況加

34、以選擇。如果完成了為Macro Magic定義一個新宏的操作,此后只需右擊系統(tǒng)托盤中的Macro Magic圖標即可從彈出快捷菜單的Play Macro子菜單中發(fā)現(xiàn)我們所定義的宏,選擇該宏后即可運行它所代表的一系列任務,從而簡化了用戶的操作。同時,當我們?yōu)槟硞€宏設置了自動運行功能及相應的自動運行條件時,只要系統(tǒng)滿足了該條件,該宏就也會自動運行,操作非常方便。72Macro Magic實驗編寫、調試一個Macro Magic的宏,使其能自動完成以下任務:啟動windows計算器計算123-100的值提示用戶驗證結果得到用戶確認后關閉計算器73Answer of exercise計算器 測試123

35、-100=74File “”:計算器 測試123-100=755.5 WinRunner簡介Mercury Interactive企業(yè)測試和性能管理解決方案供應商;其自動測試軟件和網(wǎng)絡管理在線服務幫助客戶提供和維護高性能的應用系統(tǒng)。測試套件WinRunnerLoadRunnerTestDirector提供整個測試流程的解決方案測試計劃、測試開發(fā);GUI負載測試、錯誤跟蹤、多用戶系統(tǒng)客戶端負載測試76主要內(nèi)容WinRunner介紹WinRunner如何識別GUI對象GUI MAP創(chuàng)建測試檢查GUI對象 77WinRunner基于MS Windows的功能測試工具; 由于C/S結構的軟件功能增加越

36、來越快,QA部門測試難度越來越大,手工測試已經(jīng)跟不上這種發(fā)展趨勢; WR可以幫助自動處理從測試開發(fā)到測試執(zhí)行的整個過程。可以創(chuàng)建可修改和可復用的測試腳本,而不用擔心軟件功能模塊的變更。78WinRunner的安裝795.5.1 WinRunner使用概述 1.啟動WinRunner 點擊開始程序WinRunnerWinRunner 啟動WR。WR的Record/Run Engine(記錄/執(zhí)行引擎)的圖標出現(xiàn)在Windows的任務條上。這個引擎設立和維護WR和被測軟件之間的連接。 第一次啟動WR會看到歡迎窗口,可以選擇新建測試、打開已有測試或快速預覽WR。如果不希望下次啟動看到這個窗口,可以把

37、Show on startup前面的勾去掉。 802.加載WinRunner 插件在WinRunner啟動時,可以選擇支持ActiveX control、PowerBuilder、VisualBasic或WebTest的插件。把Show on startup前面的勾去掉,這樣AddIn Manager的窗口就不會在WR啟動的時候出現(xiàn)。你也可以在進入WR后在SettingsGeneral OptionsEnviroment 里面設置是否在開始時顯示這個窗口以及等待時間等。建議:不要同時載入所有的插件。 81主窗口主窗口包括以下部分: WinRunner title bar(標題欄)Menu ba

38、r (菜單欄) Standard toolbar (標準工具欄),包含運行測試時常用的命令 User toolbar (用戶工具欄),包含創(chuàng)建測試時常用的命令 Status bar (狀態(tài)欄) 82WinRunner主窗口83確認顯示工具條844.測試窗口在測試窗口創(chuàng)建和執(zhí)行測試,窗口包含以下部分: Test Window title bar(測試窗口標題欄),顯示當前打開的測試名稱 Test script (測試腳本), 通過錄制或編寫代碼方式生成 Execution arrow (執(zhí)行箭頭),指明當前正在執(zhí)行的那一行腳本,如果想要移動這個標志到某一行,只需要在該行左側空白處點擊鼠標左鍵 I

39、nsertion point (插入點),你可以插入或編輯文本的地方 8586記錄Script1、先將光標移動到要插入Script的地方!2、啟動要錄制的Application3、按紅色按鈕開始錄制4、停止錄制87三種運行模式UpdateUpdate 模式用于更新Verfiy方式允許用到的各種Checkpoint比較的基準(Baseline) VerifyVerify模式指正式運行,執(zhí)行測試DebugDebug模式用于調試。 以上三種運行模式的結果都會保存在Script保存的目錄下88WinRunner測試過程 WR的測試過程分六個步驟: 創(chuàng)建GUI map(RapidTest Script

40、wizard) 創(chuàng)建測試 調試測試(Debug Mode) 執(zhí)行測試 (Verify Mode)查看測試結果(Test Results) 報告發(fā)現(xiàn)的錯誤 895.5.2 WinRunner如何識別GUI對象GUI的每個對象都有一組被定義的屬性來決定它的行為和外觀。WinRunner通過學習這些屬性來識別和定位GUI對象,而不需要知道對象的物理位置;WinRunner把從GUI map上學來的信息儲存起來。當執(zhí)行測試時,WinRunner使用GUI map定位對象:先從GUI map讀取有關對象的描述,然后尋找有相同屬性的對象;當GUI被修改了之后,先前的腳本仍然可以使用 用戶只需要在GUI m

41、ap上添加、刪除或編輯相關的對象的描述,WinRunner就可以在修改后的軟件上找到這些對象。90GUI對象的邏輯名在測試腳本中,WinRunner不使用全部的物理描述來表示對象,而是給每個對象一個邏輯名。對象的邏輯名由它的類決定。多數(shù)情況下,邏輯名是對象的卷標:一個button的邏輯名就是它的卷標,如“OK”或“Cancel”;一個window的名稱就是它標題欄上的文本;一個list的名稱是list上方或旁邊的文本。邏輯名和物理描述一起作用,確保每個GUI對象有自身唯一的標識。91GUI對象的物理描述WinRunner使用物理描述識別被測軟件的GUI對象物理描述包括物理屬性名和相應的值;這些

42、屬性值的配對在GUI map中以下面的格式出現(xiàn):屬性1:值1,屬性2:值2,property3:value3,.例如:對于“Open” window的描述包含兩個屬性:類(Class)和卷標(Label)。類的屬性的值是“window”,卷標的屬性的值是“Open”:class:window,label:Open類的屬性標識對象的類型。每個對象根據(jù)功能不同屬于不同的類:window, push button, list, radio button, menu等。92935.5.3 GUI map選擇ToolsGUI Map Editor 可以查看GUI map的內(nèi)容。GUI map實際上是一個

43、或多個GUI map文件的總和。在GUI Map Editor中,可以查看整個GUI map或單個GUI map文件的內(nèi)容。GUI對象按照他們在軟件中出現(xiàn)時所在的窗體分組。9495用GUI Spy查看GUI對象的屬性GUI Spy可以用來檢視某個GUI對象有哪些屬性以及WR是以哪些屬性來識別它的。過程:開啟GUI Spy;按下spy按鈕,將鼠標移動到登入窗口上,將鼠標移到OK按鈕上,然后按下Ctrl_L+F3,在跳出的Spy模式里,可以看到顯示OK按鈕的屬性。96檢視GUI Spy顯示的信息在Recorded標簽,是顯示W(wǎng)R用來識別OK按鈕的屬性,分別是class:push_button以及l(fā)

44、abel:Ok,表示這個GUI對象是個按鈕,按鈕上面的文字是OK;在All Standard標簽,則是顯示OK按鈕的所有屬性??梢钥匆奧R只用最少的屬性來識別GUI對象97設定窗體環(huán)境(Window Context)WR在對象出現(xiàn)的窗體環(huán)境中學習和實現(xiàn)操作。當錄制腳本時,一旦當前窗體(Active window)改變而且有GUI對象被操作,WR會自動在測試腳本中插入一條set_window 語句。然后所有的對象就在那個窗體環(huán)境中被識別。例如: Set_window(“Print”,12); Button_press(“OK”); Set_window(“Print”,12)指明Print wi

45、ndow(打印窗口)是當前窗體。OK button是在這個窗體環(huán)境里學到的。 如果手工編寫腳本,則需要寫入set_window 語句以對應當前窗體的變化。同樣在編輯腳本時注意不要隨意刪除必要的set_window 語句。 98教WinRunner學習被測軟件的GUIWR需要先學習軟件的GUI 當使用GUI Map File per Test mode時,WR會在錄制腳本時自動學習軟件的GUI。 當使用Global GUI Map File mode(共用GUI映射文件)時,需要教給WR有關GUI對象屬性的信息。方式: 使用RapidTest Script wizard在錄制腳本前一次性的學習每

46、個窗體中所有的GUI對象的屬性;通過錄制腳本的方法學習被錄制的那部分軟件中所有的GUI對象的屬性,如果只使用錄制的方法讓WR學習對象,WR或許不能把窗體上所有的對象都學到(因為有對象沒有被操作),學習得不全面 ;錄制方式只用于小的或臨時的測試。 使用GUI Map Editor學習單個GUI對象、窗體或某個窗體中所有GUI對象的屬性 。注意:在GUI Map File per Test 模式下,RapidTest Script wizard將被禁用。 99GUI map file模式的選取計劃和創(chuàng)建測試時,需要確定GUI map的工作模式。 作為WR新手或GUI map只使用一次,可以使用GU

47、I Map File Per Test模式。這種模式下,每次新建測試就自動新建一個GUI map file。在你保存測試時,GUI map file自動保存;在你打開測試時,GUI map file自動加載。 作為WR老手或GUI map將被不同測試共享,建議使用更有效率的Global GUI Map File模式。這是WR的默認模式。100兩種模式的優(yōu)缺點比較: GUI Map File Per Test Global GUI Map File 優(yōu)點 1. 每個測試都有自帶的GUI map file。 2. 使用方便,且避免忘記保存或加載GUI map file。 3. 作為單次測試,容易維

48、護和更新(就是重新錄一次)。 1. 如果對象或窗體屬性改變,只需要在GUI map file里把對應的屬性修改。 2. 容易維護和更新(無需重新錄制) 缺點 一旦軟件GUI變更,每個測試的GUI map file都要重新錄制。要記住保存和加載GUI map file。建議 如果你對WR沒有經(jīng)驗或被測軟件的GUI已經(jīng)固定,可以采用這種模式。如果你是有經(jīng)驗的WR使用者或被測軟件的GUI經(jīng)常變化,最好使用這種模式。 1015.5.4 Global GUI Map File模式的使用 WR最有效率的用法是把測試分組。一組中的測試(任務)都測試同一窗體上的GUI對象。這樣這些任務就可以共享GUI map

49、 file。當GUI發(fā)生變化,只需要修改一個GUI map file,就可以讓同組中的任務都正常工作。 102RapidTest Script wizard的使用 1).選擇CreateRapidTest Script Wizard,點擊Next。 注意:當載入WebTest插件或其他某些插件后,RapidTest Script wizard將被禁用。 2).標識被測軟件屏幕打開點擊指向手(手型圖標),然后點擊被測軟件。被測軟件的窗體名稱顯示在Window Name框中。 3).選擇測試屏幕打開4).選擇希望WR創(chuàng)建的測試類型。當RapidTest Scipt Wizard在被測軟件中走查結束

50、,選擇的測試就會被顯示在WR窗口中。 103RapidTest Script wizard的使用(續(xù))5).消除所有設定(這里僅識別GUI對象)6).接受Navigation Controls默認值 此窗口主要告訴WR哪些GUI對象會開啟一個新窗口,默認與。點擊Next。 7).選擇Express(快速)或Comprehensive(全面)學習流程。點擊Learn。WR就開始系統(tǒng)地一個窗口一個窗口地學習被測軟件。8).選擇Yes或No來告訴WR你是否希望在你使用WR時,讓WR自動啟動這個被測軟件。點擊Next。 9).輸入啟動腳本和GUI map文件的保存路徑和文件名,或使用默認值。點擊Nex

51、t。 10410).輸入測試文件的保存路徑和文件名,或使用默認值。點擊Next。 11).點擊OK關閉RapidTest Script wizard。你剛才創(chuàng)建的測試被顯示在WR窗口中。105可選擇以下幾種類型的測試: GUI Regression Test(界面回歸測試)用來比較軟件不同版本中的GUI對象。例如檢查一個button是否被禁用。創(chuàng)建這種測試時,WR先捕捉GUI對象默認信息。在回歸測試時,WR把當前信息和默認比較,并報告不符合的地方。 Bitmap Regression Test (位圖回歸測試)用來比較軟件不同版本中的位圖圖片。如果被測軟件沒有GUI對象,則選擇這種類型。創(chuàng)建這

52、種測試時,WR先捕捉被測軟件每個窗體的一幅位圖圖片。在回歸測試時,WR把當前圖片和以前捕捉的比較,并報告不符合的地方。 User Interface Test(用戶界面測試)這種測試決定被測軟件是否符合Microsoft Windows標準。Test Template(測試模板)這種測試提供一個操作被測軟件的自動測試的基本框架。它打開和關閉每個窗口,為你留下可以添加代碼(手寫或錄制)的空間。 106User Interface Test(用戶界面測試)檢查: a). GUI對象在窗體中的排列 b). 所有被定義的文本(text)在GUI對象上可見 c). GUI對象上的卷標(Label)以大寫

53、字母寫 d). 每個卷標包含一個有下劃線的字母 e). 每個窗口有一個OK button,一個Cancel button,和一個系統(tǒng)菜單 在這種測試中,WR搜索軟件UI,把不符合Microsoft Windows標準的地方報告出來。 107保存GUI Map 1). 選擇ToolsGUI Map Editor,打開編輯器。 2). 選擇ViewGUI Files。 3). 確認文件顯示在GUI File清單中。文件名前有一個星號(*),標識GUI map文件被改變了。當文件保存后,星號消失。 4). 在GUI Map Editor中,選擇FileSave打開Save GUI File對話框。

54、5). 選擇文件夾、文件名(或輸入新文件名)。點擊保存。被保存的GUI map文件被加載并顯示在GUI Map Editor里。 108加載GUI Map文件 有兩種方法加載GUI map文件: 用GUI_load功能 從GUI Map Editor中加載 1095.5.5 GUI Map File per Test模式 WR通過錄制的方式學習被測軟件的GUI。如果GUI發(fā)生變化,可以用GUI Map Editor更新每個測試的GUI map。無需加載或保存GUI map文件。 注意:如果你改變了對象的邏輯名,你必須更新腳本。 1105.5.6 創(chuàng)建測試用戶可以用錄制或編程的方式創(chuàng)建測試。通常

55、從錄制一個基礎測試腳本開始 用戶對被測軟件進行操作,TSL語言記錄下這些操作;用戶可以在腳本中修改、添加功能等。有兩種可用的錄制模式:Context Sensitive模式錄制你對GUI對象的操作;Analog模式用X軸和Y軸定位跟蹤鼠標運行軌跡。111Context Sensitive模式主要以GUI對象為基礎,WR會識別使用者點選的GUI對象以及執(zhí)行的操作;如在登入窗口按下OK按鈕動作,則WR產(chǎn)生button_press(“OK”),執(zhí)行這段TSL,WR會在應用程序上找尋OK按鈕,然后按下它。112Analog模式WR主要錄制鼠標移動的軌跡、鼠標的點選以及鍵盤的輸入三種動作;如在登入窗口按

56、下OK按鈕動作,則WR產(chǎn)生move_locator_track(1); 鼠標移動mtype(“-”); 按下鼠標左鍵mtype(“+”); 放開鼠標左鍵執(zhí)行這段TSL,WR會控制鼠標移動,此鼠標移動的軌跡是以屏幕的絕對坐標為基準,所以當應用程序的位置或是使用接口變動,則測試腳本將會執(zhí)行失敗。113兩種Recording測試的模式Context Sensitive(環(huán)境判斷模式)Analog(模擬模式)應用程序只對GUI對象進行操作 應用程序不僅僅只對GUI對象進行操作,對位圖敏感。如畫圖軟件等Default mode 完全按照用戶鼠標、鍵盤的移動來進行記錄Recommended 使用Conte

57、xt Sensitive不能完成測試時。提示:假如測試的應用程序包含一般GUI對象,也包含繪圖區(qū)域,在錄制過程中,可隨時切換錄制模式114用戶可以在腳本中為GUI、位圖、文本和數(shù)據(jù)庫添加檢查點和同步點。檢查點用于比較軟件當前版本和以前版本的區(qū)別;同步點用來處理測試運行中可能發(fā)生的時間控制和窗體位置等問題。用戶也可以創(chuàng)建數(shù)據(jù)驅動測試。測試將使用內(nèi)部數(shù)據(jù)庫來驅動。115創(chuàng)建測試腳本的主要步驟決定要測試的功能點。確定想在腳本中使用的檢查點和同步點。 在測試屬性對話框里把測試相關的信息文檔化。 選擇錄制模式(Context Sensitive或Analog)并錄制。 給測試分配一個名字并保存。 116

58、檢查點 在腳本中可以插入以下四類檢查點: GUI檢查點,檢驗GUI對象信息。比如:可以查看一個button是否可用或一個清單中哪個項目被選定了。位圖檢查點,做一個窗體或區(qū)域的截圖,并把這張圖片和以前版本進行比較。文本檢查點,讀取GUI對象和位圖中的文本,使你可以檢驗文本內(nèi)容。數(shù)據(jù)庫檢查點,檢查一定數(shù)量的行和列組成的集合(這個集合由你在數(shù)據(jù)庫中創(chuàng)建)的內(nèi)容。117同步點 同步點解決測試和被測軟件之間的時間占用問題。例如:如果你創(chuàng)建一個打開數(shù)據(jù)庫軟件的測試,你可以插入一個同步點讓測試等待直到在數(shù)據(jù)庫中的記錄在屏幕上被加載。 對于模擬測試,可以使用同步點讓WR把一個窗體移動到特定位置。 118錄制C

59、ontext Sensitive模式的測試腳本 錄制測試的操作方法: 1).開啟WR并加載GUI Map File;2).開啟Flight Reservation并登入;3).開始以Context Sensitive模式錄制測試腳本; 4).開啟3號定單;5).停止錄制;6).保存測試腳本為lesson3。 注意:WR是以目錄的方式而不是單一文件的方式儲存lesson3測試腳本,此目錄將會包含測試腳本以及測試執(zhí)行的結果。119錄制測試的操作方法: 1).開啟lesson3測試腳本,將光標移到最后一行;2).開始以Context Sensitive模式錄制測試腳本; 3).開啟 訂單;Fax N

60、umber輸入41555512344).勾選send signature with order;5).在Context Sensitive模式下錄制簽名動作;6).清除簽名;7).將Fax Order窗口移動到其他位置;8).在Analog模式下錄制簽名動作;(F2或再按一次Record按鈕進行切換)錄制Analog模式的測試腳本 1209).切換回Context Sensitive模式并將訂單 出去;10).停止錄制; 11).保存測試腳本;12).記住保存新的GUI對象。前次Fax Order窗口的GUI對象并未被識別,當錄制到Fax Order窗口上的操作時,會被識別到并先放到tempo

溫馨提示

  • 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

提交評論