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

下載本文檔

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

文檔簡介

軟件測試方法和技術(shù)

-Ch.11軟件測試自動化主講教師:郭曉燕第十一章軟件測試自動化11.1測試自動化的內(nèi)涵11.2測試工具的分類和選擇11.3測試工具的主流產(chǎn)品介紹11.4IBM-Rational產(chǎn)品的整體解決方案11.5MercuryInteractive產(chǎn)品的整體解決方案11.6Compuware產(chǎn)品的整體解決方案11.1測試自動化的內(nèi)涵11.1.1為什么要軟件測試自動化11.1.2自動化測試的引入和應(yīng)用11.1.3測試自動化的基本結(jié)構(gòu)11.1.4測試自動化的原理和方法11.1.5測試自動化普遍存在的問題手工測試的局限性通過手工測試無法做到覆蓋所有代碼路徑;許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤通過手工測試很難捕捉到在系統(tǒng)負(fù)載、性能測試時,需要模擬大量數(shù)據(jù)、或大量并發(fā)用戶等各種應(yīng)用場合時,也很難通過手工測試來進行在進行系統(tǒng)可靠性時,需要模擬系統(tǒng)運行十年、幾十年,以驗證系統(tǒng)能否穩(wěn)定運行,也是手工測試無法模擬的。如果有大量(幾千)的測試用例,需要在短時間內(nèi)完成,手工測試又怎么辦呢?測試可以發(fā)現(xiàn)錯誤,并不能表明程序的正確性。

自動化測試帶來的好處1.縮短周期Testingcycle-RegressionTesting2.AttributesofTA,Speed速度Efficiency效率AccuracyandPrecise準(zhǔn)確、精確

Relentlessness無情3.容易實施、結(jié)果可靠4.做手工不能做手工測試耗費時間低可靠性人力資源不一致性僅對于一次性的測試有益速度可重復(fù)覆蓋率可靠可以再度使用重復(fù)測試節(jié)省時間自動測試手工測試vs.自動測試正確認(rèn)識測試自動化不現(xiàn)實的期望注定測試自動化的失敗測試自動化能:顯著降低重復(fù)手工測試的時間建立可靠、重復(fù)的測試,減少認(rèn)為錯誤增強測試質(zhì)量和覆蓋率測試自動化不能:完全替代手工測試和手工測試工程師保證100%的測試覆蓋率彌補測試實踐的不足測試自動化成本/收益分析結(jié)構(gòu)成本收益凈收益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocusingonviewsoftheapplicationandusingdatapools11.6197.4自動化測試的引入和應(yīng)用找準(zhǔn)測試自動化的切入點把測試開發(fā)納入整個軟件開發(fā)體系測試自動化依賴測試流程和測試用例軟件測試自動化的投入較大進行資源的合理調(diào)度自動化測試工作流程收集測試信息測試需求是什么?那里能得到用到的數(shù)據(jù)?建立基本測試紀(jì)錄用戶的操作核實成功回放提高基本測試插入測試點驅(qū)動測試數(shù)據(jù)整體測試關(guān)聯(lián)數(shù)據(jù)建立綜合的測試場景計劃1創(chuàng)建2核實和提高3整合4計劃自動化測試紀(jì)錄用戶操作形成基本測試對回放和測試提高自動化測試運行多種測試檢查數(shù)據(jù)流測試自動化的基本結(jié)構(gòu)機房辦公室文件服務(wù)器SQLServerWeb服務(wù)器控制程序拷貝測試文件拷貝測試結(jié)果分派工作分派工作查詢結(jié)果Build系統(tǒng)編譯尋找工作項目更新顯示DevBuild,TestBuild測試自動化的原理和方法代碼分析:類似于高級編譯系統(tǒng),在工具中定義類/對象/函數(shù)/變量等定義規(guī)則、語法規(guī)則等,在分析時對代碼進行語法掃描,找出不符合編碼規(guī)范的地方。捕獲和回放:代碼分析是一種白盒測試的自動化方法,捕獲和回放則是一種黑盒測試的自動化方法。對象識別腳本技術(shù)自動化比較對象識別編輯框下拉框按鈕QuickTest

