自動化測試?yán)碚撝R_第1頁
自動化測試?yán)碚撝R_第2頁
自動化測試?yán)碚撝R_第3頁
自動化測試?yán)碚撝R_第4頁
自動化測試?yán)碚撝R_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件自動化測試基礎(chǔ)1自動化測試基礎(chǔ)2軟件自動化測試生存周期方法學(xué)3軟件自動化測試工具簡述本章教學(xué)目標(biāo)理論環(huán)節(jié)認(rèn)識與理解應(yīng)用軟件自動化測試的基本概念認(rèn)識與理解軟件自動化測試生存周期方法學(xué)及其應(yīng)用認(rèn)識軟件自動化測試工具與測試平臺的獲取及引入常用軟件自動化測試工具簡介實踐環(huán)節(jié)選定一個自動化測試工具,進(jìn)行初步學(xué)習(xí)和認(rèn)識目前我們測試中心具備的自動化測試工具:RationalRobot,RationalfunctionalTester,MercuryWinRunner,LoadRunner1自動化測試基礎(chǔ)1.1自動化測試的意義1.2自動化測試的定義和引入1.3自動化測試的原理和方法1.4自動化測試工具的作用及優(yōu)勢1.5自動化測試的運用Return1.1自動化測試的意義通常,軟件測試的工作量很大(據(jù)統(tǒng)計,在一個軟件的生命周期中,測試會占用到40%;一些可靠性要求非常高的軟件,測試時間甚至占到60%)。而測試中的許多操作是重復(fù)性的、非智力性的和非創(chuàng)造性的,并要求做準(zhǔn)確細(xì)致的工作,計算機就最適合于代替人工去完成這樣的任務(wù)。軟件自動化測試是相對手工測試而存在的,主要是通過所開發(fā)的軟件測試工具、腳本等來實現(xiàn),具有良好的可操作性、可重復(fù)性和高效率等特點。要理解為什么要進(jìn)行自動化測試,可以從兩個方面考慮:一是手工測試的局限性;二是軟件自動化測試所帶來的好處。手工測試的局限性通過手工測試無法做到覆蓋所有代碼路徑。簡單的功能性測試用例在每一輪測試中都不能少,而且具有一定的機械性、重復(fù)性,工作量往往較大。許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤,通過手工測試很難捕捉到。進(jìn)行系統(tǒng)負(fù)載、性能測試時,需要模擬大量數(shù)據(jù)或大量并發(fā)用戶等各種應(yīng)用場合時,很難通過手工測試來進(jìn)行。進(jìn)行系統(tǒng)可靠性測試時,需要模擬系統(tǒng)運行10年、幾十年,以驗證系統(tǒng)能否穩(wěn)定運行,這也是手工測試無法模擬的。如果有大量(幾千)的測試用例,需要在很短時間內(nèi)(1天)完成,手工測試完成的可能性基本為零。自動化測試帶來的好處縮短軟件開發(fā)測試周期,可以讓產(chǎn)品更快投放市場。測試效率高,充分利用硬件資源。節(jié)省人力資源,降低測試成本。增強測試的穩(wěn)定性和可靠性。提高軟件測試的準(zhǔn)確度和精確度,增加軟件信任度。軟件測試工具使測試工作相對比較容易,但能產(chǎn)生更高質(zhì)量的測試結(jié)果。手工不能做的事情,自動化測試能做,如負(fù)載、性能測試。軟件測試實行自動化進(jìn)程,絕不是因為厭煩了重復(fù)的測試工作,而是因為測試工作的需要,更準(zhǔn)確地說是回歸測試和系統(tǒng)測試的需要。1.2自動化測試的定義和引入自動化測試的定義:使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施。在進(jìn)行自動化測試前,首先要建立一個對軟件測試自動化的認(rèn)識觀。軟件測試工具能提高測試效率、覆蓋率和可靠性等,自動化測試雖然具有很多優(yōu)點,但它只是測試工作的一部分,是對手工測試的一種補充。自動化測試絕不能代替手工測試,它們各有各自的特點,其測試對象和測試范圍都不一樣。在系統(tǒng)功能邏輯測試、驗收測試、適用性測試、涉及物理交互性測試時,多采用黑盒測試的手工測試方法。自動化測試的定義和引入(續(xù))單元測試、集成測試、系統(tǒng)負(fù)載測試、性能測試、穩(wěn)定性測試、可靠性測試等比較適合采用自動化測試。那種不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等不適合自動化測試。工具本身并沒有想象力和靈活性,根據(jù)報道,自動化測試只能發(fā)現(xiàn)15%的缺陷,而手工測試可以發(fā)現(xiàn)85%的缺陷。自動化測試工具在進(jìn)行功能測試時,其準(zhǔn)確的含義是回歸測試工具,這時工具不能發(fā)現(xiàn)更多的新問題,但可以保證對已經(jīng)測試過部分的準(zhǔn)確性和客觀性。多數(shù)情況下,手工測試和自動化測試應(yīng)該相結(jié)合,以最有效的方法來完成測試任務(wù)。1.3自動化測試的原理和方法軟件測試自動化實現(xiàn)的基礎(chǔ)是可以通過設(shè)計的特殊程序模擬測試人員對計算機的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對計算機程序進(jìn)行檢查。軟件測試自動化實現(xiàn)的原理和方法主要有:直接對代碼進(jìn)行靜態(tài)和動態(tài)分析、測試過程的捕獲和回放、測試腳本技術(shù)、虛擬用戶技術(shù)和測試管理技術(shù)。(1)代碼分析

