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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、tudio中建立Audit項(xiàng)目Logiscope studio環(huán)境 12點(diǎn)擊菜單項(xiàng), 并根據(jù)新建項(xiàng)目向?qū)Ы㈨?xiàng)目:新建項(xiàng)目對(duì)話框13新建項(xiàng)目向?qū)?4新建項(xiàng)目結(jié)束15()查看檢測(cè)結(jié)果 選擇 Browse | Quality | Factor Level 菜單項(xiàng),Logisciop會(huì)顯示Audit對(duì)所檢測(cè)源程序質(zhì)量水平的評(píng)價(jià)結(jié)果,評(píng)價(jià)結(jié)果包括系統(tǒng)的質(zhì)量、類的質(zhì)量、函數(shù)的質(zhì)量。 16選擇Browse | Quality | Criteria Level 菜單項(xiàng),Logisciop會(huì)顯示Audit對(duì)所測(cè)源程序的各項(xiàng)質(zhì)量標(biāo)準(zhǔn)的檢測(cè)結(jié)果,具體包括:系統(tǒng)的質(zhì)量標(biāo)準(zhǔn)、類的質(zhì)量標(biāo)準(zhǔn)、函數(shù)的質(zhì)量標(biāo)準(zhǔn)。17選擇 B

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

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

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

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

10、度也同樣是未知的。(2)人工置入的缺陷是否和程序中存在缺陷檢測(cè)的難易程度一致也是未知的。31Hyman提出另外一種模型:假設(shè)軟件總的排錯(cuò)時(shí)間是X個(gè)月,假設(shè)經(jīng)過(guò)排錯(cuò)程序中將不再存在錯(cuò)誤。讓兩個(gè)人共同對(duì)程序進(jìn)行排錯(cuò),經(jīng)過(guò)足夠長(zhǎng)(X的一半或更少)的排錯(cuò)時(shí)間后,第一個(gè)人發(fā)現(xiàn)了n個(gè)錯(cuò)誤,第二個(gè)人發(fā)現(xiàn)了m個(gè)錯(cuò)誤,其中屬于兩個(gè)人共同發(fā)現(xiàn)的錯(cuò)誤有m1個(gè) 322.靜態(tài)模型 Akiyama模型: N=486十0018*L。其中:N是缺陷數(shù);L是可執(zhí)行的源語(yǔ)句數(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語(yǔ)言:A0=0.0047,A1=0.023,A2=0.000043。匯編語(yǔ)言: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ù)測(cè)試覆蓋率的預(yù)測(cè)模型 錯(cuò)誤與時(shí)間曲線 錯(cuò)誤與覆蓋率曲線 錯(cuò)誤數(shù)時(shí)間t1錯(cuò)誤數(shù)覆蓋率0.50.9535 覆蓋率與時(shí)間曲線覆蓋率時(shí)間t136四、軟件缺陷的發(fā)現(xiàn)、排除及效率分析1.軟件測(cè)試的檢測(cè)效率分析 軟件測(cè)試階段 測(cè)試能力 非形式化的設(shè)計(jì)檢查 25%40% 形式化的設(shè)計(jì)檢查 45%65% 非形式化的代碼檢查 20%35% 形式化的代碼檢查 45%70% 單元測(cè)試 15%50% 新功能測(cè)試 20%35%

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論