




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 軟件自動化測試,由安博測試空間技術中心,6.1 自動化測試基礎,自動化測試的定義,測試自動化的原因:測試軟件是一項艱苦的工作。 測試的工作量很大(據統計,測試會占用到約40%的軟件開發時間;一些可靠性要求非常高的軟件,測試時間甚至占到開發時間約70%)。而測試中的許多操作是重復性的、非智力性的和非創造性的,并要求做準確細致的工作。 自動化測試的定義:使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施。,無法覆蓋所有代碼路徑 簡單的功能性測試用例在每一輪測試中機械地重復,工作量往往較大. 手工測試難以捕捉到許多與時序、死鎖、資源沖突、多線程等有關的錯誤。 難以模擬
2、大量數據或大量并發用戶 難以在短時間內完成大量的測試用例,手工測試的局限性,可能縮短軟件測試周期 測試效率高 節省人力資源,降低測試成本 增強測試的穩定性和可靠性 提高軟件測試的準確度和精確度 測試工具使測試工作容易,還能產生更高質量的測試結果 測試自動化可以完成手工難以完成的測試,如性能、負載測試,測試自動化的好處,比較適合采用自動化測試的: 主要是重復多次的機械性活動,例如測試案例的執行和比較,及一些手工無法或難以執行的測試(包括嵌入式系統測試、壓力測試等)。測試自動化在單元測試、集成測試、功能測試、性能測試、穩定性測試、負載測試/壓力測試、可靠性測試等方面獲得很好的效果。 不適合采用自動
3、化測試的: 不穩定軟件的測試、開發周期很短的軟件、一次性的軟件等,還有智力性活動,包括測試規劃、測試計劃、測試報告等。,軟件開發過程,下列情況需要考慮引入自動化測試:P138 (1)非常重要的測試; (2)涉及范圍很廣的測試; (3)對主要功能的測試; (4)容易自動化的測試; (5)很快有回報的測試; (6)運行最頻繁的測試; (7)測試個案的生成,包括測試輸入、測試輸出、測試操作指令等; (8)測試的執行與控制,包括單機運行和網絡多機分布式的運行,在節假日的運行; (9)測試結果與標準輸出進行對比; (10)不吻合預期的測試結果的分析、記錄、分類和報告,及總體測試狀況的統計及報表的產生。,
4、自動化測試的原理和方法,軟件測試自動化實現的基礎: 通過設計的特殊程序模擬測試人員對計算機的操作過程、操作行為,或者類似于編譯系統那樣對計算機程序進行檢查。 軟件測試自動化實現的原理和方法主要有: 直接對代碼進行靜態和動態分析、測試過程的捕獲(錄制)和回放、測試腳本技術、虛擬用戶技術和測試管理技術。,(1)代碼分析 一種白盒測試的自動化方法,一般針對不同的高級語言去構造分析工具,在工具中定義類、對象、函數、變量等定義規則、語法規則;在分析時對代碼進行語法掃描,找出不符合編碼規范的地方;根據某種質量模型評價代碼質量,生成系統的調用關系圖等。,(2)捕獲和回放(錄制回放):一種黑盒測試的自動化方法
5、。 捕獲是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應的操作、狀態變化或是屬性變化。所有的記錄轉換為一種腳本語言所描述的過程,以模擬用戶的操作。 回放時,將腳本語言所描述的過程轉換為屏幕上的操作,然后將被測系統的輸出記錄下來同預先給定的標準結果比較。這可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。,“捕獲回放”步驟: (1)先由手工完成一遍需要測試的流程 (2)計算機記錄下這個流程期間客戶端和服務器端之間的通信信息,這些信息通常是一些協議和數據 (3)形成特定的腳本程序 (Scrip
6、t) (4)然后在系統的統一管理下,修改腳本,同時生成多個虛擬用戶,并運行該腳本,監控硬件和軟件平臺的性能,提供分析報告或相關資料。 通過幾臺機器就可以模擬出成百上千的用戶對應用系統進行負載能力的測試。,(3)腳本技術 腳本是一組測試工具執行的指令集合,也是計算機程序的一種形式。腳本可以通過錄制測試的操作產生,然后再做修改,這樣可以減少腳本編程的工作量。當然,也可以直接用腳本語言編寫腳本。腳本中可包含數據和指令,并包括以下一些信息: 同步(何時進行下一步輸入) 比較信息(比較什么、如何比較以及和誰比較) 捕獲何種屏幕數據以及存儲在何處 控制信息等,測試腳本的開發流程,1)根據測試設計文檔,確定
7、自動測試范圍。使用捕獲/回放工具生成初始的測試腳本; 2)對生成的腳本進行修改,得到正確的、可復用的、可維護性好的腳本。 3)執行修改后的腳本,獲得實際的運行效果。 4)對觀察到的運行結果進行分析和比較,報告發現的缺陷;評價本次運行結果,分析存在的問題和不足,提出下一步的改進方案。 5)重復前面的步驟,進行回歸測試和其他測試。根據需要,可能從第一步開始重復執行, 也可能從后面各步開始重復執行。,(4)自動比較 自動測試時,預期輸出是事先定義的,或插入腳本中的(checkpoint),然后在測試過程中運行腳本,將捕獲的結果和預先準備的輸出進行比較,從而確定測試用例是否通過。自動比較可以對比屏幕或
8、屏幕區域圖象、比較窗口或窗口上空間的數據或屬性、比較網頁、比較文件等。,(5)測試管理 指對測試輸入、執行過程、測試結果進行管理。除了對和手工測試共性的測試計劃、測試用例、缺陷、產品功能、需求變化等實施管理外,還要對自動化測試中的測試數據文件、測試腳本代碼、預期輸出結果、測試日志、測試自動比較結果等進行跟蹤、控制和管理。,6.2 軟件自動化測試生存周期方法學 P145,圖 自動化測試生存周期方法學結構,軟件自動化測試生存周期方法學(續),采用自動化測試方法的確認 自動化測試工具的獲?。鹤詣踊ぞ呖梢再徺I,也可以自己開發 自動化測試的引入階段 包括測試過程分析和測試工具的考查。 測試計劃與測試設
9、計 包括制訂測試計劃、建立測試環境、測試設計和設計開發。 測試執行與管理 測試活動評審與評估,6.3 自動化測試生存周期方法的應用,軟件自動化測試不是靈丹妙藥 測試計劃產生:主要靠測試工程師與軟件生產質量保證 專家的合作,自動化工具只能起到一定的輔助作用。 一種測試工具不完全適用于所有測試 自動測試不一定減輕工作量 測試進度可能不一定縮短 測試工具不一定易于使用 自動化測試的普遍應用存在局限 測試覆蓋率不會達到百分之百,測試自動化限制,測試自動化可以帶來非常明顯的收益,但也有以下限制: 不能取代手工測試,可作為手工測試的補充,手工測試比自動測試發現的缺陷更多 對測試質量的依賴性極大,自動測試一
10、般可能使測試得更快,而不能保證測試得更好 自動測試腳本可能包含錯誤; 需要被測試的程序相對穩定; 測試自動化可能會制約軟件開發。 測試工具本身不能代替人的想象力和創造力。人工測試比測試工具更優越的另一個方面是可以處理意外事件。,軟件測試工具分類,根據測試方法分類: 黑盒測試工具、白盒測試工具。 根據測試的對象和目的: 單元測試工具、功能測試工具、負載測試工具、性能測試工具和測試管理工具等。,自動化測試工具在設計時往往針對被測試的對象不同而不同,黑盒測試工具:是指測試軟件功能或性能的工具,主要用于系統測試和驗收測試;其又可分為功能測試工具和性能測試工具。一般原理是利用腳本的錄制/回放,模擬用戶的
11、操作,然后將被測系統的輸出記錄下來同預期結果比較。 白盒測試工具:是指測試軟件的源代碼的工具,可以實現代碼的靜態分析,動態測試,評審等功能,主要用于單元測試。又分為靜態測試工具和動態測試工具。 測試管理工具:是指管理整個測試流程的工具,主要功能有測試計劃的管理,測試用例的管理,缺陷跟蹤,測試報告管理等,一般貫穿于整個的軟件測試生命周期。 所有的測試工具都可以歸到上面的3個大類里面,比如一些數據庫測試工具、鏈接測試工具可以歸到黑盒測試工具里面,一些缺陷管理工具如Bugzilla可以歸到測試管理工具里面,但有時缺陷管理工具也可以自成一類。,軟件測試工具分類,MI公司,全稱Mercury Inter
12、active,軟件測試工具領域的NO.1。其開發的LoadRunner屬于性能測試工具,主要用于C/S和B/S結構的軟件系統的測試,其通過模擬虛擬的并發用戶數來對被測系統進行壓力測試。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,能夠 對整個企業架構進行測試, 使企 業能最大限度地縮短測試時間, 優化性能和加速應用系統的發 布周期。,測試工具主流產品,TD,TestDirector,是MI公司開發的一款知名的測試管理工具,可以實現需求管理,測試計劃管理,用例管理,缺陷管理。TestDirector能夠很好的和MI公司的其他測試工具(如QTP,LoadRunner等)很好
13、的集成,并且具有強大的圖表統計功能,會自動生成豐富的統計圖表。 TestDirector是B/S結構的軟件,只需要在服務器端安裝軟件,所有的客戶端就可以通過瀏覽器來訪問TestDirector,方便測試人員的團隊合作和溝通交流。 QC(Quality Center)可以說是TD的升級版。 Bugzilla是缺陷管理工具。,黑盒測試工具,WinRunner是MI公司開發的一款功能測試工具,是基于 Windows操作系統的,通過腳本的錄制和回放來進行自動化的功能測試。腳本語言是類C的。 QTP的全稱是Quick Test Professional, 是MI公司開發的一款功能測試工具,也是MI公司主
14、推的一款測試工具,其功能與WinRunner類似。 腳本語言是類VBScript。,黑盒測試工具,LoadRunner是MI公司的性能測試工具,跨平臺的,可以安裝運行在Windows等多種操作系統。 近年,國內的51testing網和MI公司等聯合推出了LoadRunner的認證培訓。 小知識:安裝LoadRunner后卸載,卸載干凈才能重裝成功。軟件是否卸載完全,重點觀察系統的注冊表。,黑盒測試工具,IBM Rational公司,原來叫作Rational;后來被IBM公司收購,就改成了IBM Rational。 IBM Rational公司開發的軟件測試工具的市場占有率僅次于MI公司,IBM
15、 Rational公司的測試工具主要有4款: Rational TestManager(測試管理工具) Rational ClearQuest(缺陷管理工具) Rational Robot(功能/性能工具) Rational Purify (白盒測試工具) Rational公司的其他軟件工程領域的工具: Rational Requisitepro(需求管理),Rational Rose(建模工具), Rational Clearcase(配置管理)等,其公司的定位是為軟件公司客戶提供一整套軟件生命周期解決方案。,美國Compuware(康博)其公司開發的測試工具主要有 QACenter(測試管
16、理) Trackrecord(缺陷管理) QARun(功能) QALoad(性能) Devpartner (白盒測試) 這些測試工具在國內不是很流行,但在歐美比較普及。,其他測試工具,Telelogic,其開發了很多軟件工程領域的工具,如Telelogic doors(需求管理)等,但是最有名的是Logiscope(白盒測試)。 微軟公司-WAS(性能測試) Radview公司-WebLoad(性能測試),TestView Manager(測試管理) Parasoft公司Jtest(白盒測試),C+ test(白盒測試) 另外,很多缺陷管理工具都是開源的,可在網絡上免費下載,比如Bugzilla(免費),Junit(白盒工具),Mantis(免費),Jira(免費)。,按照功能選擇測試工具 “適合才是根本” 。考慮以下幾點: 操作系統兼容性。如LoadRunner是跨平臺的,而WinRunner只能在Windows平臺上運行。 測試工具的集成能力:同一家公司的測試工具一般彼此間可共享和傳遞數據,例如MI公
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CNFIA 176-2023柔雅馥合香型白酒
- T/CNCA 028-2022井下巷道失速防護設施碰撞性能試驗技術規范
- T/CNCA 022-2022煤礦用可伸縮帶式輸送機無基礎安裝裝置
- T/CMMA 3-2016鎂質膠凝材料制品建筑模殼
- T/CIES 015-2017基于窄帶物聯網(NB-IoT)的道路照明智能控制系統技術規范
- T/CGCC 57-2021散裝即食食品經營操作規范
- T/CERDS 5-2023企業ESG管理體系
- T/CECS 10365-2024太陽能光伏投光燈
- T/CECS 10353-2024內墻用藝術裝飾涂料
- T/CECS 10316-2023建筑用一體化智慧能源站
- 公司車輛維護與保養制度
- 新媒體與社會性別智慧樹知到期末考試答案章節答案2024年復旦大學
- 100以內進退位加減法口算題每天60道
- 卵圓孔未閉的治療及護理
- 高考語文備考復習:現代文閱讀-科幻小說閱讀指導與練習
- MOOC 兒科學-四川大學 中國大學慕課答案
- 運政業務培訓課件
- 《義務教育道德與法治課程標準(2022年版)》
- 糧油保管員中級培訓測試題及標準答案
- 房屋建筑和市政基礎設施工程竣工驗收
- 腰椎椎管狹窄的護理查房
評論
0/150
提交評論