版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第6章 軟件自動化測試,由安博測試空間技術(shù)中心,6.1 自動化測試基礎(chǔ),自動化測試的定義,測試自動化的原因:測試軟件是一項艱苦的工作。 測試的工作量很大(據(jù)統(tǒng)計,測試會占用到約40%的軟件開發(fā)時間;一些可靠性要求非常高的軟件,測試時間甚至占到開發(fā)時間約70%)。而測試中的許多操作是重復(fù)性的、非智力性的和非創(chuàng)造性的,并要求做準(zhǔn)確細(xì)致的工作。 自動化測試的定義:使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施。,無法覆蓋所有代碼路徑 簡單的功能性測試用例在每一輪測試中機(jī)械地重復(fù),工作量往往較大. 手工測試難以捕捉到許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤。 難以模擬
2、大量數(shù)據(jù)或大量并發(fā)用戶 難以在短時間內(nèi)完成大量的測試用例,手工測試的局限性,可能縮短軟件測試周期 測試效率高 節(jié)省人力資源,降低測試成本 增強(qiáng)測試的穩(wěn)定性和可靠性 提高軟件測試的準(zhǔn)確度和精確度 測試工具使測試工作容易,還能產(chǎn)生更高質(zhì)量的測試結(jié)果 測試自動化可以完成手工難以完成的測試,如性能、負(fù)載測試,測試自動化的好處,比較適合采用自動化測試的: 主要是重復(fù)多次的機(jī)械性活動,例如測試案例的執(zhí)行和比較,及一些手工無法或難以執(zhí)行的測試(包括嵌入式系統(tǒng)測試、壓力測試等)。測試自動化在單元測試、集成測試、功能測試、性能測試、穩(wěn)定性測試、負(fù)載測試/壓力測試、可靠性測試等方面獲得很好的效果。 不適合采用自動
3、化測試的: 不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等,還有智力性活動,包括測試規(guī)劃、測試計劃、測試報告等。,軟件開發(fā)過程,下列情況需要考慮引入自動化測試:P138 (1)非常重要的測試; (2)涉及范圍很廣的測試; (3)對主要功能的測試; (4)容易自動化的測試; (5)很快有回報的測試; (6)運行最頻繁的測試; (7)測試個案的生成,包括測試輸入、測試輸出、測試操作指令等; (8)測試的執(zhí)行與控制,包括單機(jī)運行和網(wǎng)絡(luò)多機(jī)分布式的運行,在節(jié)假日的運行; (9)測試結(jié)果與標(biāo)準(zhǔn)輸出進(jìn)行對比; (10)不吻合預(yù)期的測試結(jié)果的分析、記錄、分類和報告,及總體測試狀況的統(tǒng)計及報表的產(chǎn)生。,
4、自動化測試的原理和方法,軟件測試自動化實現(xiàn)的基礎(chǔ): 通過設(shè)計的特殊程序模擬測試人員對計算機(jī)的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對計算機(jī)程序進(jìn)行檢查。 軟件測試自動化實現(xiàn)的原理和方法主要有: 直接對代碼進(jìn)行靜態(tài)和動態(tài)分析、測試過程的捕獲(錄制)和回放、測試腳本技術(shù)、虛擬用戶技術(shù)和測試管理技術(shù)。,(1)代碼分析 一種白盒測試的自動化方法,一般針對不同的高級語言去構(gòu)造分析工具,在工具中定義類、對象、函數(shù)、變量等定義規(guī)則、語法規(guī)則;在分析時對代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方;根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。,(2)捕獲和回放(錄制回放):一種黑盒測試的自動化方法
5、。 捕獲是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標(biāo)或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應(yīng)的操作、狀態(tài)變化或是屬性變化。所有的記錄轉(zhuǎn)換為一種腳本語言所描述的過程,以模擬用戶的操作。 回放時,將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。這可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,能夠很好地進(jìn)行回歸測試。,“捕獲回放”步驟: (1)先由手工完成一遍需要測試的流程 (2)計算機(jī)記錄下這個流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù) (3)形成特定的腳本程序 (Scrip
6、t) (4)然后在系統(tǒng)的統(tǒng)一管理下,修改腳本,同時生成多個虛擬用戶,并運行該腳本,監(jiān)控硬件和軟件平臺的性能,提供分析報告或相關(guān)資料。 通過幾臺機(jī)器就可以模擬出成百上千的用戶對應(yīng)用系統(tǒng)進(jìn)行負(fù)載能力的測試。,(3)腳本技術(shù) 腳本是一組測試工具執(zhí)行的指令集合,也是計算機(jī)程序的一種形式。腳本可以通過錄制測試的操作產(chǎn)生,然后再做修改,這樣可以減少腳本編程的工作量。當(dāng)然,也可以直接用腳本語言編寫腳本。腳本中可包含數(shù)據(jù)和指令,并包括以下一些信息: 同步(何時進(jìn)行下一步輸入) 比較信息(比較什么、如何比較以及和誰比較) 捕獲何種屏幕數(shù)據(jù)以及存儲在何處 控制信息等,測試腳本的開發(fā)流程,1)根據(jù)測試設(shè)計文檔,確定
7、自動測試范圍。使用捕獲/回放工具生成初始的測試腳本; 2)對生成的腳本進(jìn)行修改,得到正確的、可復(fù)用的、可維護(hù)性好的腳本。 3)執(zhí)行修改后的腳本,獲得實際的運行效果。 4)對觀察到的運行結(jié)果進(jìn)行分析和比較,報告發(fā)現(xiàn)的缺陷;評價本次運行結(jié)果,分析存在的問題和不足,提出下一步的改進(jìn)方案。 5)重復(fù)前面的步驟,進(jìn)行回歸測試和其他測試。根據(jù)需要,可能從第一步開始重復(fù)執(zhí)行, 也可能從后面各步開始重復(fù)執(zhí)行。,(4)自動比較 自動測試時,預(yù)期輸出是事先定義的,或插入腳本中的(checkpoint),然后在測試過程中運行腳本,將捕獲的結(jié)果和預(yù)先準(zhǔn)備的輸出進(jìn)行比較,從而確定測試用例是否通過。自動比較可以對比屏幕或
8、屏幕區(qū)域圖象、比較窗口或窗口上空間的數(shù)據(jù)或?qū)傩?、比較網(wǎng)頁、比較文件等。,(5)測試管理 指對測試輸入、執(zhí)行過程、測試結(jié)果進(jìn)行管理。除了對和手工測試共性的測試計劃、測試用例、缺陷、產(chǎn)品功能、需求變化等實施管理外,還要對自動化測試中的測試數(shù)據(jù)文件、測試腳本代碼、預(yù)期輸出結(jié)果、測試日志、測試自動比較結(jié)果等進(jìn)行跟蹤、控制和管理。,6.2 軟件自動化測試生存周期方法學(xué) P145,圖 自動化測試生存周期方法學(xué)結(jié)構(gòu),軟件自動化測試生存周期方法學(xué)(續(xù)),采用自動化測試方法的確認(rèn) 自動化測試工具的獲取:自動化工具可以購買,也可以自己開發(fā) 自動化測試的引入階段 包括測試過程分析和測試工具的考查。 測試計劃與測試設(shè)
9、計 包括制訂測試計劃、建立測試環(huán)境、測試設(shè)計和設(shè)計開發(fā)。 測試執(zhí)行與管理 測試活動評審與評估,6.3 自動化測試生存周期方法的應(yīng)用,軟件自動化測試不是靈丹妙藥 測試計劃產(chǎn)生:主要靠測試工程師與軟件生產(chǎn)質(zhì)量保證 專家的合作,自動化工具只能起到一定的輔助作用。 一種測試工具不完全適用于所有測試 自動測試不一定減輕工作量 測試進(jìn)度可能不一定縮短 測試工具不一定易于使用 自動化測試的普遍應(yīng)用存在局限 測試覆蓋率不會達(dá)到百分之百,測試自動化限制,測試自動化可以帶來非常明顯的收益,但也有以下限制: 不能取代手工測試,可作為手工測試的補(bǔ)充,手工測試比自動測試發(fā)現(xiàn)的缺陷更多 對測試質(zhì)量的依賴性極大,自動測試一
10、般可能使測試得更快,而不能保證測試得更好 自動測試腳本可能包含錯誤; 需要被測試的程序相對穩(wěn)定; 測試自動化可能會制約軟件開發(fā)。 測試工具本身不能代替人的想象力和創(chuàng)造力。人工測試比測試工具更優(yōu)越的另一個方面是可以處理意外事件。,軟件測試工具分類,根據(jù)測試方法分類: 黑盒測試工具、白盒測試工具。 根據(jù)測試的對象和目的: 單元測試工具、功能測試工具、負(fù)載測試工具、性能測試工具和測試管理工具等。,自動化測試工具在設(shè)計時往往針對被測試的對象不同而不同,黑盒測試工具:是指測試軟件功能或性能的工具,主要用于系統(tǒng)測試和驗收測試;其又可分為功能測試工具和性能測試工具。一般原理是利用腳本的錄制/回放,模擬用戶的
11、操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)期結(jié)果比較。 白盒測試工具:是指測試軟件的源代碼的工具,可以實現(xiàn)代碼的靜態(tài)分析,動態(tài)測試,評審等功能,主要用于單元測試。又分為靜態(tài)測試工具和動態(tài)測試工具。 測試管理工具:是指管理整個測試流程的工具,主要功能有測試計劃的管理,測試用例的管理,缺陷跟蹤,測試報告管理等,一般貫穿于整個的軟件測試生命周期。 所有的測試工具都可以歸到上面的3個大類里面,比如一些數(shù)據(jù)庫測試工具、鏈接測試工具可以歸到黑盒測試工具里面,一些缺陷管理工具如Bugzilla可以歸到測試管理工具里面,但有時缺陷管理工具也可以自成一類。,軟件測試工具分類,MI公司,全稱Mercury Inter
12、active,軟件測試工具領(lǐng)域的NO.1。其開發(fā)的LoadRunner屬于性能測試工具,主要用于C/S和B/S結(jié)構(gòu)的軟件系統(tǒng)的測試,其通過模擬虛擬的并發(fā)用戶數(shù)來對被測系統(tǒng)進(jìn)行壓力測試。通過以模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,能夠 對整個企業(yè)架構(gòu)進(jìn)行測試, 使企 業(yè)能最大限度地縮短測試時間, 優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā) 布周期。,測試工具主流產(chǎn)品,TD,TestDirector,是MI公司開發(fā)的一款知名的測試管理工具,可以實現(xiàn)需求管理,測試計劃管理,用例管理,缺陷管理。TestDirector能夠很好的和MI公司的其他測試工具(如QTP,LoadRunner等)很好
13、的集成,并且具有強(qiáng)大的圖表統(tǒng)計功能,會自動生成豐富的統(tǒng)計圖表。 TestDirector是B/S結(jié)構(gòu)的軟件,只需要在服務(wù)器端安裝軟件,所有的客戶端就可以通過瀏覽器來訪問TestDirector,方便測試人員的團(tuán)隊合作和溝通交流。 QC(Quality Center)可以說是TD的升級版。 Bugzilla是缺陷管理工具。,黑盒測試工具,WinRunner是MI公司開發(fā)的一款功能測試工具,是基于 Windows操作系統(tǒng)的,通過腳本的錄制和回放來進(jìn)行自動化的功能測試。腳本語言是類C的。 QTP的全稱是Quick Test Professional, 是MI公司開發(fā)的一款功能測試工具,也是MI公司主
14、推的一款測試工具,其功能與WinRunner類似。 腳本語言是類VBScript。,黑盒測試工具,LoadRunner是MI公司的性能測試工具,跨平臺的,可以安裝運行在Windows等多種操作系統(tǒng)。 近年,國內(nèi)的51testing網(wǎng)和MI公司等聯(lián)合推出了LoadRunner的認(rèn)證培訓(xùn)。 小知識:安裝LoadRunner后卸載,卸載干凈才能重裝成功。軟件是否卸載完全,重點觀察系統(tǒng)的注冊表。,黑盒測試工具,IBM Rational公司,原來叫作Rational;后來被IBM公司收購,就改成了IBM Rational。 IBM Rational公司開發(fā)的軟件測試工具的市場占有率僅次于MI公司,IBM
15、 Rational公司的測試工具主要有4款: Rational TestManager(測試管理工具) Rational ClearQuest(缺陷管理工具) Rational Robot(功能/性能工具) Rational Purify (白盒測試工具) Rational公司的其他軟件工程領(lǐng)域的工具: Rational Requisitepro(需求管理),Rational Rose(建模工具), Rational Clearcase(配置管理)等,其公司的定位是為軟件公司客戶提供一整套軟件生命周期解決方案。,美國Compuware(康博)其公司開發(fā)的測試工具主要有 QACenter(測試管
16、理) Trackrecord(缺陷管理) QARun(功能) QALoad(性能) Devpartner (白盒測試) 這些測試工具在國內(nèi)不是很流行,但在歐美比較普及。,其他測試工具,Telelogic,其開發(fā)了很多軟件工程領(lǐng)域的工具,如Telelogic doors(需求管理)等,但是最有名的是Logiscope(白盒測試)。 微軟公司-WAS(性能測試) Radview公司-WebLoad(性能測試),TestView Manager(測試管理) Parasoft公司Jtest(白盒測試),C+ test(白盒測試) 另外,很多缺陷管理工具都是開源的,可在網(wǎng)絡(luò)上免費下載,比如Bugzilla(免費),Junit(白盒工具),Mantis(免費),Jira(免費)。,按照功能選擇測試工具 “適合才是根本” ??紤]以下幾點: 操作系統(tǒng)兼容性。如LoadRunner是跨平臺的,而WinRunner只能在Windows平臺上運行。 測試工具的集成能力:同一家公司的測試工具一般彼此間可共享和傳遞數(shù)據(jù),例如MI公
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版離婚財產(chǎn)分割及子女撫養(yǎng)權(quán)協(xié)議范本6篇
- 北方工業(yè)大學(xué)《動態(tài)圖形設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 北部灣大學(xué)《工業(yè)化建筑概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 保險職業(yè)學(xué)院《銀行信貸分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 保山職業(yè)學(xué)院《創(chuàng)新創(chuàng)業(yè)理論與實務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年物資配送合同范本3篇
- 2024年生態(tài)環(huán)保產(chǎn)業(yè)招商引資合作協(xié)議范本3篇
- 2025版周氏離婚協(xié)議及房產(chǎn)分割及共同財產(chǎn)處理協(xié)議3篇
- 2025年度股權(quán)激勵咨詢與服務(wù)協(xié)議書3篇
- 2025版能源居間合同交付與物權(quán)轉(zhuǎn)移執(zhí)行細(xì)則3篇
- 軟裝公司商業(yè)計劃書
- 湖北省武漢市硚口區(qū)2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題(含答案)
- 重慶市墊江區(qū)2023-2024學(xué)年部編版七年級上學(xué)期期末歷史試卷
- 云南省昆明市呈貢區(qū)2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試卷+
- 云南省昭通市巧家縣2023-2024學(xué)年五年級上學(xué)期期末考試語文試卷
- 有趣的英語小知識講座
- 2024年擬攻讀博士學(xué)位期間研究計劃
- 國際知名高科技園區(qū)發(fā)展及對我國的經(jīng)驗借鑒
- 財政投資評審項目造價咨詢服務(wù)方案審計技術(shù)方案
- DQE工作指導(dǎo)文檔
- 2023年民兵冬訓(xùn)總結(jié)
評論
0/150
提交評論