軟件測試白盒測試_第1頁
軟件測試白盒測試_第2頁
軟件測試白盒測試_第3頁
軟件測試白盒測試_第4頁
軟件測試白盒測試_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 白盒測試1e6e1e2e3e4e5e73.1控制流測試一、基本概念有向圖路徑完整路徑簡單路徑基本路徑子路徑回路無回路路徑連接覆蓋路徑覆蓋關(guān)系舉例 2二、控制流覆蓋準則語句覆蓋準則分支覆蓋準則謂詞測試原子謂詞覆蓋準則分支謂詞覆蓋準則復(fù)合謂詞覆蓋準則路徑覆蓋準則3部分覆蓋準則間的關(guān)系 復(fù)合謂詞覆蓋準則分支-謂詞覆蓋準則分支覆蓋準則原子謂詞覆蓋準則語句覆蓋準則43.數(shù)據(jù)流測試一、基本概念變量的定義性出現(xiàn):若一個變量在程序中的某處出現(xiàn)使數(shù)據(jù)與該變量相綁定,則稱該出現(xiàn)是定義性出現(xiàn)。變量的引用性出現(xiàn):若一個變量在程序中的某處出現(xiàn)使與該變量相綁定的數(shù)據(jù)被引用,則稱該出現(xiàn)是引用性出現(xiàn)。5二、數(shù)據(jù)流覆蓋

2、準則定義覆蓋測試準則引用覆蓋測試準則定義引用覆蓋測試準則63.程序插裝程序插裝技術(shù)的研究涉及下列幾個問題:(1)探測哪些信息?(2)程序的什么位置設(shè)置探測點?(3)需要多少探測點? 程序插裝類型:用于測試覆蓋率和測試用例有效性度量的程序插裝 用于斷言檢測的程序插裝 73.程序變異測試程序變異測試技術(shù)的基本思想是:對于給定的程序P,先假定程序中存在一些小錯誤,每假設(shè)一個錯誤,程序P就變成P,如果假設(shè)了n個錯誤:e1,e2,en,則對應(yīng)有n個不同的程序:P1,P2,Pn,這里Pi稱為P的變異因子。存在測試數(shù)據(jù)Ci,使得P和Pi的輸出結(jié)果是不同的。因此,根據(jù)程序P和每個變異的程序,可以求得P1,P2

3、,Pn的測試數(shù)據(jù)集C=C1,C2,Cn。運行C,如果對每一個Ci,P都是正確的,而Pi都是錯誤的,這說明P的正確性較高。如果對某個Ci,P是錯誤的,而Pi是正確的,這說明P存在錯誤,而錯誤就是ei。8程序強變異測試變異測試的缺點是它需要大量的計算機資源來完成測試充分性分析。對于一個中等規(guī)模的軟件,所需的存儲空間也是巨大的,運行大量變異因子也導(dǎo)致了時間上巨大的開銷。 程序弱變異測試弱變異和強變異有很多相似之處。其主要差別在于:弱變異強調(diào)的是變動程序的組成部分,根據(jù)弱變異準則,只要事先確定導(dǎo)致C與C產(chǎn)生不同值的測試數(shù)據(jù)組,則可將程序在此測試數(shù)據(jù)組上運行,而并不實際產(chǎn)生其變異因子。弱變異測試方法的主

4、要優(yōu)點是開銷較小,效率較高。 93.白盒測試工具一、靜態(tài)工具靜態(tài)測試工具類型:1.代碼審查2.一致性檢查3.錯誤檢查4.接口分析5.輸入/輸出規(guī)格說明分析檢查6.數(shù)據(jù)流分析7.類型分析8.單元分析9.復(fù)雜度分析10靜態(tài)工具應(yīng)用實例1. Logiscope的軟件質(zhì)量分析工具 Audit應(yīng)用:Audit是審查程序代碼質(zhì)量的,它通過一個文本文件來定義質(zhì)量模型。文件中首先定義了若干個度量元,并為這些度量元設(shè)定了數(shù)值范圍,接著通過組合若干個度量元形成質(zhì)量標準,最后又通過組合質(zhì)量標準,形成最后的質(zhì)量因素。這個過程與軟件質(zhì)量模型中由底層到高層、由細節(jié)到概括的結(jié)構(gòu)恰好對應(yīng)。 11(1)在Logiscope s

5、tudio中建立Audit項目Logiscope studio環(huán)境 12點擊菜單項, 并根據(jù)新建項目向?qū)Ы㈨椖浚盒陆椖繉υ捒?3新建項目向?qū)?4新建項目結(jié)束15()查看檢測結(jié)果 選擇 Browse | Quality | Factor Level 菜單項,Logisciop會顯示Audit對所檢測源程序質(zhì)量水平的評價結(jié)果,評價結(jié)果包括系統(tǒng)的質(zhì)量、類的質(zhì)量、函數(shù)的質(zhì)量。 16選擇Browse | Quality | Criteria Level 菜單項,Logisciop會顯示Audit對所測源程序的各項質(zhì)量標準的檢測結(jié)果,具體包括:系統(tǒng)的質(zhì)量標準、類的質(zhì)量標準、函數(shù)的質(zhì)量標準。17選擇 B

