




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件測試主講:許福聯(lián)絡(luò)方式:62336516手機(jī):10910901郵件:xufu@地址:信息學(xué)院軟件教研室主樓411第四章軟件自動化測試主要內(nèi)容4.1自動化測試根底4.2軟件自動化測試生存周期方法學(xué)4.3軟件測試工具分類4.4選擇適當(dāng)?shù)臏y試工具4.5常見自動測試工具簡介4.1自動化測試根底4.1.1自動化測試的意義4.1.2自動化測試的定義和引入4.1.3自動化測試的原理和方法4.1.4自動化測試工具的作用及優(yōu)勢4.1.5自動化測試的運(yùn)用4.1.1自動化測試的意義軟件測試的任務(wù)量很大〔據(jù)統(tǒng)計,測試會占用到40%的開發(fā)時間;一些可靠性要求非常高的軟件,測試時間甚至占到開發(fā)時間的60%-80%〕。而測試中的許多操作是反復(fù)性的、非智力性的和非發(fā)明性的,并要求做準(zhǔn)確細(xì)致的任務(wù),計算機(jī)就最適宜于替代人工去完成這樣的義務(wù)。軟件自動化測試是相對手工測試而存在的,主要是經(jīng)過所開發(fā)的軟件測試工具、腳本等來實(shí)現(xiàn),具有良好的可操作性、可反復(fù)性和高效率等特點(diǎn)。手工測試的局限性經(jīng)過手工測試無法做到覆蓋一切代碼途徑。簡單的功能性測試用例在每一輪測試中都不能少,而且具有一定的機(jī)械性、反復(fù)性,任務(wù)量較大。許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤,經(jīng)過手工測試很難捕捉到。進(jìn)展系統(tǒng)負(fù)載、性能測試時,需求模擬大量數(shù)據(jù)或大量并發(fā)用戶等各種運(yùn)用場所時,很難經(jīng)過于工測試來進(jìn)展。進(jìn)展系統(tǒng)可靠性測試時,需求模擬系統(tǒng)運(yùn)轉(zhuǎn)10年、幾十年,以驗(yàn)證系統(tǒng)能否穩(wěn)定運(yùn)轉(zhuǎn),這也是手工測試無法模擬的。假設(shè)有大量〔幾千〕的測試用例,需求在短時間內(nèi)〔1天〕完成,手工測試幾乎不能夠做到。自動化測試帶來的益處縮短軟件測試周期,讓產(chǎn)品更快投放市場。測試效率高,充分利用硬件資源。節(jié)省人力資源,降低測試本錢。加強(qiáng)測試的穩(wěn)定性和可靠性。提高軟件測試的準(zhǔn)確度和準(zhǔn)確度。使測試任務(wù)開展相對比較容易,產(chǎn)生更高質(zhì)量的產(chǎn)品。手工不能做的事情,自動化測試能做,如負(fù)載、性能測試。
軟件測試實(shí)行自動化進(jìn)程,絕不是由于膩煩了反復(fù)的測試任務(wù),而是由于測試任務(wù)的需求,更準(zhǔn)確地說是回歸測試和系統(tǒng)測試的需求。建立正確的自動化測試目的目前,軟件自動化測試還不能處理一切的測試問題,因此,需求建立正確的自動化測試目的。測試方案產(chǎn)生:主要靠測試工程師與軟件消費(fèi)質(zhì)量保證專家的協(xié)作,自動化工具只能起到一定的輔助作用。一種測試工具不完全適用于一切測試自動測試不一定減輕任務(wù)量測試進(jìn)度能夠不一定縮短測試工具不一定易于運(yùn)用自動化測試的普遍運(yùn)用存在局限測試覆蓋率不會到達(dá)百分之百
4.1.2自動化測試的定義自動化測試可以被了解為運(yùn)用一個商業(yè)通用測試自動化工具編寫一個軟件來測試其它軟件,是經(jīng)過編寫軟件去測試其它軟件。編寫驅(qū)動被測運(yùn)用程序的測試腳本以執(zhí)行鍵盤、鼠標(biāo)動作和后臺進(jìn)程并驗(yàn)證運(yùn)用程序的呼應(yīng)和行為。自動化測試的定義和引入(續(xù))對自動化測試需求有正確認(rèn)識能提高測試效率、覆蓋率和可靠性等。自動化測試是對手工測試的一種補(bǔ)充,不能完全替代手工測試。它們各有特點(diǎn),其測試對象和測試范圍都不一樣:在系統(tǒng)功能邏輯測試、驗(yàn)收測試、適用性測試、涉及物理交互性測試時,多采用黑盒測試的手工測試方法單元測試、集成測試、系統(tǒng)負(fù)載測試、性能測試、穩(wěn)定性測試、可靠性測試等比較適宜采用自動化測試。不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等不適宜自動化測試。自動化測試工具在進(jìn)展功能測試時,其準(zhǔn)確的含義是回歸測試工具,這時工具不能發(fā)現(xiàn)更多的新問題,但可以保證對曾經(jīng)測試過部分的準(zhǔn)確性和客觀性。
多數(shù)情況下,手工測試和自動化測試應(yīng)該相結(jié)合,以最有效的方法來完成測試義務(wù)。自動化測試的定義和引入〔續(xù)〕通常,當(dāng)軟件開發(fā)過程具有以下情況時,就需求思索引入自動化測試:非常重要的測試;涉及范圍很廣的測試;對主要功能的測試;容易自動化的測試;很快有報答的測試;運(yùn)轉(zhuǎn)最頻繁的測試;測試個案的生成,包括測試輸入、測試輸出、測試操作指令等;測試的執(zhí)行與控制,包括單機(jī)運(yùn)轉(zhuǎn)和網(wǎng)絡(luò)多機(jī)分布式的運(yùn)轉(zhuǎn),在節(jié)假日的運(yùn)轉(zhuǎn),測試個案調(diào)用控制,測試對象、測試范圍與測試版本的控制等;測試結(jié)果與規(guī)范輸出進(jìn)展對比;不吻合預(yù)期的測試結(jié)果的分析、記錄、分類和報告,及總體測試情況的統(tǒng)計及報表的產(chǎn)生。
并非任何測試自動化都可以起到預(yù)期效果,只需好的自動化測試體系才干揚(yáng)長避短,到達(dá)建立自動化測試體系的初衷,在質(zhì)量保證方面有所作為。否那么測試自動化能夠會由于其建立和維護(hù)等方面的負(fù)擔(dān)呵斥延誤工期、本錢浪費(fèi),甚至最終被完全放棄。選擇高效的自動化測試體系
如何評價一個測試或測試自動化體系能否優(yōu)越呢?為此,我們應(yīng)該關(guān)注自動化測試體系的以下七個方面的屬性。
(1)可維護(hù)性
指能否可以很容易使測試更新跟上軟件晉級的步伐。
軟件會變卦或晉級是注定的現(xiàn)實(shí),防止變卦或晉級呵斥自動化測試的維護(hù)任務(wù)量過大是很重要的,否那么整個測試自動化任務(wù)將能夠被全面否決,甚至束之高閣。
(2)高效性
效率是與本錢嚴(yán)密聯(lián)絡(luò)的,自動化測試的一個重要目的就是更經(jīng)濟(jì)地運(yùn)轉(zhuǎn)測試。應(yīng)在測試和測試自動化的設(shè)計階段全面審視各方面要素,在科學(xué)合理的測試流程根底上利用優(yōu)秀的自動化戰(zhàn)略將自動化測試與手工測試有機(jī)結(jié)合,才干實(shí)現(xiàn)效率最大化。
(3)可靠性
指測試體制能否能給出準(zhǔn)確而且可重現(xiàn)的結(jié)果。
(4)兼容性
指能否允許測試用例為不同的測試目的而以不同的方式組合。
(5)可用性
指定制或更改測試用例能否容易,測試人員或用戶掌握和了解其運(yùn)用方法能否容易。
(6)強(qiáng)壯性
指能否可以處置不測情況而不退出或終止,并盡量給出正確有用的信息。
(7)可移植性
指在不同環(huán)境中運(yùn)轉(zhuǎn)測試的才干。
應(yīng)根據(jù)運(yùn)用自動化測試體系的實(shí)踐目的,綜合思索這七個方面的詳細(xì)屬性,有針對性地提高本人關(guān)注的屬性,以實(shí)施符合實(shí)踐需求的自動化測試體系。4.1.3自動化測試的原理和方法軟件自動化測試是經(jīng)過設(shè)計特殊程序模擬測試人員對計算機(jī)的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對計算機(jī)程序進(jìn)展檢查。軟件測試自動化實(shí)現(xiàn)的原理和方法主要有:對代碼進(jìn)展靜態(tài)和動態(tài)分析測試過程的捕獲和回放測試腳本技術(shù)虛擬用戶技術(shù)代碼分析一種白盒測試的自動化方法。代碼分析類似于高級編譯系統(tǒng),普通針對不同的高級言語去構(gòu)造分析工具,在工具中定義類、對象、函數(shù)、變量等定義規(guī)那么、語法規(guī)那么。在分析時對代碼進(jìn)展語法掃描,找出不符合編碼規(guī)范的地方。根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。捕獲和回放
一種黑盒測試的自動化方法。捕獲是將用戶每一步操作都記錄下來。將用戶界面的像素坐標(biāo)或程序顯示對象〔窗口、按鈕、滾動條等〕的位置,以及相對應(yīng)的操作、形狀變化或是屬性變化。一切的記錄轉(zhuǎn)換為一種腳本言語所描畫的過程,以模擬用戶的操作?;胤攀菍⒛_本言語所描畫的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的規(guī)范結(jié)果比較??梢源蟠鬁p輕黑盒測試的任務(wù)量,在迭代開發(fā)的過程中,可以很好地進(jìn)展回歸測試。捕獲和回放<續(xù)>
自動化負(fù)載測試幾乎都是采用“錄制-回放〞技術(shù)。首先,由手工完成一遍需測試的流程,由計算機(jī)記錄下客戶端和效力器端之間的通訊信息〔這些信息通常是一些協(xié)議和數(shù)據(jù)〕,構(gòu)成特定的腳本程序(Script)。統(tǒng)終身成多個虛擬用戶,運(yùn)轉(zhuǎn)該腳本,監(jiān)控系統(tǒng)性能,并提供分析報告。這樣,經(jīng)過幾臺機(jī)器就可以模擬出成百上千用戶,以便于對系統(tǒng)進(jìn)展負(fù)載才干測試。捕獲和回放<續(xù)>
腳本技術(shù)
腳本是測試工具執(zhí)行的一組指令的集合,是計算機(jī)程序的一種方式。腳本可以經(jīng)過錄制測試的操作產(chǎn)生,然后再做修正,這樣可以減少腳本編程的任務(wù)量。也可以直接用腳本言語編寫腳本。腳本技術(shù)可以分為以下幾類:線性腳本——錄制手工執(zhí)行的測試用例得到的腳本。構(gòu)造化腳本——類似于構(gòu)造化程序設(shè)計,具有各種邏輯構(gòu)造〔順序、分支、循環(huán)〕,而且具有函數(shù)調(diào)用功能。共享腳本——是指某個腳本可被多個測試用例運(yùn)用,即腳本言語允許一個腳本調(diào)用另一個腳本。數(shù)據(jù)驅(qū)動腳本——將測試輸入存儲在獨(dú)立的數(shù)據(jù)文件中。關(guān)鍵字驅(qū)動腳本——是數(shù)據(jù)驅(qū)動腳本的邏輯擴(kuò)展。自動化測試工具的特征軟件測試自動化通常借助測試工具進(jìn)展。支持腳本化言語(ScriptingLanguage)對程序界面中對象的識別才干支持函數(shù)的可重用支持外部函數(shù)庫籠統(tǒng)層—將程序界面中的對象實(shí)體映射成邏輯對象分布式測試(DistributedTest)的支持支持?jǐn)?shù)據(jù)驅(qū)動測試(Data-DrivenTest)錯誤處置調(diào)試器(Debugger)源代碼管理支持腳本的命令行(CommandLine)方式4.1.4自動化測試工具的優(yōu)勢和局限測試工具可以進(jìn)展部分的測試設(shè)計、實(shí)現(xiàn)、執(zhí)行和比較的任務(wù)。部分的測試工具可以實(shí)現(xiàn)測試用例的自動生成,但通常的任務(wù)方式為人工設(shè)計測試用例,運(yùn)用工具進(jìn)展用例的執(zhí)行和比較。采用自動比較技術(shù),還可以自動完成測試用例執(zhí)行結(jié)果的判別,從而防止人工比對存在的疏漏問題。自動化測試工具的作用:〔1〕確定系統(tǒng)最優(yōu)的硬件配置。〔2〕檢查系統(tǒng)的可靠性?!?〕檢查系統(tǒng)硬件和軟件的晉級情況?!?〕評價新產(chǎn)品。自動化測試工具的作用及優(yōu)勢〔續(xù)〕自動化測試工具的優(yōu)勢主要表達(dá)在以下幾個方面:〔1〕記錄業(yè)務(wù)流程并生成腳本程序的才干?!?〕對各種網(wǎng)絡(luò)設(shè)備〔客戶機(jī)或效力器、其它網(wǎng)絡(luò)設(shè)備〕的模擬才干?!?〕用有限的資源生成高質(zhì)量虛擬用戶的才干?!?〕對于整個軟件和硬件系統(tǒng)中各個部分的監(jiān)控才干。〔5〕對于測試結(jié)果的表現(xiàn)和分析才干。測試自動化限制測試自動化可以帶來非常明顯的收益,但也有以下限制:不能取代手工測試手工測試比自動測試發(fā)現(xiàn)的缺陷更多對測試質(zhì)量的依賴性極大測試自動化不能提高有效性測試自動化能夠會制約軟件開發(fā)工具本身并無想象力
另外,人工測試比測試工具更優(yōu)越的另一個方面是可以處置不測事件。雖然工具也能處置部分異常事件,但是對真正的突發(fā)事件和不能由軟件處理的問題就無能為力。4.1.5自動化測試的運(yùn)用測試用例〔TestCase,測試個案〕的生成測試的執(zhí)行與控制測試結(jié)果與規(guī)范輸出的對比不吻合測試結(jié)果的分析處置測試形狀的統(tǒng)計和報表的生成自動化測試與開發(fā)中產(chǎn)品每日構(gòu)建的配合采用自動化比較技術(shù)4.2軟件自動化測試生存周期方法學(xué)自動化測試生存周期方法學(xué)1.自動化測試決議2.測試工具獲取3.自動化測試引入過程4.測試方案、設(shè)計與開發(fā)5.測試執(zhí)行與管理6.測試評審與評價自動化測試生存周期方法學(xué)構(gòu)造自動化測試生存周期方法的運(yùn)用自動化測試生存周期方法學(xué)1.自動化測試決議2.測試工具獲取3.自動化測試引入過程4.測試方案、設(shè)計與開發(fā)5.測試執(zhí)行與管理6.測試評審與評價A.系統(tǒng)生存周期過程評價與改良F.生成維護(hù)階段C.小型工具先導(dǎo)/原型D.系統(tǒng)設(shè)計與開發(fā)階段B.業(yè)務(wù)分析與需求階段E.組裝與測試階段4.3自動化測試工具的分類根據(jù)測試方法不同,自動化測試工具可以分為:白盒測試工具黑盒測試工具自動化測試工具的分類(續(xù))按照主要用途和運(yùn)用領(lǐng)域分類:捕獲錯誤用途:用于捕獲軟件錯誤或程序調(diào)試。代碼覆蓋率分析器和代碼丈量器內(nèi)存走漏監(jiān)測工具可運(yùn)用性測試工具測試數(shù)據(jù)生成器測試管理工具網(wǎng)絡(luò)測試工具GUI測試工具負(fù)載和性能測試工具公用工具4.4選擇自動化測試工具測試人員在選擇和運(yùn)用自動化測試工具時,可以從以下角度來思索:關(guān)注組織的需求自主開發(fā)購買按照用途選擇匹配的測試工具在適當(dāng)?shù)纳芷谶x擇測試工具按照測試人員的實(shí)踐技藝選擇匹配的測試工具選擇一個可提供的測試工具4.5幾種常用軟件測試工具QACenterQACenter自動化測試系列工具是Compuware公司的產(chǎn)品,它可以協(xié)助測試人員創(chuàng)建快速、可重用的測試過程。這些測試工具可以協(xié)助管理測試過程,快速分析和調(diào)試程序,包括針對回歸、強(qiáng)度、單元、并發(fā)、集成、移植、容量、負(fù)載測試、自動執(zhí)行測試和產(chǎn)生測試結(jié)果文檔。WinRunnerWinRunner是MercuryInteractive公司提供的一個企業(yè)級的功能檢測工具。WinRunner使功能測試得以自動化,從而保證了運(yùn)用程序按照預(yù)定方式運(yùn)轉(zhuǎn)。它以測試腳本方式將業(yè)務(wù)的過程記錄下來,并隨著相應(yīng)的運(yùn)用程序的開發(fā)或更新來支持對腳本的改良。執(zhí)行腳本及報告結(jié)果在整個的運(yùn)用周期中可對腳本反復(fù)運(yùn)用。LoadRunnerLoadRunner是Merc
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 609:2025 EN Coal and coke - Determination of carbon and hydrogen - High temperature combustion method
- 義務(wù)教育課程標(biāo)準(zhǔn)解讀與思考
- 電力負(fù)荷控制員練習(xí)題庫與參考答案解析
- 12月病理學(xué)模擬試題(含參考答案解析)
- 木材化學(xué)成分在生物醫(yī)學(xué)工程中的應(yīng)用考核試卷
- 紡織品的綠色染整工藝創(chuàng)新考核試卷
- 肥料制造的農(nóng)田耕作與機(jī)械化作業(yè)考核試卷
- 2025年中子、電子及Γ輻照裝置合作協(xié)議書
- 認(rèn)證認(rèn)可ISO設(shè)施管理體系考核試卷
- 四個精某著名企業(yè)激勵故事
- 賓館飯店消防安全培訓(xùn)課件
- 2022杭州新教科版六年級科學(xué)下冊第四單元《物質(zhì)的變化》全部教案(共7課)
- 客房物品擺放標(biāo)準(zhǔn)
- 弘揚(yáng)新時代科學(xué)家精神(課件)-小學(xué)愛國主義教育主題班會通用版
- 當(dāng)代社會問題課件
- 小學(xué)語文教師基本功大賽試卷及答案
- 某切眼掘進(jìn)工作面開口施工的安全技術(shù)措施
- 古代職業(yè)-三教九流
- 某醫(yī)院安全生產(chǎn)三項(xiàng)制度(安全生產(chǎn)責(zé)任制、制度、操作規(guī)程)匯編
- 音樂鑒賞之歌曲鑒賞ppt
- 2022年我國新能源汽車產(chǎn)業(yè)發(fā)展趨勢分析
評論
0/150
提交評論