




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件測試第7章
自動化測試軟件測試人與工具工欲善其事,必先利其器。荀子曰:吾嘗終日而思矣,不如須臾之所學也。吾嘗〔足支〕而望矣,不如登高之博見也。登高而招,臂非加長也,而見者遠。順風而呼,聲非加疾也,而聞者彰。假輿馬者,非利足也,而致千里。假舟輯者,非能水也,而絕江河。君子生非異也,善假于物也。君子性非異也,善假于物也。人與工具工欲善其事,必先利其器。荀子曰:吾嘗終日而思矣,不如測試面臨的問題測試用例會越來越多,工作量越來越大,而且許多測試用例會被不斷地重復執行。如果由手工來完成,不僅占用很多人力資源,而且工作重復單調,會影響測試人員的積極性,降低測試工作人員的熱情…怎么辦?自動化測試測試面臨的問題測試用例會越來越多,工作量越來越大,而且許多測本章內容7.1測試自動化的內涵7.2自動化測試的原理7.3測試工具的分類和選擇7.4自動化測試的引入本章內容7.1測試自動化的內涵本章內容7.1測試自動化的內涵7.2自動化測試的原理7.3測試工具的分類和選擇7.4自動化測試的引入本章內容7.1測試自動化的內涵7.1測試自動化的內涵7.1.1簡單的實驗7.1.2自動化測試的例子7.1.3什么是自動化測試7.1.4自動化測試的特點和優勢7.1測試自動化的內涵7.1.1簡單的實驗簡單的實驗批處理文件Word的郵件合并功能“工具”“信和郵件”“郵件合并”
簡單的實驗批處理文件“工具”“信和郵件”“郵件合并”Word中的宏Word中的宏自動化測試的例子(1)先下載并安裝SeleniumIDE/projects/ide/
自動化測試的例子(1)先下載并安裝SeleniumIDEh自動化測試的例子(2)錄制操作查看腳本回放腳本自動化測試的例子(2)錄制操作什么是自動化測試自動化測試(automatedtest)是相對手工測試(manualtest)而存在的一個概念,由手工逐個地運行測試用例的操作過程被測試工具自動執行的過程所代替。測試工具的使用是自動化測試的主要特征什么是自動化測試自動化測試(automatedtest)是自動化測試vs.測試自動化自動化測試焦點集中在測試執行,主要是由測試工具自動地完成測試。測試自動化指“一切可以由計算機系統自動完成的測試任務都已經由計算機系統或軟件工具、程序來承擔并自動執行”自動化測試vs.測試自動化自動化測試焦點集中在測試執行自動化測試
vs.測試自動化........測試自動化
理念全過程
所有測試活動包括測試設計
測試管理........自動化測試
測試工具測試執行
單項活動
自動化測試vs.測試自動化.測試自動化.自動化測試手工測試的局限性無法做到覆蓋所有代碼路徑很難捕捉到與時序、死鎖、資源沖突、多線程等有關的錯誤難以實施系統負載/性能測試,因為需要模擬大量數據或大量并發用戶難以實施系統可靠性測試,因為需要模擬系統運行十年、甚至幾十年。難以在短時間內完成大量(如幾千個)的(回歸)測試用例面對測試條件組合爆炸,無能為力或效率非常低。
您的看法?手工測試的局限性無法做到覆蓋所有代碼路徑您的看法?自動化測試的特點自動運行的速度快,是手工無法相比的。測試結果準確。例如搜索用時及時是0.33秒或0.24秒,系統都會發現問題,不會忽視任何差異高復用性。一旦完成所用的測試腳本,可以一勞永逸運行很多遍永不疲勞
可靠
獨特的能力
自動化測試的特點自動運行的速度快,是手工無法相比的。自動化測試帶來的好處測試周期縮短更高質量的產品軟件過程更規范高昂的團隊士氣節省人力資源,降低企業成本充分利用硬件資源,降低企業成本。表4-2自動化測試在不同測試階段的應用
自動化測試帶來的好處測試周期縮短表4-2自動化測試在不同測手工測試
發現缺陷率高容易實施創造性、靈活性
覆蓋率量化困難
重復測試效率低不一致性、可靠性低依賴人力資源
高效率(速度)高復用性覆蓋率容易度量準確、可靠不知疲勞激勵團隊士氣
機械、難以發現缺陷一次性投入大自動測試手工測試vs.自動測試手工測試發現缺陷率高高效率(速度)自動測試手工測試兩者相互補充在系統功能邏輯測試、驗收測試、適用性測試、涉及交互性測試時,多采用手工測試方法;單元測試、集成測試、系統負載或性能、可靠性測試等比較適合采用TA;對那種不穩定、開發周期短或一次性的軟件等不適合TA工具本身缺乏想象力和創造性,自動測試只能發現15%的缺陷,而手工測試可以發現85%的缺陷;兩者相互補充在系統功能邏輯測試、驗收測試、適用性測試、涉及交本章內容7.1測試自動化的內涵7.2自動化測試的原理7.3測試工具的分類和選擇7.4自動化測試的引入本章內容7.1測試自動化的內涵7.2自動化測試的原理7.2.1代碼分析7.2.2GUI對象識別7.2.3DOM對象識別7.2.4自動比較技術7.2.5腳本技術7.2自動化測試的原理7.2.1代碼分析自動化測試的流程舉例保存腳本記錄執行Log驗證測試結果啟動應用、執行腳本調用腳本創建腳本錄制對象及其操作插入驗證點調試腳本啟動應用測試報告自動化測試的流程舉例保存腳本記錄執行Log驗證測試結果啟動應測試工具實現的原理代碼掃描及其分析對象識別捕獲和回放(record/playback)腳本技術
自動結果比較測試工具實現的原理代碼掃描及其分析代碼分析代碼的靜態分析的關鍵是建立各種規則,而這種規則的建立是依賴于相應編程語言的語法。如依據EBNF(擴展巴科斯-諾爾范式)對Java代碼的分析。參考ParasoftJtest或C++test代碼分析代碼的靜態分析的關鍵是建立各種規則,而這種規則的建立代碼規則表示舉例代碼規則表示舉例代碼掃描編譯器規則工具代碼掃描編譯器邏輯名稱是對象屬性之一的值數值
用于識別對象名稱Nativeclass: EditAttachedText:AgentName:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119Windows對象識別邏輯名稱是對象屬性之一的值Nativeclass: EdiWindows對象識別
-2對象庫是本地在測試結構范圍內
存儲對像信息.對象庫例如對象(屬性)包含登陸窗口在記錄過程中捕獲的:-AgentNamefield-Passwordfield-OKbutton-Cancelbutton-HelpbuttonWindows對象識別-2對象庫是本地在測試結構范圍內對象識別工具對象識別工具DOM對象的識別IEDOMInspector
DOM對象的識別IEDOMInspectorDOM對象識別工具FireBug
DOM對象識別工具FireBug腳本技術
線性腳本,是錄制手工執行的測試用例得到的腳本,這種腳本包含所有的擊鍵、移動、輸入數據等,所有錄制的測試用例都可以得到完整的回放。
結構化腳本,類似于結構化程序設計,具有各種邏輯結構、函數調用功能。
數據驅動腳本,將測試輸入存儲在獨立的(數據)文件中,而不是存儲在腳本中。
關鍵字驅動腳本,是數據驅動腳本的邏輯擴張
腳本技術線性腳本,是錄制手工執行的測試用例得到的腳本,這種線性腳本線性腳本結構化腳本結構化腳本關鍵字驅動腳本關鍵字驅動腳本數據驅動測試腳本OrderIDchangeswitheachorderplacedTestFailswhencomparingstaticbaselinetodynamicdataTestPasseswhencomparingpatternbaselinetodynamicdata動態內容匹配利用模式匹配技術來驗證數據如不是驗證“OrderID230”,而是“OrderID###”當驗證應用的行為時,考慮了各種不同的合法響應數據驅動測試腳本OrderIDchangeswith另外一個例子另外一個例子對象映射Version1.0Version
2.0DeterminesMatch
??Tester
seesTool
sees對象映射Version1.0Version2.0Dete自動比較
靜態比較和動態比較,簡單比較和復雜比較,敏感性測試比較和健壯性測試比較,。比較過濾器
自動比較靜態比較和動態比較,Selenium中驗證命令的示例驗證點命令對象值verifyTitleMyPageverifyValuenameFieldJohnSmithverifySelecteddorpdown2value=js*123verifyTextPresentYouarenowloggedin
verifyAttributetxt1@classbigAndBlodverfyVisiblepostcode
Selenium中驗證命令的示例驗證點命令對象值verifComboBoxVPEditBoxVP FileVPHTMLLinkVPHTMLDocumentVPListViewVP WindowVP JavaListViewVP
SyntaxofWindowVPfunction:Result=
WindowVP
(action%,recMethod$,parameters$)[actioncanbeoneoffollowingvalues]
CompareImageCompareMenuComparePropertiesExists/DoesNotExist…WindowVP(CompareImage,"Caption=Paint","VP=PICT1A")Thisfunctionreturns1iftheactionperformedpassesReturn0iftheactionperformedfails.Robot驗證點ComboBoxVPSyntaxofWindowVP本章內容7.1測試自動化的內涵7.2自動化測試的原理7.3測試工具的分類和選擇7.4自動化測試的引入本章內容7.1測試自動化的內涵各類測試工具根據測試方法不同,分為白盒測試工具和黑盒測試工具、靜態測試工具和動態測試工具等。根據工具的來源不同,分為開源測試工具(多數是免費的)和商業測試工具、自主開發的測試工具和第三方測試工具等。根據測試的對象和目的,分為單元測試工具、功能測試工具、性能測試工具、測試管理工具等各類測試工具根據測試方法不同,分為白盒測試工具和黑盒測試工具測試工具的分類靜態測試工具 -掃描分析: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商業工具解決方案單元測試:ParasoftJTest/開源工具解決方案單元測試:JUnit&XUnit家族功能測試:Selenium、AbbotAutoIT/AutoHotkey
性能測試:JMeter數據庫:DBprobe網絡監控:Wireshark/Ethereal,Netcat,Snort
開源工具解決方案單元測試:JUnit&XUnit家DemoJUnitDemoJUnitDemoSeleniumDemoSelenium工具選擇的過程工具選擇的過程本章內容7.1測試自動化的內涵7.2自動化測試的原理7.3測試工具的分類和選擇7.4自動化測試的引入本章內容7.1測試自動化的內涵正確認識測試自動化不現實的期望注定測試自動化的失敗測試自動化能:顯著降低重復手工測試的時間建立可靠、重復的測試,減
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新員工入職培訓體系計劃
- 學校幼兒園學習方針計劃
- 主管工作總結的細節處理計劃
- 新年愿望照進現實的步驟計劃
- 2024年小語種證書考試在線模擬題及試題及答案
- 達成目標2025年國際金融理財師考試試題及答案
- 理解經濟學基礎在投資中的運用試題及答案
- 小語種證書考試試題及答案的方法與使用2024
- 2025年CFA考試保險產品知識試題及答案
- 2025年特許金融分析師考試模擬訓練試題及答案
- 《智慧城市概論》課程教學大綱
- 2023年河南測繪職業學院單招綜合素質考試筆試題庫及答案解析
- 無機保溫砂漿外墻外保溫系統施工工藝課件
- 產品追溯記錄表
- 高三二輪復習:產業轉移以富士康的企業轉移為例課件
- 政府信息資源管理
- 中小微企業劃型證明
- 西南交大區段站工作組織課程設計2018
- 《監察機關監督執法工作規定》測試題試題含答案
- Q∕GDW 12154-2021 電力安全工器具試驗檢測中心建設規范
- 初中文言文專項訓練十篇(含答案)
評論
0/150
提交評論