第9章 自動化測試_第1頁
第9章 自動化測試_第2頁
第9章 自動化測試_第3頁
第9章 自動化測試_第4頁
第9章 自動化測試_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件測試第9章

自動化測試人與工具工欲善其事必先利其器測試面臨的問題測試用例越來越多,工作量越來越大,許多測試用例會被重復執行。若手工完成,不僅占用很多人力資源,且工作重復單調,影響積極性,降低工作熱情…怎么辦??自動化測試本章內容1測試自動化的內涵2自動化測試的原理3測試工具的分類和選擇4自動化測試的引入本章內容1測試自動化的內涵2自動化測試的原理3測試工具的分類和選擇4自動化測試的引入1測試自動化的內涵1.1簡單的實驗1.2自動化測試的例子1.3什么是自動化測試1.4自動化測試的特點和優勢簡單的實驗批處理文件Word的郵件合并功能“工具”“信和郵件”“郵件合并”

Word中的宏自動化測試的例子先下載并安裝SeleniumIDE/projects/ide/

自動化測試的例子錄制操作查看腳本回放腳本自動化測試

(automatedtest)定義:是相對手工測試(manualtest)而存在的一個概念,由手工逐個運行測試用例的操作過程被測試工具自動執行的過程所代替。主要特征:測試工具的使用自動化測試vs.測試自動化自動化測試焦點集中在測試執行,主要是由測試工具自動地完成測試。測試自動化一切可以由計算機系統自動完成的測試任務都已經由計算機系統或軟件工具、程序來承擔并自動執行。自動化測試

vs.測試自動化........測試自動化

理念

全過程

所有測試活動包括測試設計

測試管理........自動化測試

測試工具測試執行

單項活動手工測試的局限性無法做到覆蓋所有代碼路徑很難捕捉到與時序、死鎖、資源沖突、多線程等有關的錯誤難以實施系統負載/性能測試,因為需要模擬大量數據或大量并發用戶難以實施系統可靠性測試,因為需要模擬系統運行十年、甚至幾十年難以在短時間內完成大量(如幾千個)的(回歸)測試用例面對測試條件組合爆炸,無能為力或效率非常低您的看法?自動化測試的特點速度快結果準確。例如搜索用時是0.33秒,系統都會發現問題,不會忽視任何差異高復用性。一旦完成所用的測試腳本,可以一勞永逸運行很多遍永不疲勞

可靠自動化測試帶來的好處測試周期縮短更高質量的產品軟件過程更規范高昂的團隊士氣節省人力資源充分利用硬件資源發現缺陷率高容易實施

創造性、靈活性

覆蓋率量化困難

重復測試效率低不一致性、可靠性低依賴人力資源高效率(速度)高復用性覆蓋率容易度量準確、可靠不知疲勞激勵團隊士氣

機械、難以發現缺陷一次性投入大手工測試vs.自動測試兩者相互補充手工測試適用于:功能邏輯測試、驗收測試、適用性測試、交互性測試、不穩定且開發周期短或一次性的軟件自動測試適用于:單元測試、集成測試、系統負載或性能測試、可靠性測試…工具本身缺乏想象力和創造性自動測試:發現15%的缺陷手工測試:發現85%的缺陷本章內容1測試自動化的內涵2自動化測試的原理3測試工具的分類和選擇4自動化測試的引入2自動化測試的原理2.1代碼分析2.2GUI對象識別2.3自動比較技術2.4腳本技術自動化測試的流程舉例保存腳本記錄執行Log驗證測試結果啟動應用、執行腳本調用腳本創建腳本錄制對象及其操作插入驗證點調試腳本啟動應用測試報告測試工具實現的原理代碼掃描及其分析對象識別捕獲和回放(record/playback)腳本技術

自動結果比較代碼分析代碼的靜態分析的關鍵是建立各種規則,而這種規則的建立是依賴于相應編程語言的語法。如依據EBNF(擴展巴科斯-諾爾范式)對Java代碼的分析。參考ParasoftJtest或C++test代碼規則表示舉例代碼掃描編譯器規則工具邏輯名稱:是對象屬性之一的值數值:用于識別對象名稱Nativeclass: EditAttachedText:AgentName:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119Windows對象識別Windows對象識別-2對象庫:本地在測試結構范圍內存儲對象信息。對象庫例如對象(屬性)包含登陸窗口在記錄過程中捕獲的:-AgentNamefield-Passwordfield-OKbutton-Cancelbutton-Helpbutton對象識別工具DOM對象的識別IEDOMInspector

DOM對象識別工具FireBug

腳本技術

線性腳本:錄制手工執行的測試用例得到的腳本,這種腳本包含所有的擊鍵、移動、輸入數據等,所有錄制的測試用例都可以得到完整的回放。

