版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全程軟件測試
-Ch.5軟件測試自動化第5章軟件測試自動化5.1測試自動化的內(nèi)涵5.2測試工具的分類和選擇5.3測試工具的主流產(chǎn)品介紹5.4IBM-Rational產(chǎn)品的整體解決方案5.5MercuryInteractive產(chǎn)品的整體解決方案5.6Compuware產(chǎn)品的整體解決方案5.1測試自動化的內(nèi)涵5.1.1為什么要軟件測試自動化5.1.2自動化測試的引入和應(yīng)用5.1.3測試自動化的基本結(jié)構(gòu)5.1.4測試自動化的原理和方法5.1.5測試自動化普遍存在的問題手工測試的局限性通過手工測試無法做到覆蓋所有代碼路徑;許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤通過手工測試很難捕捉到在系統(tǒng)負(fù)載、性能測試時,需要模擬大量數(shù)據(jù)、或大量并發(fā)用戶等各種應(yīng)用場合時,也很難通過手工測試來進(jìn)行在進(jìn)行系統(tǒng)可靠性時,需要模擬系統(tǒng)運(yùn)行十年、幾十年,以驗證系統(tǒng)能否穩(wěn)定運(yùn)行,也是手工測試無法模擬的。如果有大量(幾千)的測試用例,需要在短時間內(nèi)完成,手工測試又怎么辦呢?測試可以發(fā)現(xiàn)錯誤,并不能表明程序的正確性。
自動測試定義軟件系統(tǒng)功能規(guī)格書(Spec)只是從書面上的一套軟件產(chǎn)品是由一套完整的可運(yùn)行的測試來定義的測試所有可能情況將遭遇“組合爆炸”問題Win98,WinME,WinNT,Win2k,WinXP,WinXPTablePCEd,WinXPMediaCenterEd,Longhorn,etcEnglish,German,Japanese,Chinese,Arabic,Thai…Office97,Office2000,OfficeXP,Office2003…X8632-bit,Intel64-bit,AMD64-bit,Alpha,MIPS…SQLServer6.5,SQLServer7.0,SQLServer2000…VisualStudio6,VS.NET,VS.NET2003,Whidbey…手工測試的局限性
(2)代碼全部CodePath測試覆蓋也幾乎不可能每一個if…else…或switch語句就會把情況增加一倍許多異常處理代碼在正常使用中不會碰到許多與時序,死鎖,資源沖突,多線程有關(guān)的錯誤很難捕捉到每一個產(chǎn)品都會有不同的版本外加各自的SP與QFE(QuickFixEngineering,又稱Hotfix)NT4,VS6SP1~SP5,Windows2000SP1-SP4VS.NET,SQLServerSP1–SP3可重復(fù)使用的自動測試對產(chǎn)品未來版本與ServicePack的測試將有事半功倍的效果手工測試的局限性(2)自動化測試帶來的好處1.縮短周期Testingcycle-RegressionTesting2.AttributesofTA,Speed速度Efficiency效率AccuracyandPrecise準(zhǔn)確、精確
Relentlessness無情3.容易實施、結(jié)果可靠4.做手工不能做測試自動化項目的本質(zhì)定義:利用GUI自動化測試工具來開發(fā)和執(zhí)行測試腳本,從而驗證是否滿足需求本質(zhì):測試自動化項目本質(zhì)上是軟件開發(fā)項目一個測試自動化項目必須具有:清晰定義并嚴(yán)格實施的過程來自組織各級的支持周密的計劃具體的設(shè)計和架構(gòu)測試自動化成本/收益分析結(jié)構(gòu)成本收益凈收益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocusingonviewsoftheapplicationandusingdatapools11.6197.4各自特點軟件測試自動化(TA)雖然具有很多優(yōu)點,但只是對手工測試的一種補(bǔ)充,TA絕不能代替手工測試,有各自的特點:
在系統(tǒng)功能邏輯測試、驗收測試、適用性測試、涉及物理交互性測試時,多采用黑盒測試的手工測試方法;單元測試、集成測試、系統(tǒng)負(fù)載或性能、穩(wěn)定性、可靠性測試等比較適合采用TA;對那種不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等不適合測試自動化工具本身并沒有想象力和靈活性,根據(jù)經(jīng)驗報道,自動測試只能發(fā)現(xiàn)15%的缺陷,而手工測試可以發(fā)現(xiàn)85%的缺陷;TA工具在進(jìn)行功能測試時,其準(zhǔn)確的含義是回歸測試工具,因為工具不能發(fā)現(xiàn)更多的新問題,但可以保證對已經(jīng)測試過部分進(jìn)行測試的準(zhǔn)確性和客觀性
正確認(rèn)識測試自動化不現(xiàn)實的期望注定測試自動化的失敗測試自動化能:顯著降低重復(fù)手工測試的時間建立可靠、重復(fù)的測試,減少認(rèn)為錯誤增強(qiáng)測試質(zhì)量和覆蓋率測試自動化不能:完全替代手工測試和手工測試工程師保證100%的測試覆蓋率彌補(bǔ)測試實踐的不足自動化測試的引入和應(yīng)用找準(zhǔn)測試自動化的切入點把測試開發(fā)納入整個軟件開發(fā)體系測試自動化依賴測試流程和測試用例軟件測試自動化的投入較大進(jìn)行資源的合理調(diào)度測試自動化的基本結(jié)構(gòu)機(jī)房辦公室文件服務(wù)器SQLServerWeb服務(wù)器控制程序拷貝測試文件拷貝測試結(jié)果分派工作分派工作查詢結(jié)果Build系統(tǒng)編譯尋找工作項目更新顯示DevBuild,TestBuild測試自動化的原理和方法代碼分析:類似于高級編譯系統(tǒng),在工具中定義類/對象/函數(shù)/變量等定義規(guī)則、語法規(guī)則等,在分析時對代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方。
捕獲和回放:代碼分析是一種白盒測試的自動化方法,捕獲和回放則是一種黑盒測試的自動化方法。腳本技術(shù)
線性腳本,是錄制手工執(zhí)行的測試用例得到的腳本,這種腳本包含所有的擊鍵、移動、輸入數(shù)據(jù)等,所有錄制的測試用例都可以得到完整的回放。
結(jié)構(gòu)化腳本,類似于結(jié)構(gòu)化程序設(shè)計,具有各種邏輯結(jié)構(gòu)、函數(shù)調(diào)用功能。
共享腳本,是指某個腳本可以被多個測試用例使用。
數(shù)據(jù)驅(qū)動腳本,將測試輸入存儲在獨(dú)立的(數(shù)據(jù))文件中,而不是存儲在腳本中。
關(guān)鍵字驅(qū)動腳本,是數(shù)據(jù)驅(qū)動腳本的邏輯擴(kuò)張
自動比較
靜態(tài)比較和動態(tài)比較,簡單比較和復(fù)雜比較,敏感性測試比較和健壯性測試比較,。比較過濾器
測試自動化普遍存在的問題
不正確的觀念或不現(xiàn)實的期望缺乏具有良好素質(zhì)、經(jīng)驗的測試人才
測試工具本身的問題影響測試的質(zhì)量
沒有進(jìn)行有效的、充分的培訓(xùn)
沒有考慮到公司的實際情況,盲目引入測試工具沒有形成一個良好的使用測試工具的環(huán)境
其它技術(shù)問題和組織問題5.2測試工具的分類和選擇5.2.1測試工具的分類5.2.2測試工具的選擇測試工具是測試自動化的表現(xiàn)測試工具的研究 軟件測試的過程是一項很復(fù)雜而費(fèi)時的工作,它不僅執(zhí)行每一個測試用例,還要設(shè)置運(yùn)行環(huán)境、記錄輸出、運(yùn)行后清理并記錄失敗信息。僅僅依靠測試人員手工完成是很困難的。所以必須研究測試工具以幫助測試人員自動或半自動的完成測試。 在資金和人力、時間的供給一定的條件下面,擁有好的測試工具能夠提高測試效率從而降低測試成本,則能夠選擇更高的測試充分性標(biāo)準(zhǔn)進(jìn)行測試,從而提高軟件質(zhì)量。測試工具的例子測試工具的分類CodeanalysisTools -Staticanalysis -DynamicanalysisTestExecutionTool -CaptureandReplay(Record&Playback) -MonitorTool -StubsandDrivers -AutomatedTestingEnvironmentTestcasegenerators測試工具的選擇5.3測試工具的主流產(chǎn)品介紹
5.3.1面向開發(fā)的單元測試工具5.3.2負(fù)載和性能測試工具5.3.3GUI功能測試工具5.3.4基于Web應(yīng)用的測試工具5.3.5軟件測試管理和其他工具面向開發(fā)的單元測試工具根據(jù)不同的語言進(jìn)行分類:C/C++單元級測試工具PanoramaC++,C++Test,NumegaJUnit是一個開發(fā)源代碼的Java測試框架根據(jù)工具的功能特點進(jìn)行分類:內(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ù)測試需求對錄制的腳本進(jìn)行一些必要的修改或加入一些參數(shù),如選擇不同的測試數(shù)據(jù)、腳本中插入檢查點(CheckPoint)進(jìn)行跟蹤調(diào)試等?;贕UI功能測試工具主要適合回歸測試階段。當(dāng)一個應(yīng)用開發(fā)基本完成后,程序界面基本定型,雖然業(yè)務(wù)的需求會很頻繁變化,但測試腳本結(jié)構(gòu)基本不需要改動,只需要做些小調(diào)整,就可以自動運(yùn)行,則可大大提高了測試的效率和測試的準(zhǔn)確性。目前主要產(chǎn)品有MI公司的WinRunner,Compuware的QARun,Rational的SQARobot,MSVisualTestSuite等GUI自動化測試設(shè)計測試用例,并手工進(jìn)行測試。如果測試未通過,則先改正缺陷,再次執(zhí)行測試。如果測試通過,利用測試工具運(yùn)行該測試過程,捕獲運(yùn)行過程需要檢測的屏幕對象,并保存。在進(jìn)行回歸測試測試,自動利用測試工具運(yùn)行測試,并比較運(yùn)行過程的屏幕對象與保存的屏幕對象比較,從而判斷測試用例是否通過?;赪eb應(yīng)用的測試工具基于Web應(yīng)用的測試工具主要進(jìn)行鏈接檢查、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測試中的常見術(shù)語RPS(RequestPerSecond)并發(fā)連接數(shù)(SimultaneousBrowserConnections)思考時間(ThinkingTime)RPS+SBC+ThinkingTime=Concurrentusers?ACT測試的步驟創(chuàng)建測試腳本手工編寫VBScript錄音并修改運(yùn)行測試腳本設(shè)定并發(fā)用戶數(shù)設(shè)定用戶身份運(yùn)行、觀察、獲取主觀體驗理解結(jié)果報告圖表各項性能統(tǒng)計數(shù)字日志文件解讀ACT測試結(jié)果TTFB,TTLBHTTP錯誤的含義401403404500常見的ACT結(jié)果圖線其他Web負(fù)載發(fā)生工具M(jìn)icrosoft'sWebApplicationStressToolCyrano'sOpenSTAQuestSoftware'sBenchmarkFactoryEmpirix'sE-TestSuite6.0RadView'sWebLoad5.0RationalSoftware'sRationalRobotMercuryInterctive'sAstraLoadRunner7.5Compuware'sQALoad4.7SegueSoftware'sSilePerformer5.011.4Rational產(chǎn)品的整體解決方案11.4.1Rational測試產(chǎn)品結(jié)構(gòu)11.4.2Rational全套測試解決方案的特點
TestManager:集中、可伸縮的測試管理平臺Robot:傳統(tǒng)應(yīng)用自動化測試工具RobotJ:Web/Java自動測試工具ClearQuest:缺陷跟蹤工具Rational系統(tǒng)測試方案CoverageQuantifyPurifyPlanTestTestManagerDesignTestTestManagerImplementTestRobotRobotJTestManagerExecuteTestRobotRobotJTestManagerEvaluateTestClearQuestTestManagerChangeRequestandConfigurationManagement-ClearQuestandClearCaseLTRationalUnifiedProcessTestManager:控制中心ViewResultsPassFailCoverage
reports
Generate
change
requestsTestDesignOS/VerMemDiskTestIterationsTestConfigurationsTestPlanTestCasesTestInputsAdaptersInputRobotGUI
and
VUScriptsVBor
Java
scriptsExternal
Scripts
onother
OS’sExecutionAdaptersRationalTestManagerTestManager和ClearQuest集成TestManager:跨越整個測試周期
ü自動實現(xiàn)缺陷與需求之間的關(guān)聯(lián)測試度量:覆蓋,趨勢等Robot
GUI的自動功能測試2.執(zhí)行測試腳本OKFind執(zhí)行腳本檢驗結(jié)果報告錯誤迭代1.創(chuàng)建測試腳本選擇測試需求錄制操作過程(面向?qū)ο箐浿?)插入驗證點編輯生成的腳本(可選)
和白盒工具集成RobotJ:測試Java和Web應(yīng)用ScriptAssureDynamicData
Validation技術(shù)保證了即使對象名稱發(fā)生改變,測試腳本也能正常回放驗證動態(tài)內(nèi)容利用Eclipse這一標(biāo)準(zhǔn)的IDE環(huán)境,同時提供與版本控制工具的集成Professional
Language
andIDENEW
Technologyfor
JavaandWebBased
ApplicationsScriptAssure:
降低了測試腳本的維護(hù)成本Version1.0Version
2.0DeterminesMatch
??Tester
seesTool
sees動態(tài)數(shù)據(jù)驗證:可伸縮的測試腳本OrderIDchangeswitheachorderplacedTestFailswhencomparingstaticbaselinetodynamicdataTestPasseswhencomparingpatternbaselinetodynamicdata動態(tài)內(nèi)容匹配利用模式匹配技術(shù)來驗證數(shù)據(jù)如不是驗證“OrderID230”,而是“OrderID###”當(dāng)驗證應(yīng)用的行為時,考慮了各種不同的合法響應(yīng)業(yè)界標(biāo)準(zhǔn)的IDE和測試腳本語言Eclipse集成環(huán)境調(diào)試器、代碼編輯器使用標(biāo)準(zhǔn)的Java語言作為測試腳本語言11.5.1MI產(chǎn)品結(jié)構(gòu)11.5.2MI三個重量級產(chǎn)品的介紹11.5MI產(chǎn)品的整體解決方案MI產(chǎn)品結(jié)構(gòu)
LoadRunnerWinRunnerTestDirectorAstraQuickTestAstraLoadTest
TopazPrism
ActiveTest
ActiveWatch測試監(jiān)控軟件MSP被測系統(tǒng)LoadRunner的解決方案Web服務(wù)器數(shù)據(jù)庫服務(wù)器壓力產(chǎn)生虛擬用戶壓力測試機(jī)解決測試資源的限制利用圖表工具分析測試結(jié)果利用錄制的腳本進(jìn)行回歸測試AnalysisController運(yùn)行大量的“VirtualUsers”在不同的機(jī)器上利用“VirtualUsers”代替實際測試人員通過“Controller”管理“Vusers”49LoadRunner的解決方案支持多種協(xié)議和API50LoadRunner的解決方案能夠?qū)Χ喾NServer和資源進(jìn)行監(jiān)控Web服務(wù)器Web應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器系統(tǒng)資源51LoadRunner的解決方案VirtualUserGenerator產(chǎn)生壓力和搜集測試結(jié)果生成用于“Controller”部署的“Vusers”通過圖表分析工具來編譯和顯示測試結(jié)果LoadRunnerControllerLoadRunnerAnalysis52系統(tǒng)性能調(diào)優(yōu)LoadRunner工作流程分析測試結(jié)果階段5LoadRunnerVUGENLoadRunnerCONTROLLER&
ANALYSIS執(zhí)行場景階段4設(shè)計測試場景階段3創(chuàng)建WebVirtualUsers階段2階段1制定壓力測試方案NOTE:
這是LR的一個典型工作流程。為便于理解這個流程,在本教程中有些步驟將按照不同的順序來介紹。11.6Compuware產(chǎn)品的整體解決方案11.6.1Compuware產(chǎn)品結(jié)構(gòu)11.6.2Compuware分階段解決方案Compuware產(chǎn)品結(jié)構(gòu)1.黑盒測試工具QACenter
2.白盒測試工具—Numega系列產(chǎn)品
3.Vantage應(yīng)用級網(wǎng)絡(luò)性能監(jiān)控管理軟件編碼實現(xiàn)階段運(yùn)行期錯誤檢測和診斷工具ErrorDetection、代碼覆蓋率分析工具CoverageAnalysis、性能分析和優(yōu)化工具PerformanceAnalysis、設(shè)備驅(qū)動開發(fā)套件NuMegaDriverStudio、JAVA可視線程和事件分析工具JC
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度成都事業(yè)單位勞動合同范本(含員工行為規(guī)范)
- 2025年度綠色能源PPP項目投資合作協(xié)議范本3篇
- Unit4SectionB2a-2e說課稿2024-2025學(xué)年人教版英語八年級上冊
- 二零二五年度建筑工程施工合同:水渠硬化工程專業(yè)分包協(xié)議2篇
- 期末評估測試卷(二) (含答案)2024-2025學(xué)年數(shù)學(xué)冀教版八年級下冊
- 甘肅省甘南藏族自治州(2024年-2025年小學(xué)六年級語文)部編版摸底考試(上學(xué)期)試卷及答案
- 西藏那曲地區(qū)(2024年-2025年小學(xué)六年級語文)統(tǒng)編版階段練習(xí)((上下)學(xué)期)試卷及答案
- 貴州輕工職業(yè)技術(shù)學(xué)院《建筑外觀裝飾設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆巴音郭楞蒙古自治州(2024年-2025年小學(xué)六年級語文)部編版能力評測(下學(xué)期)試卷及答案
- 貴州農(nóng)業(yè)職業(yè)學(xué)院《明史趣談》2023-2024學(xué)年第一學(xué)期期末試卷
- 2023視頻監(jiān)控人臉識別系統(tǒng)技術(shù)規(guī)范
- 醫(yī)學(xué)教案SPZ-200型雙向道床配碴整形車操作保養(yǎng)維修手冊
- 2024年四川省宜賓市敘州區(qū)六年級數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含解析
- 獸醫(yī)學(xué)英語詞匯【參考】
- 10《吃飯有講究》(教學(xué)設(shè)計)-2024-2025學(xué)年道德與法治一年級上冊統(tǒng)編版
- 2024-2030年中國干燥設(shè)備行業(yè)研發(fā)創(chuàng)新狀況及發(fā)展行情監(jiān)測研究報告
- 2024仁愛版新教材七年級上冊英語新課程內(nèi)容解讀課件(深度)
- 藥物生殖毒性研究技術(shù)指導(dǎo)原則
- 《UI界面設(shè)計》教案
- 食品技術(shù)咨詢服務(wù)
- 2023年浙江大學(xué)醫(yī)學(xué)院附屬邵逸夫醫(yī)院招聘考試真題及答案
評論
0/150
提交評論