在支持應(yīng)用中識別、確定每一個對象是什么類型復(fù)選框選擇框?qū)ο笞R別-2邏輯名稱是對象屬性之一的值數(shù)值

用于識別對象名稱Nativeclass: EditAttachedText:AgentName:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119對象識別-3對象庫是本地在測試結(jié)構(gòu)范圍內(nèi)

存儲對像信息.對象庫例如對象(屬性)包含登陸窗口在記錄過程中捕獲的:-AgentNamefield-Passwordfield-OKbutton-Cancelbutton-Helpbutton腳本技術(shù)

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

結(jié)構(gòu)化腳本,類似于結(jié)構(gòu)化程序設(shè)計,具有各種邏輯結(jié)構(gòu)、函數(shù)調(diào)用功能。

共享腳本,是指某個腳本可以被多個測試用例使用。

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

關(guān)鍵字驅(qū)動腳本,是數(shù)據(jù)驅(qū)動腳本的邏輯擴張

ScriptexampleSamplescript'====SectionTwo-headerfile,publicvariablesandconstantsdeclarationarea================'$include"rtpCMCSanity0225_BB_X.sbh"'$Include"rtpCMC5_BB.sbh"'$include"rtpReportLog.sbh"'====SectionThree-UnittestscriptingareaforthissubroutineorfunctionSubMain

CallScript"rtpCMCSanity0225_init"

DimResultAsInteger

Dim

meetingTopicAsString

'Iftherealreadyameetingmeeting,didn'tstartagain

SQASuspendLogOutput Result=WindowVP(Exists,"Caption={*"+MEETING_CLIENT_CAPTION+"*}","VP=WindowExistence;Wait=1,3")

SQAResumeLogOutput

IfResult=0Then Result=func_MiscScheduleStartMeetingSimple(PAGE_CAPTION,

meetingTopic,MEETING_PASSWD)

Else …

EndIfCheckBox

CheckBoxClick,"Name=Overdraft"ComboBox,ComboListBox

EditBoxHTMLDocument,HTMLImage,HTMLLink

InputKeys

InputKeys"ThisisRobot.{Enter}"UserActioncommands

測試自動化普遍存在的問題

不正確的觀念或不現(xiàn)實的期望缺乏具有良好素質(zhì)、經(jīng)驗的測試人才

測試工具本身的問題影響測試的質(zhì)量

沒有進行有效的、充分的培訓(xùn)

沒有考慮到公司的實際情況,盲目引入測試工具沒有形成一個良好的使用測試工具的環(huán)境

其它技術(shù)問題和組織問題11.2測試工具的分類和選擇11.2.1測試工具的分類11.2.2測試工具的選擇測試工具是測試自動化的表現(xiàn)測試工具的例子測試工具的分類CodeanalysisTools -Staticanalysis -DynamicanalysisTestExecutionTool -CaptureandReplay(Record&Playback) -MonitorTool -StubsandDrivers -AutomatedTestingEnvironmentTestcasegenerators測試工具的選擇測試工具介紹功能測試工具:QTP、Selenium性能測試工具:JMeter安全性測試工具:AcunetixwebVulnerablityscanner缺陷跟蹤系統(tǒng):Mantis、Bugzilla管理工具:Testlink、TestDirector11.3測試工具的主流產(chǎn)品介紹

11.3.1面向開發(fā)的單元測試工具11.3.2負(fù)載和性能測試工具11.3.3GUI功能測試工具11.3.4基于Web應(yīng)用的測試工具11.3.5軟件測試管理和其他工具面向開發(fā)的單元測試工具根據(jù)不同的語言進行分類:C/C++單元級測試工具PanoramaC++,C++Test,Numega

