Week08-軟件測試工具剖析課件_第1頁
Week08-軟件測試工具剖析課件_第2頁
Week08-軟件測試工具剖析課件_第3頁
Week08-軟件測試工具剖析課件_第4頁
Week08-軟件測試工具剖析課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022/8/20581軟件測試工具Software Testing Tool任課老師:黃武第1頁,共58頁。2022/8/20582提綱軟件測試概述軟件測試工具分類軟件測試工具選擇單元測試工具cppUnit介紹第2頁,共58頁。2022/8/205831 軟件測試概述軟件測試的基本內(nèi)容軟件測試的定義軟件測試的分類軟件測試的簡單過程第3頁,共58頁。2022/8/205841.1 軟件測試的基本內(nèi)容軟件測試軟件測試基礎(chǔ)測試級別測試相關(guān)的度量測試技術(shù)測試過程測試有關(guān)的術(shù)語關(guān)鍵問題測試與其它活動的聯(lián)系測試對象測試目標(biāo)實際考慮測試活動評價被測程序評價完成的測試基于測試人員的直覺和經(jīng)驗基于規(guī)格說明基于

2、代碼基于應(yīng)用本質(zhì)選擇和組合技術(shù)基于錯誤圖 軟件測試知識域主題的分解結(jié)構(gòu)第4頁,共58頁。2022/8/205851.2 軟件測試的定義在IEEE標(biāo)準(zhǔn)610.12-1990中將軟件測試定義為:軟件測試(Software Test)在指定的條件下操作測試系統(tǒng)或組件(1),觀察或記錄結(jié)果(2),并對測試系統(tǒng)或組件的不同方面做出評估(3)的過程總體來講,軟件測試是一個尋找和證實軟件缺陷的過程第5頁,共58頁。2022/8/205861.3 軟件測試的分類軟件測試級別的幾個階段單元測試集成測試系統(tǒng)測試確認(rèn)測試回歸測試第6頁,共58頁。2022/8/205871.3.1 各種軟件測試之間的關(guān)系技術(shù)方法應(yīng)用

3、目標(biāo)/特性單元測試系統(tǒng)測試驗收測試性能測試強壯性測試功能測試白盒測試黑盒測試測試階段或?qū)哟芜m用性測試可靠性測試集成測試安全性測試第7頁,共58頁。2022/8/205881.4 軟件測試的簡單過程在很多軟件程序員的眼中,測試軟件就是運行軟件,看軟件在運行過程中是否出錯; 實際上,運行軟件只是軟件測試的一部分 實際的軟件測試是需要設(shè)計的,設(shè)計的結(jié)果是構(gòu)建了測試用例,而測試是按照測試用例來運行軟件的,運行軟件得到的結(jié)果需要記錄,統(tǒng)計 第8頁,共58頁。2022/8/205891.4.1 最簡單的測試過程 最簡單的測試過程至少包括測試設(shè)計,生成測試用例,執(zhí)行測試用例以及測試結(jié)果分析幾個階段測試設(shè)計執(zhí)

4、行測試用例測試結(jié)果分析生成測試用例測試管理第9頁,共58頁。2022/8/2058101.4.2 一個軟件測試的例子 對“Hello world”程序進行測試 ,程序代碼如下:void static main (int argc, char* argv )printf( “Hello world”);return 0;第10頁,共58頁。2022/8/205811 建立測試用例 測試最基本的方法就是建立并運行測試用例,我們通常使用表格的方式來構(gòu)建簡單的測試用例表1 測試Hello world程序的測試用例用例編號說明操作過程輸入值期望的結(jié)果1測試程序功能運行軟件無在控制臺上打印出”Hello

5、world” 第11頁,共58頁。2022/8/205812 執(zhí)行測試用例 將Hello world 程序編譯、連接形成可執(zhí)行程序Hello.exe,然后運行它,因為測試不要求輸入值,因此運行軟件即是執(zhí)行測試Hello.exe第12頁,共58頁。2022/8/205813 記錄運行的結(jié)果 程序在控制臺上打印出Hello world字樣第13頁,共58頁。2022/8/205814 測試總結(jié) 測試的實際結(jié)果與期望的結(jié)果一致,程序的打印功能是正確的上面4步就是對Hello world程序的一次正式測試,盡管它還不夠完整,但是它讓我們看到了測試的整個過程 第14頁,共58頁。2022/8/20581