結構化腳本:類似于結構化程序設計,具有各種邏輯結構、函數調用功能。

數據驅動腳本:將測試輸入存儲在獨立的(數據)文件中,而不是存儲在腳本中。

關鍵字驅動腳本:數據驅動腳本的邏輯擴張。

線性腳本結構化腳本關鍵字驅動腳本數據驅動測試腳本OrderIDchangeswitheachorderplacedTestFailswhencomparingstaticbaselinetodynamicdataTestPasseswhencomparingpatternbaselinetodynamicdata動態內容匹配利用模式匹配技術來驗證數據如不是驗證“OrderID230”,而是“OrderID###”當驗證應用的行為時,考慮了各種不同的合法響應另外一個例子對象映射Version1.0Version

2.0DeterminesMatch

??Tester

seesTool

sees自動比較靜態比較和動態比較簡單比較和復雜比較敏感性測試比較和健壯性測試比較比較過濾器

Selenium中驗證命令的示例驗證點命令對象值verifyTitleMyPageverifyValuenameFieldJohnSmithverifySelecteddorpdown2value=js*123verifyTextPresentYouarenowloggedin

verifyAttributetxt1@classbigAndBlodverfyVisiblepostcode

ComboBoxVPEditBoxVP FileVPHTMLLinkVPHTMLDocumentVPListViewVP WindowVP JavaListViewVP

SyntaxofWindowVPfunction:Result=

WindowVP

(action%,recMethod$,parameters$)[actioncanbeoneoffollowingvalues]

CompareImageCompareMenuComparePropertiesExists/DoesNotExist…WindowVP(CompareImage,"Caption=Paint","VP=PICT1A")Thisfunctionreturns1iftheactionperformedpassesReturn0iftheactionperformedfails.Robot驗證點本章內容4.1測試自動化的內涵4.2自動化測試的原理4.3測試工具的分類和選擇4.4自動化測試的引入各類測試工具1.按測試方法分:

白盒和黑盒測試工具、靜態和動態測試工具2.按工具來源分:開源(多數免費)和商業測試工具、自主開發和第三方測試工具3.按測試對象和目的分:

單元、功能、性能測試工具、測試管理工具測試工具的分類靜態測試工具

-掃描分析:Findbugs,JTest/C++Test -規則定義動態測試工具 -內存檢測工具 -錄制/回放工具 -負載測試工具 -監控工具商業工具解決方案

單元測試:ParasoftJTest/C++test,PRQA?C/C++、CompuWareDevPartnerforVisualC++

CompuWareBounceChecker,IBMRationalPurifyPlus/PureCoverage,CompuWareTrueCoverage,TeleLogicLogiscop

功能測試:HPQTP/WinRunner,IBMRationalFunctionalTester/Robot,SegueSilkTest,OracleEmpirixe-TestSuite,CompuwareTestPartner,ParasoftWebKing

性能測試:HPLoadRunner,BorlandSilkPerformer,IBMRationalPerformanceTester,RadviewWebLoad,CompuwareQALoad開源工具解決方案單元測試:JUnit&XUnit家族功能測試:Selenium、AbbotAutoIT/AutoHotkey

性能測試:JMeter數據庫:DBprobe網絡監控:Wireshark/Ethereal,Netcat,Snort

DemoJUnitDemoSelenium工具選擇的過程本章內容1測試自動化的內涵2自動化測試的原理3測試工具的分類和選擇4自動化測試的引入正確認識測試自動化不現實的期望注定測試自動化的失敗測試自動化能:顯著降低重復手工測試的時間建立可靠、重復的測試,減少人為錯誤增強測試質量和覆蓋率測試自動化不能:完全替代手工測試和手工測試工程師保證100%的測試覆蓋率彌補測試實踐的不足

測試自動化普遍存在的問題不正確的觀念或不現實的期望缺乏具有良好素質、經驗的測試人才

測試工具本身的問題影響測試的質量測試腳本的質量低劣

沒有進行有效的、充分的培訓

沒有考慮到公司的實際情況,盲目引入測試工具沒有形成一個良好的使用測試工具的環境對策正確的認識找準測試自動化的切入點把測試腳本開發納入整個軟件開發體系軟件程序開發和測試自動化不可分離資源的合理調度測試自動化依賴測試流程和測試用例降低測試自動化的投入、提高其產出系統解決方案缺陷報告代碼功能測試性能測試單元測試錄制/編寫軟件腳本測試環境配置管理配置管理完整解決方案舉例CoverageQuantifyPurify測試計劃TestManager測試設計測試開發Robot/RobotJClearQuest配置管理-ClearQuestandClearCaseLTRationa

溫馨提示

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

最新文檔

評論

0/150

提交評論