JUnit是一個開發(fā)源代碼的Java測試框架根據(jù)工具的功能特點進行分類:內(nèi)存資源泄漏檢查工具:Numega中的BounceChecker,Rational的Purify等代碼覆蓋率檢查工具:Numega的TrueCoverage,Rational的PureCoverage,TeleLogic公司的Logiscope代碼性能檢查工具:Logiscope和Macabe等。軟件糾錯工具RationalPurl等。負(fù)載和性能測試工具屬性LoadRunner/MIQALoad/CompuwareWebLoad/Radview價格昂貴較貴一般安裝配置簡單簡單一般操作性較復(fù)雜簡單簡單支持測試對象各種中間件/數(shù)據(jù)庫/應(yīng)用服務(wù)器的性能監(jiān)控/企業(yè)架構(gòu)(j2ee和.net)的測試客戶/服務(wù)器系統(tǒng)、企業(yè)資源配置(ERP)和電子商務(wù)應(yīng)用WebApplication支持平臺windows,unix或linuxHP-UX,IBMAIX,SunSolaris,Linux,NT/2kUnixWindows支持?jǐn)?shù)據(jù)庫DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc支持協(xié)議web,http(s),soap,streaming,wap,winsock,xmlhttp,ssl,oap,xml,streaming,mediaxml,java,ejb,activex,wap,http,snmp,real/m$streaming腳本語言類似C++C/C++和VC++Javascript自動數(shù)據(jù)生成YYY腳本調(diào)試YYY報表定制功能YYYGUI功能測試工具將操作應(yīng)用程序的各種動作和輸入記錄下來,包括鍵盤操作、鼠標(biāo)點擊等捕捉(Record)下來,生成一個腳本文件,這個腳本以后可以被“回放(playback)”。在實際測試過程中,要根據(jù)測試需求對錄制的腳本進行一些必要的修改或加入一些參數(shù),如選擇不同的測試數(shù)據(jù)、腳本中插入檢查點(CheckPoint)進行跟蹤調(diào)試等?;贕UI功能測試工具主要適合回歸測試階段。當(dāng)一個應(yīng)用開發(fā)基本完成后,程序界面基本定型,雖然業(yè)務(wù)的需求會很頻繁變化,但測試腳本結(jié)構(gòu)基本不需要改動,只需要做些小調(diào)整,就可以自動運行,則可大大提高了測試的效率和測試的準(zhǔn)確性。目前主要產(chǎn)品有MI公司的WinRunner,Compuware的QARun,Rational的SQARobot,MSVisualTestSuite等GUI自動化測試設(shè)計測試用例,并手工進行測試。如果測試未通過,則先改正缺陷,再次執(zhí)行測試。如果測試通過,利用測試工具運行該測試過程,捕獲運行過程需要檢測的屏幕對象,并保存。在進行回歸測試測試,自動利用測試工具運行測試,并比較運行過程的屏幕對象與保存的屏幕對象比較,從而判斷測試用例是否通過。基于Web應(yīng)用的測試工具基于Web應(yīng)用的測試工具主要進行鏈接檢查、HTML檢查、Web功能和Web站點安全性等各個方面的測試。主要Web測試工具有MI公司的Astra

系列(如Astra

QuickTest

)、RSW公司的E-TestSuite等;Web系統(tǒng)測試工具:WorkBench、WebApplicationStressTool(WAS)、頁面鏈接測試LinkSleuth等。

Website性能測試測什么?各種操作的響應(yīng)速度最大并發(fā)用戶數(shù)最大數(shù)據(jù)容量ACT(ApplicationCenterTest)ACT測試的步驟創(chuàng)建測試腳本手工編寫VBScript錄音并修改運行測試腳本設(shè)定并發(fā)用戶數(shù)設(shè)定用戶身份運行、觀察、獲取主觀體驗理解結(jié)果報告圖表各項性能統(tǒng)計數(shù)字日志文件解讀ACT測試結(jié)果TTFB,TTLBHTTP錯誤的含義401403404500常見的ACT結(jié)果圖線11.4Rational產(chǎn)品的整體解決方案11.4.1Rational測試產(chǎn)品結(jié)構(gòu)11.4.2Rational全套測試解決方案的特點

TestManager:集中、可伸縮的測試管理平臺Robot:傳統(tǒng)應(yīng)用自動化測試工具RobotJ:Web/Java自動測試工具C

溫馨提示

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

最新文檔

評論

0/150

提交評論