6、51.4.3 對Hello World軟件的改進void static main (int argc, char* argv )switch ( *argv1 ) case1:/ 輸入1打印Hello worldprintf( “Hello world!”);break;case2:/ 輸入2打印Hello guyprintf( “Hello guy!”);break;default:/ 輸入其它參數(shù)打印Helloprintf( “Hello!”);break; 第15頁,共58頁。2022/8/205816 建立測試用例由于該程序接受參數(shù),我們可以選擇不同的輸入?yún)?shù)來進行軟件測試表2 測試改

7、進后Hello world程序的測試用例編號說明操作過程輸入值期望的結(jié)果1測試程序功能運行軟件1在控制臺上打印出”Hello world!” 2測試程序功能運行軟件2在控制臺上打印出”Hello guy!”3測試程序功能運行軟件3在控制臺上打印出”Hello!”4測試程序健壯性運行軟件無打印出”Hello!”第16頁,共58頁。2022/8/205817 執(zhí)行測試用例我們在控制臺上運行該程序,分別給程序帶不同的輸入?yún)?shù),可執(zhí)行程序的名字是Hello.exeHello 1Hello 2Hello 3Hello 第17頁,共58頁。2022/8/205818 記錄運行的結(jié)果表3 測試改進后Hell

8、o world程序的結(jié)果記錄測試編號輸入期望的結(jié)果實際的結(jié)果通過/失敗11打印”Hello world!”打印”Hello world!”通過22打印”Hello guy!”打印”Hello guy!”通過33打印”Hello!”打印”Hello!”通過4無打印”Hello!”彈出錯誤對話框失敗第18頁,共58頁。2022/8/205819.1 錯誤對話框執(zhí)行不帶參數(shù)的Hello程序后,彈出錯誤對話框,程序崩潰 第19頁,共58頁。2022/8/205820 測試總結(jié)在程序中使用了輸入?yún)?shù)變量*argv1,如果不輸入任何參數(shù),那么argv1為空指針(NULL),程序訪問空指針會出現(xiàn)問題,如果我

9、們在程序的前面對參數(shù)個數(shù)加以保護,就不會出現(xiàn)上面的問題 真是想不到,這么簡單的一個程序也會出錯 !是的,即使我們認(rèn)為再簡單的程序也可能包含錯誤,但軟件測試可以找到這些錯誤第20頁,共58頁。2022/8/205821問題你以前正規(guī)的做過軟件測試嗎?你知道測試工具對于測試而言有什么作用嗎?第21頁,共58頁。2022/8/2058222. 軟件測試工具分類測試工具是為了提高測試效率,用軟件代替測試人工輸入的有效方法根據(jù)測試工具的作用,可以分類為:白盒測試工具黑盒測試工具功能測試工具性能測試工具第22頁,共58頁。2022/8/2058232.1 白盒測試白盒測試軟件測試員可以了解軟件的內(nèi)部結(jié)構(gòu)以

10、及實現(xiàn)的具體代碼,從而可以根據(jù)程序的內(nèi)部情況來設(shè)計更實用的測試案例白盒測試工具就是針對代碼進行測試,測試中發(fā)現(xiàn)的錯誤可以定位到代碼的具體位置白盒測試if (x 1 0) p=x*2;else p= x; 輸入輸出第23頁,共58頁。2022/8/2058242.1.1 白盒測試工具的分類白盒測試工具可以分為兩類靜態(tài)測試工具直接對代碼進行語法分析,根據(jù)某種質(zhì)量模型評估代碼,不需要運行代碼動態(tài)測試工具動態(tài)測試工具采用在程序中插樁的方式,讓程序中插入一些代碼,然后運行代碼統(tǒng)計程序運行時的數(shù)據(jù)第24頁,共58頁。2022/8/2058252.1.2 白盒靜態(tài)測試工具白盒靜態(tài)測試工具的代表是Telelo