6、rowse | Quality | Quality Report 菜單項,可生成網(wǎng)頁風格的系統(tǒng)質(zhì)量評價報告。 18選擇 Project | Start Viewer 菜單項,啟動“Logiscope Viewer”,通過點擊工具條上的按鈕,可以查看Audit所提供的對函數(shù)的各種分析信息。 19. Logiscope的代碼規(guī)范性檢測工具 RuleChecker應(yīng)用 :使用RuleChecker來檢查代碼的規(guī)范性分為兩個步驟:首先是建立被檢測代碼的RuleChecker項目,然后是分析RuleChecker給出的代碼書寫規(guī)范性檢測結(jié)果,得出報告。 20(1)根據(jù)向?qū)ЫuleChecker項目R

7、uleChecker界面 21()查看檢測結(jié)果 選擇 Browse | Rule | Rule Violations 菜單命令,RuleChecker會在樹狀視圖中列出代碼中所有違反編碼規(guī)范的地方。 22點擊 Browse | Rule | Rule Violations Report 菜單命令,會生成RuleChecker的檢測報告。 23二、動態(tài)工具靜態(tài)測試工具類型:1.功能確認與接口測試 測試包括對各模塊功能、模塊間的接口、局部數(shù)據(jù)結(jié)構(gòu)、主要執(zhí)行路徑、錯誤處理等方面進行的測試。2.覆蓋測試 覆蓋分析對所涉及的程序結(jié)構(gòu)元素進行度量,以確定測試執(zhí)行的充分性。24動態(tài)工具應(yīng)用實例 Ration

8、al PureCoverage 應(yīng)用:Rational PureCoverage是面向VC、VB或者Java開發(fā)的測試覆蓋程度檢測工具,它可以自動檢測測試的完整性和那些無法達到的部分。作為一個質(zhì)量控制工程,可以使用PureCoverage在每一個測試階段產(chǎn)生詳盡的測試覆蓋程度報告 25PureCoverage 主界面 26選擇“file”中的run 后,出現(xiàn)對話框Run Program。在Program name中選擇被測對象的路徑后,點擊Run,運行程序。運行完程序后,會出現(xiàn)運行后的結(jié)果數(shù)據(jù)。 被測程序的函數(shù)覆蓋和代碼覆蓋情況 27雙擊Coverage Browser 窗口中的任何一個文件或

9、函數(shù),或者選擇view 的Function List,即可看到相應(yīng)的程序代碼。 其中紅色代碼表示該測試用例未執(zhí)行到的語句。 283.6軟件缺陷分析一、軟件缺陷的種類1.輸入/輸出缺陷 2.邏輯缺陷 3.計算缺陷 4.接口缺陷 5.數(shù)據(jù)缺陷 29二、軟件缺陷的產(chǎn)生1.疏忽造成的錯誤(Carelessness defect,CD)2.不理解造成的錯誤(Misapprehend defect,MD)3.二義性造成的錯誤(Ambiguity defect,AD)4.遺漏造成的錯誤(Skip defect,SD)30三、軟件缺陷數(shù)目估計1.撒播模型 (1)程序中固有的缺陷是未知的,每個錯誤被檢測的難易程

10、度也同樣是未知的。(2)人工置入的缺陷是否和程序中存在缺陷檢測的難易程度一致也是未知的。31Hyman提出另外一種模型:假設(shè)軟件總的排錯時間是X個月,假設(shè)經(jīng)過排錯程序中將不再存在錯誤。讓兩個人共同對程序進行排錯,經(jīng)過足夠長(X的一半或更少)的排錯時間后,第一個人發(fā)現(xiàn)了n個錯誤,第二個人發(fā)現(xiàn)了m個錯誤,其中屬于兩個人共同發(fā)現(xiàn)的錯誤有m1個 322.靜態(tài)模型 Akiyama模型: N=486十0018*L。其中:N是缺陷數(shù);L是可執(zhí)行的源語句數(shù)目。謂詞模型:N=C+J其中:C是謂詞數(shù)目;J是子程序數(shù)目。Halstead模型:N=V/3000。其中:V=xlny,x=x1+x2,y=y1+y2x1:

11、程序中使用操作符的總次數(shù);x2:程序中使用操作數(shù)的總次數(shù);y1:程序中使用操作符的種類;y2:程序中使用操作數(shù)的種類; 33Lipow模型:N=L*(A0+A1InL+A21n2L)。Fortran語言:A0=0.0047,A1=0.023,A2=0.000043。匯編語言:A0=0.0012,A1=0.0001,A2=0.000002。Gaffnev模型:N=4.2十0.0015L43。 Compton and Withrow模型:N=0.069十0.00156L十0.00000047L2。 343.根據(jù)測試覆蓋率的預(yù)測模型 錯誤與時間曲線 錯誤與覆蓋率曲線 錯誤數(shù)時間t1錯誤數(shù)覆蓋率0.50.9535 覆蓋率與時間曲線覆蓋率時間t136四、軟件缺陷的發(fā)現(xiàn)、排除及效率分析1.軟件測試的檢測效率分析 軟件測試階段 測試能力 非形式化的設(shè)計檢查 25%40% 形式化的設(shè)計檢查 45%65% 非形式化的代碼檢查 20%35% 形式化的代碼檢查 45%70% 單元測試 15%50% 新功能測試 20%35%

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論