代碼分析類似于高級編譯系統(tǒng),一般針對不同的高級語言去構(gòu)造分析工具,在工具中定義類、對象、函數(shù)、變量等定義規(guī)則、語法規(guī)則;在分析時對代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方;根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。自動化測試的原理和方法(續(xù))(2)捕獲和回放

代碼分析是一種白盒測試的自動化方法,捕獲和回放則是一種黑盒測試的自動化方法。捕獲是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標(biāo)或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應(yīng)的操作、狀態(tài)變化或是屬性變化。所有的記錄轉(zhuǎn)換為一種腳本語言所描述的過程,以模擬用戶的操作?;胤艜r,將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。這可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,能夠很好地進(jìn)行回歸測試。

自動化測試的原理和方法(續(xù))關(guān)于自動化測試中的“錄制—回放”技術(shù)目前的自動化負(fù)載測試解決方案幾乎都是采用“錄制-回放”的技術(shù)。所謂的“錄制-回放”技術(shù),就是先由手工完成一遍需要測試的流程,同時由計算機記錄下這個流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù),并形成特定的腳本程序(Script)。然后在系統(tǒng)的統(tǒng)一管理下同時生成多個虛擬用戶,并運行該腳本,監(jiān)控硬件和軟件平臺的性能,提供分析報告或相關(guān)資料。這樣,通過幾臺機器就可以模擬出成百上千的用戶對應(yīng)用系統(tǒng)進(jìn)行負(fù)載能力的測試。自動化測試的原理和方法(續(xù))(3)腳本技術(shù)

腳本是一組測試工具執(zhí)行的指令集合,也是計算機程序的一種形式。腳本可以通過錄制測試的操作產(chǎn)生,然后再做修改,這樣可以減少腳本編程的工作量。當(dāng)然,也可以直接用腳本語言編寫腳本。腳本技術(shù)可以分為以下幾類:線性腳本——是錄制手工執(zhí)行的測試用例得到的腳本。結(jié)構(gòu)化腳本——類似于結(jié)構(gòu)化程序設(shè)計,具有各種邏輯結(jié)構(gòu)(順序、分支、循環(huán)),而且具有函數(shù)調(diào)用功能。共享腳本——是指某個腳本可被多個測試用例使用,即腳本語言允許一個腳本調(diào)用另一個腳本。數(shù)據(jù)驅(qū)動腳本——將測試輸入存儲在獨立的數(shù)據(jù)文件中。關(guān)鍵字驅(qū)動腳本——是數(shù)據(jù)驅(qū)動腳本的邏輯擴展。1.4自動化測試工具的作用及優(yōu)勢軟件測試自動化通常借助測試工具進(jìn)行。測試工具可以進(jìn)行部分的測試設(shè)計、實現(xiàn)、執(zhí)行和比較的工作。部分的測試工具可以實現(xiàn)測試用例的自動生成,但通常的工作方式為人工設(shè)計測試用例,使用工具進(jìn)行用例的執(zhí)行和比較。如果采用自動比較技術(shù),還可以自動完成測試用例執(zhí)行結(jié)果的判斷,從而避免人工比對存在的疏漏問題。自動化測試工具的作用:(1)確定系統(tǒng)最優(yōu)的硬件配置。(2)檢查系統(tǒng)的可靠性。(3)檢查系統(tǒng)硬件和軟件的升級情況。(4)評估新產(chǎn)品。自動化測試工具的作用及優(yōu)勢(續(xù))自動化測試工具的優(yōu)勢主要體現(xiàn)在以下幾個方面:(1)記錄業(yè)務(wù)流程并生成腳本程序的能力。(2)對各種網(wǎng)絡(luò)設(shè)備(客戶機或服務(wù)器、其它網(wǎng)絡(luò)設(shè)備)的模仿能力。(3)用有限的資源生成高質(zhì)量虛擬用戶的能力。(4)對于整個軟件和硬件系統(tǒng)中各個部分的監(jiān)控能力。(5)對于測試結(jié)果的表現(xiàn)和分析能力。1.5自動化測試的運用測試用例(TestCase,測試個案)的生成測試的執(zhí)行與控制測試結(jié)果與標(biāo)準(zhǔn)輸出的對比不吻合測試結(jié)果的分析處理測試狀態(tài)的統(tǒng)計和報表的生成自動化測試與開發(fā)中產(chǎn)品每日構(gòu)建的配合采用自動化比較技術(shù)6.2軟件自動化測試生存周期方法學(xué)圖自動化測試生存周期方法學(xué)結(jié)構(gòu)自動化測試生存周期方法學(xué)1.自動化測試決定2.測試工具獲取3.自動化測試引入過程4.測試計劃、設(shè)計與開發(fā)5.測試執(zhí)行與管理6.測試評審與評估軟件自動化測試生存周期方法學(xué)(續(xù))采用自動化測試方法的確認(rèn)自動化測試工具的獲取自動化測試的引入階段

——包括測試過程分析和測試工具的考查。測試計劃與測試設(shè)計

——包括制訂測試計劃、建立測試環(huán)境、測試設(shè)計和設(shè)計開發(fā)。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論