11、gic公司的Logiscope軟件Telelogic是1983年在瑞典創(chuàng)立的復(fù)雜軟件及系統(tǒng)開發(fā)解決方案供應(yīng)商,其提供從需求管理、變更管理、可視化軟件工程到軟件測試的工具,其產(chǎn)品被各國軍方所采用,2008年被IBM公司收購第25頁,共58頁。2022/8/205826 Logiscope軟件Logiscope是Telelogic公司推出的專用于軟件質(zhì)量保證和軟件測試的產(chǎn)品主要功能是對軟件做質(zhì)量分析和測試以保證軟件的質(zhì)量,并可做認(rèn)證、反向工程和維護,特別是針對要求高可靠性和高安全性的軟件項目和工程/jxxy012/article/details/502548第26頁,共58頁。2022/8/205

12、827 Logiscope軟件的三大功能Audit:定位錯誤模塊,可評估軟件質(zhì)量及復(fù)雜程度,提供代碼的直觀描述,自動生成軟件文檔(根據(jù)標(biāo)準(zhǔn)進行評估)RuleChecker:根據(jù)工程中定義的編程規(guī)則自動檢查軟件代碼錯誤,可直接定位錯誤。包含大量標(biāo)準(zhǔn)規(guī)則,用戶也可定制創(chuàng)建規(guī)則,自動生成測試報告 TestChecker:測試覆蓋分析,顯示沒有測試的代碼路徑,通過插裝和軟件運行進行分析第27頁,共58頁。2022/8/205828 Logiscope軟件界面第28頁,共58頁。2022/8/2058292.1.3 白盒動態(tài)測試工具白盒動態(tài)測試工具的代表包括:Rational公司的PurifyNumeg

13、a公司的BoundsCheckerCompuware公司的Devpartner等Numega 1997年被Compuware收購Micro Focus公司2009年收購Compuware公司的測試產(chǎn)品線第29頁,共58頁。2022/8/205830 IBM Rational Purify簡介IBM Rational Purify是一個面向VC, VB或者Java開發(fā)的測試工具,用于檢查Visual C/C+ 和Java 代碼中與內(nèi)存有關(guān)的錯誤,確保整個應(yīng)用程序的質(zhì)量和可靠性主要用于查找Visual C/C+ 程序中的傳統(tǒng)內(nèi)存訪問錯誤,以及Java 代碼中與垃圾內(nèi)存收集相關(guān)的錯誤方面 第30頁,

14、共58頁。2022/8/205831 Purify界面第31頁,共58頁。2022/8/2058322.2 黑盒測試工具黑盒測試是基于需求說明書的軟件測試,在這種測試下,我們不需要了解軟件的內(nèi)部結(jié)構(gòu),內(nèi)部分支,以及軟件代碼的具體實現(xiàn)黑盒測試工具一般原理是利用腳本的錄制和回放,模擬用戶的操作,然后比較記錄結(jié)果和預(yù)先設(shè)定的結(jié)果來判定測試的正確性黑盒測試輸入輸出第32頁,共58頁。2022/8/2058332.2.1 典型的黑盒測試工具 典型的黑盒測試工具包括:Compuware公司的QACenterRational公司的teamTest、Robot等第33頁,共58頁。2022/8/205834

15、QACenter簡介QACenter測試軟件是一個綜合型的測試工具集,它幫助測試人員創(chuàng)建一個快速、可重用的測試過程這些測試工具自動幫助管理測試過程,快速分析和調(diào)試程序,包括針對回歸,強度,單元,并發(fā),集成,移植,容量和負(fù)載建立測試用例,自動執(zhí)行測試和產(chǎn)生文檔結(jié)果第34頁,共58頁。2022/8/205835 QACenter的組成QACenter主要包括以下幾個模塊:QARun:應(yīng)用的功能測試工具QALoad:強負(fù)載下應(yīng)用的性能測試工具QADirector:測試的組織設(shè)計和創(chuàng)建以及管理工具TrackRecord:集成的缺陷跟蹤管理工具EcoTools:高層次的性能監(jiān)測工具/link?url=D

16、ePzfsLyNzDNZlBW6jiuNVbwy4ipGzw5GUTm_SHC-tvXeSX0To4Q1bm0SDcnMGADlOe-2R9wjHHuIhN9O6_JC_第35頁,共58頁。2022/8/2058362.3 功能測試工具功能測試是對產(chǎn)品各功能進行驗證,根據(jù)功能測試用例,逐項測試,檢查產(chǎn)品是否達到用戶要求的功能功能測試工具包括:Rational Robot SilkTestWinRunner第36頁,共58頁。2022/8/2058372.3.1 Rational Robot Rational Robot 是rational 的產(chǎn)品之一,提供了軟件的功能測試,它提供了許多類似機器

