版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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)鍵問題測試與其它活動(dòng)的聯(lián)系測試對象測試目標(biāo)實(shí)際考慮測試活動(dòng)評價(jià)被測程序評價(jià)完成的測試基于測試人員的直覺和經(jīng)驗(yàn)基于規(guī)格說明基于
2、代碼基于應(yīng)用本質(zhì)選擇和組合技術(shù)基于錯(cuò)誤圖 軟件測試知識域主題的分解結(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)的過程總體來講,軟件測試是一個(gè)尋找和證實(shí)軟件缺陷的過程第5頁,共58頁。2022/8/205861.3 軟件測試的分類軟件測試級別的幾個(gè)階段單元測試集成測試系統(tǒng)測試確認(rèn)測試回歸測試第6頁,共58頁。2022/8/205871.3.1 各種軟件測試之間的關(guān)系技術(shù)方法應(yīng)用
3、目標(biāo)/特性單元測試系統(tǒng)測試驗(yàn)收測試性能測試強(qiáng)壯性測試功能測試白盒測試黑盒測試測試階段或?qū)哟芜m用性測試可靠性測試集成測試安全性測試第7頁,共58頁。2022/8/205881.4 軟件測試的簡單過程在很多軟件程序員的眼中,測試軟件就是運(yùn)行軟件,看軟件在運(yùn)行過程中是否出錯(cuò); 實(shí)際上,運(yùn)行軟件只是軟件測試的一部分 實(shí)際的軟件測試是需要設(shè)計(jì)的,設(shè)計(jì)的結(jié)果是構(gòu)建了測試用例,而測試是按照測試用例來運(yùn)行軟件的,運(yùn)行軟件得到的結(jié)果需要記錄,統(tǒng)計(jì) 第8頁,共58頁。2022/8/205891.4.1 最簡單的測試過程 最簡單的測試過程至少包括測試設(shè)計(jì),生成測試用例,執(zhí)行測試用例以及測試結(jié)果分析幾個(gè)階段測試設(shè)計(jì)執(zhí)
4、行測試用例測試結(jié)果分析生成測試用例測試管理第9頁,共58頁。2022/8/2058101.4.2 一個(gè)軟件測試的例子 對“Hello world”程序進(jìn)行測試 ,程序代碼如下:void static main (int argc, char* argv )printf( “Hello world”);return 0;第10頁,共58頁。2022/8/205811 建立測試用例 測試最基本的方法就是建立并運(yùn)行測試用例,我們通常使用表格的方式來構(gòu)建簡單的測試用例表1 測試Hello world程序的測試用例用例編號說明操作過程輸入值期望的結(jié)果1測試程序功能運(yùn)行軟件無在控制臺上打印出”Hello
5、world” 第11頁,共58頁。2022/8/205812 執(zhí)行測試用例 將Hello world 程序編譯、連接形成可執(zhí)行程序Hello.exe,然后運(yùn)行它,因?yàn)闇y試不要求輸入值,因此運(yùn)行軟件即是執(zhí)行測試Hello.exe第12頁,共58頁。2022/8/205813 記錄運(yùn)行的結(jié)果 程序在控制臺上打印出Hello world字樣第13頁,共58頁。2022/8/205814 測試總結(jié) 測試的實(shí)際結(jié)果與期望的結(jié)果一致,程序的打印功能是正確的上面4步就是對Hello world程序的一次正式測試,盡管它還不夠完整,但是它讓我們看到了測試的整個(gè)過程 第14頁,共58頁。2022/8/20581
6、51.4.3 對Hello World軟件的改進(jìn)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ù)來進(jìn)行軟件測試表2 測試改
7、進(jìn)后Hello world程序的測試用例編號說明操作過程輸入值期望的結(jié)果1測試程序功能運(yùn)行軟件1在控制臺上打印出”Hello world!” 2測試程序功能運(yùn)行軟件2在控制臺上打印出”Hello guy!”3測試程序功能運(yùn)行軟件3在控制臺上打印出”Hello!”4測試程序健壯性運(yùn)行軟件無打印出”Hello!”第16頁,共58頁。2022/8/205817 執(zhí)行測試用例我們在控制臺上運(yùn)行該程序,分別給程序帶不同的輸入?yún)?shù),可執(zhí)行程序的名字是Hello.exeHello 1Hello 2Hello 3Hello 第17頁,共58頁。2022/8/205818 記錄運(yùn)行的結(jié)果表3 測試改進(jìn)后Hell
8、o world程序的結(jié)果記錄測試編號輸入期望的結(jié)果實(shí)際的結(jié)果通過/失敗11打印”Hello world!”打印”Hello world!”通過22打印”Hello guy!”打印”Hello guy!”通過33打印”Hello!”打印”Hello!”通過4無打印”Hello!”彈出錯(cuò)誤對話框失敗第18頁,共58頁。2022/8/205819.1 錯(cuò)誤對話框執(zhí)行不帶參數(shù)的Hello程序后,彈出錯(cuò)誤對話框,程序崩潰 第19頁,共58頁。2022/8/205820 測試總結(jié)在程序中使用了輸入?yún)?shù)變量*argv1,如果不輸入任何參數(shù),那么argv1為空指針(NULL),程序訪問空指針會出現(xiàn)問題,如果我
9、們在程序的前面對參數(shù)個(gè)數(shù)加以保護(hù),就不會出現(xiàn)上面的問題 真是想不到,這么簡單的一個(gè)程序也會出錯(cuò) !是的,即使我們認(rèn)為再簡單的程序也可能包含錯(cuò)誤,但軟件測試可以找到這些錯(cuò)誤第20頁,共58頁。2022/8/205821問題你以前正規(guī)的做過軟件測試嗎?你知道測試工具對于測試而言有什么作用嗎?第21頁,共58頁。2022/8/2058222. 軟件測試工具分類測試工具是為了提高測試效率,用軟件代替測試人工輸入的有效方法根據(jù)測試工具的作用,可以分類為:白盒測試工具黑盒測試工具功能測試工具性能測試工具第22頁,共58頁。2022/8/2058232.1 白盒測試白盒測試軟件測試員可以了解軟件的內(nèi)部結(jié)構(gòu)以
10、及實(shí)現(xiàn)的具體代碼,從而可以根據(jù)程序的內(nèi)部情況來設(shè)計(jì)更實(shí)用的測試案例白盒測試工具就是針對代碼進(jìn)行測試,測試中發(fā)現(xiàn)的錯(cuò)誤可以定位到代碼的具體位置白盒測試if (x 1 0) p=x*2;else p= x; 輸入輸出第23頁,共58頁。2022/8/2058242.1.1 白盒測試工具的分類白盒測試工具可以分為兩類靜態(tài)測試工具直接對代碼進(jìn)行語法分析,根據(jù)某種質(zhì)量模型評估代碼,不需要運(yùn)行代碼動(dòng)態(tài)測試工具動(dòng)態(tài)測試工具采用在程序中插樁的方式,讓程序中插入一些代碼,然后運(yùn)行代碼統(tǒng)計(jì)程序運(yùn)行時(shí)的數(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)證、反向工程和維護(hù),特別是針對要求高可靠性和高安全性的軟件項(xiàng)目和工程/jxxy012/article/details/502548第26頁,共58頁。2022/8/205
12、827 Logiscope軟件的三大功能Audit:定位錯(cuò)誤模塊,可評估軟件質(zhì)量及復(fù)雜程度,提供代碼的直觀描述,自動(dòng)生成軟件文檔(根據(jù)標(biāo)準(zhǔn)進(jìn)行評估)RuleChecker:根據(jù)工程中定義的編程規(guī)則自動(dòng)檢查軟件代碼錯(cuò)誤,可直接定位錯(cuò)誤。包含大量標(biāo)準(zhǔn)規(guī)則,用戶也可定制創(chuàng)建規(guī)則,自動(dòng)生成測試報(bào)告 TestChecker:測試覆蓋分析,顯示沒有測試的代碼路徑,通過插裝和軟件運(yùn)行進(jìn)行分析第27頁,共58頁。2022/8/205828 Logiscope軟件界面第28頁,共58頁。2022/8/2058292.1.3 白盒動(dòng)態(tài)測試工具白盒動(dòng)態(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是一個(gè)面向VC, VB或者Java開發(fā)的測試工具,用于檢查Visual C/C+ 和Java 代碼中與內(nèi)存有關(guān)的錯(cuò)誤,確保整個(gè)應(yīng)用程序的質(zhì)量和可靠性主要用于查找Visual C/C+ 程序中的傳統(tǒng)內(nèi)存訪問錯(cuò)誤,以及Java 代碼中與垃圾內(nèi)存收集相關(guān)的錯(cuò)誤方面 第30頁,
14、共58頁。2022/8/205831 Purify界面第31頁,共58頁。2022/8/2058322.2 黑盒測試工具黑盒測試是基于需求說明書的軟件測試,在這種測試下,我們不需要了解軟件的內(nèi)部結(jié)構(gòu),內(nèi)部分支,以及軟件代碼的具體實(shí)現(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測試軟件是一個(gè)綜合型的測試工具集,它幫助測試人員創(chuàng)建一個(gè)快速、可重用的測試過程這些測試工具自動(dòng)幫助管理測試過程,快速分析和調(diào)試程序,包括針對回歸,強(qiáng)度,單元,并發(fā),集成,移植,容量和負(fù)載建立測試用例,自動(dòng)執(zhí)行測試和產(chǎn)生文檔結(jié)果第34頁,共58頁。2022/8/205835 QACenter的組成QACenter主要包括以下幾個(gè)模塊:QARun:應(yīng)用的功能測試工具QALoad:強(qiáng)負(fù)載下應(yīng)用的性能測試工具QADirector:測試的組織設(shè)計(jì)和創(chuàng)建以及管理工具TrackRecord:集成的缺陷跟蹤管理工具EcoTools:高層次的性能監(jiān)測工具/link?url=D
16、ePzfsLyNzDNZlBW6jiuNVbwy4ipGzw5GUTm_SHC-tvXeSX0To4Q1bm0SDcnMGADlOe-2R9wjHHuIhN9O6_JC_第35頁,共58頁。2022/8/2058362.3 功能測試工具功能測試是對產(chǎn)品各功能進(jìn)行驗(yàn)證,根據(jù)功能測試用例,逐項(xiàng)測試,檢查產(chǎn)品是否達(dá)到用戶要求的功能功能測試工具包括:Rational Robot SilkTestWinRunner第36頁,共58頁。2022/8/2058372.3.1 Rational Robot Rational Robot 是rational 的產(chǎn)品之一,提供了軟件的功能測試,它提供了許多類似機(jī)器
17、人的重復(fù)過程IBM Rational Robot 可以讓測試人員對 .NET、Java、Web和其他基于 GUI 的應(yīng)用程序進(jìn)行自動(dòng)的功能性回歸測試Rational Robot 可開發(fā)三種測試腳本,包括用于功能測試的GUI腳本、用于性能測試的VU以及VB腳本第37頁,共58頁。2022/8/2058382.4 性能測試工具性能測試是指通過自動(dòng)化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試性能測試工具用于測試軟件的性能,包括:HP公司的LoadRunnerMicrosoft公司的WebStressApache Jmeter(開源軟件)第38頁,共58頁。2022/8
18、/2058392.4.1 LoadRunner LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具LoadRunner通過以模擬成千上萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測的方式來確認(rèn)和查找問題,其對整個(gè)企業(yè)架構(gòu)進(jìn)行測試LoadRunner可適用于各種體系架構(gòu)的自動(dòng)負(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 測試管理工具測試管理包括對測試計(jì)劃、測試用例、測試實(shí)施以及測試缺陷進(jìn)行管
19、理測試管理工具是對測試過程進(jìn)行管理的工具,典型的測試管理工具包括:Mercury Interactive公司(2006年被HP收購)TestDirectorRational公司的testManagerMozilla公司的Bugzilla(開源工具)第42頁,共58頁。2022/8/2058432.5.1 TestDirectorTestDirector是HP(Mercury Interactive)公司生產(chǎn)的企業(yè)級測試管理工具,也是業(yè)界第一個(gè)基于Web的測試管理系統(tǒng),它可以在公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)測試的管理通過在一個(gè)整體的應(yīng)用系統(tǒng)中集成了測試管理的各個(gè)部分,包括需求管理,測試計(jì)劃,測試執(zhí)
20、行以及錯(cuò)誤跟蹤等功能第43頁,共58頁。2022/8/2058442.5.2 TestDirector項(xiàng)目管理基于Internet的測試項(xiàng)目管理第44頁,共58頁。2022/8/2058452.5.3 TestDirector界面第45頁,共58頁。2022/8/205846問題:有這么多的測試工具,你怎么選擇適合于你的測試工具呢?第46頁,共58頁。2022/8/2058473. 測試工具的選擇測試工具眾多,因此需要根據(jù)一定的條件來選擇適合自己要求的測試工具選擇的測試工具的因素:功能價(jià)格測試自動(dòng)化適合軟件生命周期的各個(gè)階段第47頁,共58頁。2022/8/2058483.1 選擇的步驟圖 測
21、試工具選擇步驟成立小組定義問題測試自動(dòng)化的解決方案工具供應(yīng)商確定需求商務(wù)談判決定候選評估演示檢驗(yàn)約束工具軟件市場第48頁,共58頁。2022/8/2058493.1.1 選擇的步驟說明成立小組負(fù)責(zé)測試工具的選擇和決策,制定時(shí)間表確定需求,并研究不同的解決方案了解市場上滿足需求的產(chǎn)品,包括:基本功能、價(jià)格、限制以及服務(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ū)動(dòng)開發(fā)嗎?第51頁,共58頁。2022/8/2058524. CppUnit單元測試測試驅(qū)動(dòng)開發(fā)(TDD)是以測試作為開發(fā)過程的中心,它堅(jiān)持在編寫實(shí)際代碼之前,先寫好基于產(chǎn)品代碼的測試代碼XUnit是一個(gè)基于測試驅(qū)動(dòng)開發(fā)的測試框架,它為我們在開發(fā)過程中使用測試驅(qū)動(dòng)開發(fā)提供了一個(gè)方便的工具,使我們得以快速的進(jìn)行單元測試XUnit的成員有很多,如JUnit,PythonUnit等;CppUnit是XUnit家族中一個(gè)專門面向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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人教育貸款合同(含利息調(diào)整條款)2篇
- 2025年度個(gè)人二手車買賣合同模板下載4篇
- 2025年度牧民草場資源開發(fā)合作合同范本3篇
- 2025年度個(gè)人投資咨詢顧問服務(wù)合同范本2篇
- 2025年度排水溝施工與地下空間利用合同4篇
- 二零二五年度環(huán)境污染損害賠償合同(環(huán)境治理)4篇
- 二零二五版新能源汽車充電樁安裝服務(wù)合同3篇
- 2025年度車輛租賃與駕駛員雇傭及車輛維修服務(wù)合同4篇
- 二零二五版龍門吊操作人員培訓(xùn)及認(rèn)證合同3篇
- 2025年廚具行業(yè)品牌重塑與市場推廣合同4篇
- 設(shè)備管理績效考核細(xì)則
- 中國人民銀行清算總中心直屬企業(yè)2023年招聘筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- (正式版)SJT 11449-2024 集中空調(diào)電子計(jì)費(fèi)信息系統(tǒng)工程技術(shù)規(guī)范
- 廣州綠色金融發(fā)展現(xiàn)狀及對策的研究
- 人教版四年級上冊加減乘除四則混合運(yùn)算300題及答案
- 合成生物學(xué)技術(shù)在生物制藥中的應(yīng)用
- 消化系統(tǒng)疾病的負(fù)性情緒與心理護(hù)理
- 高考語文文學(xué)類閱讀分類訓(xùn)練:戲劇類(含答案)
- 協(xié)會監(jiān)事會工作報(bào)告大全(12篇)
- WS-T 813-2023 手術(shù)部位標(biāo)識標(biāo)準(zhǔn)
- 同意更改小孩名字協(xié)議書
評論
0/150
提交評論