17、人的重復(fù)過程IBM Rational Robot 可以讓測試人員對 .NET、Java、Web和其他基于 GUI 的應(yīng)用程序進行自動的功能性回歸測試Rational Robot 可開發(fā)三種測試腳本,包括用于功能測試的GUI腳本、用于性能測試的VU以及VB腳本第37頁,共58頁。2022/8/2058382.4 性能測試工具性能測試是指通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進行測試性能測試工具用于測試軟件的性能,包括:HP公司的LoadRunnerMicrosoft公司的WebStressApache Jmeter(開源軟件)第38頁,共58頁。2022/8

18、/2058392.4.1 LoadRunner LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具LoadRunner通過以模擬成千上萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,其對整個企業(yè)架構(gòu)進行測試LoadRunner可適用于各種體系架構(gòu)的自動負(fù)載測試,能預(yù)測系統(tǒng)行為并評估系統(tǒng)性能第39頁,共58頁。2022/8/2058402.4.2 LoadRunner工作原理第40頁,共58頁。2022/8/2058412.4.3 LoadRunner界面第41頁,共58頁。2022/8/2058422.5 測試管理工具測試管理包括對測試計劃、測試用例、測試實施以及測試缺陷進行管

19、理測試管理工具是對測試過程進行管理的工具,典型的測試管理工具包括:Mercury Interactive公司(2006年被HP收購)TestDirectorRational公司的testManagerMozilla公司的Bugzilla(開源工具)第42頁,共58頁。2022/8/2058432.5.1 TestDirectorTestDirector是HP(Mercury Interactive)公司生產(chǎn)的企業(yè)級測試管理工具,也是業(yè)界第一個基于Web的測試管理系統(tǒng),它可以在公司內(nèi)部或外部進行全球范圍內(nèi)測試的管理通過在一個整體的應(yīng)用系統(tǒng)中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執(zhí)

20、行以及錯誤跟蹤等功能第43頁,共58頁。2022/8/2058442.5.2 TestDirector項目管理基于Internet的測試項目管理第44頁,共58頁。2022/8/2058452.5.3 TestDirector界面第45頁,共58頁。2022/8/205846問題:有這么多的測試工具,你怎么選擇適合于你的測試工具呢?第46頁,共58頁。2022/8/2058473. 測試工具的選擇測試工具眾多,因此需要根據(jù)一定的條件來選擇適合自己要求的測試工具選擇的測試工具的因素:功能價格測試自動化適合軟件生命周期的各個階段第47頁,共58頁。2022/8/2058483.1 選擇的步驟圖 測

21、試工具選擇步驟成立小組定義問題測試自動化的解決方案工具供應(yīng)商確定需求商務(wù)談判決定候選評估演示檢驗約束工具軟件市場第48頁,共58頁。2022/8/2058493.1.1 選擇的步驟說明成立小組負(fù)責(zé)測試工具的選擇和決策,制定時間表確定需求,并研究不同的解決方案了解市場上滿足需求的產(chǎn)品,包括:基本功能、價格、限制以及服務(wù)等根據(jù)了解的情況,決定是自己開發(fā)還是從市場上購買第49頁,共58頁。2022/8/2058503.1.2 選擇的步驟說明(續(xù))確定23種候選產(chǎn)品請候選產(chǎn)品廠家介紹、演示產(chǎn)品初步確定商務(wù)談判最后決定第50頁,共58頁。2022/8/205851問題你知道什么是測試驅(qū)動開發(fā)嗎?第51頁,共58頁。2022/8/2058524. CppUnit單元測試測試驅(qū)動開發(fā)(TDD)是以測試作為開發(fā)過程的中心,它堅持在編寫實際代碼之前,先寫好基于產(chǎn)品代碼的測試代碼XUnit是一個基于測試驅(qū)動開發(fā)的測試框架,它為我們在開發(fā)過程中使用測試驅(qū)動開發(fā)提供了一個方便的工具,使我們得以快速的進行單元測試XUnit的成員有很多,如JUnit,PythonUnit等;CppUnit是XUnit家族中一個專門面向C+的測試框架 第52頁,共58頁

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論