第09課 白盒測(cè)試軟件缺陷數(shù)目_第1頁(yè)
第09課 白盒測(cè)試軟件缺陷數(shù)目_第2頁(yè)
第09課 白盒測(cè)試軟件缺陷數(shù)目_第3頁(yè)
第09課 白盒測(cè)試軟件缺陷數(shù)目_第4頁(yè)
第09課 白盒測(cè)試軟件缺陷數(shù)目_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2n3.1 邏輯覆蓋技術(shù)邏輯覆蓋技術(shù)n3.2 路徑分析方法路徑分析方法n3.3 分支條件測(cè)試分支條件測(cè)試n3.4 分支的路徑測(cè)試分支的路徑測(cè)試n3.5 循環(huán)的路徑測(cè)試循環(huán)的路徑測(cè)試n3.6 軟件缺陷分析軟件缺陷分析3n軟件缺陷軟件缺陷是指對(duì)軟件產(chǎn)品預(yù)期屬性的偏離現(xiàn)象。是指對(duì)軟件產(chǎn)品預(yù)期屬性的偏離現(xiàn)象。n軟件缺陷一個(gè)標(biāo)準(zhǔn)的定義:軟件缺陷一個(gè)標(biāo)準(zhǔn)的定義:n從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中所存在從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中所存在的錯(cuò)誤、毛病等各種問(wèn)題;的錯(cuò)誤、毛病等各種問(wèn)題;n從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)

2、的某種功能的失效或違背。背。n符合下邊符合下邊5個(gè)規(guī)則任何一個(gè)或幾個(gè)的都是軟件缺陷:個(gè)規(guī)則任何一個(gè)或幾個(gè)的都是軟件缺陷:n軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)中已經(jīng)標(biāo)明的功能軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)中已經(jīng)標(biāo)明的功能n軟件出現(xiàn)了產(chǎn)品說(shuō)明書(shū)中指明不會(huì)出現(xiàn)的錯(cuò)誤軟件出現(xiàn)了產(chǎn)品說(shuō)明書(shū)中指明不會(huì)出現(xiàn)的錯(cuò)誤n軟件功能超出了產(chǎn)品說(shuō)明書(shū)中指明的范圍軟件功能超出了產(chǎn)品說(shuō)明書(shū)中指明的范圍n軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo)軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo)n軟件測(cè)試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶(hù)認(rèn)軟件測(cè)試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶(hù)認(rèn)為該軟件使用效果不良為該軟件使用效果不良4n以

3、計(jì)算器內(nèi)的嵌入式軟件來(lái)分析軟件缺陷:以計(jì)算器內(nèi)的嵌入式軟件來(lái)分析軟件缺陷:n計(jì)算器說(shuō)明書(shū)一般聲稱(chēng)該計(jì)算器將準(zhǔn)確無(wú)誤地進(jìn)計(jì)算器說(shuō)明書(shū)一般聲稱(chēng)該計(jì)算器將準(zhǔn)確無(wú)誤地進(jìn)行加減乘除運(yùn)算。如果用戶(hù)選定了兩個(gè)數(shù)值后,行加減乘除運(yùn)算。如果用戶(hù)選定了兩個(gè)數(shù)值后,隨意按下了隨意按下了“+”+”號(hào)鍵,結(jié)果沒(méi)有任何反應(yīng)或得號(hào)鍵,結(jié)果沒(méi)有任何反應(yīng)或得到錯(cuò)誤答案。到錯(cuò)誤答案。n若計(jì)算器產(chǎn)品說(shuō)明書(shū)指明計(jì)算器不會(huì)出現(xiàn)崩潰、若計(jì)算器產(chǎn)品說(shuō)明書(shū)指明計(jì)算器不會(huì)出現(xiàn)崩潰、死鎖或停止反應(yīng),而在隨意按、敲鍵盤(pán)后,計(jì)算死鎖或停止反應(yīng),而在隨意按、敲鍵盤(pán)后,計(jì)算器停止接受輸入或沒(méi)了反應(yīng)。器停止接受輸入或沒(méi)了反應(yīng)。5n以計(jì)算器內(nèi)的嵌入式軟件來(lái)

4、分析軟件缺陷:以計(jì)算器內(nèi)的嵌入式軟件來(lái)分析軟件缺陷:n在進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)除了加減乘除功能外,還能在進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)除了加減乘除功能外,還能進(jìn)行求平方根的運(yùn)算,而這個(gè)功能沒(méi)在說(shuō)明書(shū)的進(jìn)行求平方根的運(yùn)算,而這個(gè)功能沒(méi)在說(shuō)明書(shū)的功能中規(guī)定。功能中規(guī)定。n若因電池沒(méi)電而導(dǎo)致了計(jì)算不正確,但產(chǎn)品說(shuō)明若因電池沒(méi)電而導(dǎo)致了計(jì)算不正確,但產(chǎn)品說(shuō)明書(shū)未能指出在此情況下應(yīng)如何進(jìn)行處理。書(shū)未能指出在此情況下應(yīng)如何進(jìn)行處理。n若計(jì)算器某些地方不好用,比如,按鍵太小、顯若計(jì)算器某些地方不好用,比如,按鍵太小、顯示屏在亮光下無(wú)法看清等。示屏在亮光下無(wú)法看清等。63.6.1軟件缺陷的種類(lèi):軟件缺陷的種類(lèi):n輸入輸入/輸出缺

5、陷輸出缺陷n邏輯缺陷邏輯缺陷n計(jì)算缺陷計(jì)算缺陷n接口缺陷接口缺陷n數(shù)據(jù)缺陷數(shù)據(jù)缺陷3.6.2軟件缺陷的產(chǎn)生軟件缺陷的產(chǎn)生n缺陷的來(lái)源:缺陷的來(lái)源:n疏忽造成的錯(cuò)誤疏忽造成的錯(cuò)誤 CDn不理解造成的錯(cuò)誤不理解造成的錯(cuò)誤 MDn二義性造成的錯(cuò)誤二義性造成的錯(cuò)誤 ADn遺漏造成的錯(cuò)誤遺漏造成的錯(cuò)誤 SDn缺陷的構(gòu)成:缺陷的構(gòu)成:軟件需求報(bào)告軟件需求報(bào)告56%其他其他10%編碼編碼7%設(shè)計(jì)設(shè)計(jì)27%需求階段是軟件缺陷需求階段是軟件缺陷存在最多的地方!存在最多的地方!u用戶(hù)與開(kāi)發(fā)人員對(duì)產(chǎn)品功能理解不一致用戶(hù)與開(kāi)發(fā)人員對(duì)產(chǎn)品功能理解不一致u靠想象描述的產(chǎn)品特性不夠清晰靠想象描述的產(chǎn)品特性不夠清晰u用戶(hù)的需

6、求變化用戶(hù)的需求變化u對(duì)需求分析報(bào)告不夠重視,投入不足對(duì)需求分析報(bào)告不夠重視,投入不足u開(kāi)發(fā)團(tuán)隊(duì)之間沒(méi)有很好地溝通開(kāi)發(fā)團(tuán)隊(duì)之間沒(méi)有很好地溝通7n思考題:重讀因特爾奔騰浮點(diǎn)除法軟件缺陷,分析此思考題:重讀因特爾奔騰浮點(diǎn)除法軟件缺陷,分析此缺陷說(shuō)明了什么?缺陷說(shuō)明了什么?83.6.3軟件缺陷數(shù)目估計(jì)軟件缺陷數(shù)目估計(jì)n軟件缺陷數(shù)目是軟件可靠性和整體質(zhì)量的一個(gè)重要參軟件缺陷數(shù)目是軟件可靠性和整體質(zhì)量的一個(gè)重要參數(shù)。數(shù)。n軟件產(chǎn)品質(zhì)量評(píng)估首先要建立基線,在這個(gè)基準(zhǔn)線上再設(shè)置測(cè)軟件產(chǎn)品質(zhì)量評(píng)估首先要建立基線,在這個(gè)基準(zhǔn)線上再設(shè)置測(cè)試的目標(biāo),作為對(duì)系統(tǒng)評(píng)估是否通過(guò)的標(biāo)準(zhǔn)。試的目標(biāo),作為對(duì)系統(tǒng)評(píng)估是否通過(guò)的標(biāo)

7、準(zhǔn)。n例如:例如:10000行源程序是程序規(guī)模的一個(gè)基準(zhǔn),每一千行代碼行源程序是程序規(guī)模的一個(gè)基準(zhǔn),每一千行代碼有有30個(gè)錯(cuò)誤是測(cè)試中錯(cuò)誤發(fā)現(xiàn)率的基準(zhǔn)。個(gè)錯(cuò)誤是測(cè)試中錯(cuò)誤發(fā)現(xiàn)率的基準(zhǔn)。(P80)n估計(jì)殘留軟件缺陷數(shù)目的方法:估計(jì)殘留軟件缺陷數(shù)目的方法:n播撒模型播撒模型n靜態(tài)模型靜態(tài)模型n根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型9n播撒模型播撒模型通過(guò)已知缺陷來(lái)估計(jì)程序中潛在的、未通過(guò)已知缺陷來(lái)估計(jì)程序中潛在的、未知的缺陷數(shù)目。知的缺陷數(shù)目。nMills提出:用人工隨機(jī)地向待估算的軟件置入錯(cuò)誤提出:用人工隨機(jī)地向待估算的軟件置入錯(cuò)誤(M),然,然后進(jìn)行測(cè)試,并對(duì)所測(cè)試到的錯(cuò)誤進(jìn)行分類(lèi),

8、看哪個(gè)是人工后進(jìn)行測(cè)試,并對(duì)所測(cè)試到的錯(cuò)誤進(jìn)行分類(lèi),看哪個(gè)是人工置入的錯(cuò)誤置入的錯(cuò)誤(m),哪個(gè)是程序中固有的錯(cuò)誤,哪個(gè)是程序中固有的錯(cuò)誤(n),用下式估算,用下式估算出程序中所有固有的錯(cuò)誤出程序中所有固有的錯(cuò)誤(N)。MmnN*10n練習(xí)題:練習(xí)題:n1.某軟件公司的評(píng)測(cè)部對(duì)某軟件公司的評(píng)測(cè)部對(duì)ASP軟件人為注入了軟件人為注入了10個(gè)缺個(gè)缺陷,在開(kāi)始測(cè)試的一小段時(shí)間內(nèi),發(fā)現(xiàn)了陷,在開(kāi)始測(cè)試的一小段時(shí)間內(nèi),發(fā)現(xiàn)了160個(gè)個(gè)Bug,其中注入缺陷其中注入缺陷2個(gè)。請(qǐng)估算出被測(cè)程序的固有缺陷的個(gè)個(gè)。請(qǐng)估算出被測(cè)程序的固有缺陷的個(gè)數(shù)。數(shù)。n由以下公式:由以下公式:n所以:所以:N = M N = M

9、* * n /m = n /m = 10 10 * * 158 / 2 = 790 158 / 2 = 790 (個(gè))(個(gè))MmnN*11n上述方法估計(jì)程序中殘留缺陷數(shù)目的有效性是值得懷疑的。上述方法估計(jì)程序中殘留缺陷數(shù)目的有效性是值得懷疑的。n程序中固有的缺陷是未知的,每個(gè)錯(cuò)誤被檢測(cè)的難易程度也同樣程序中固有的缺陷是未知的,每個(gè)錯(cuò)誤被檢測(cè)的難易程度也同樣是未知的。是未知的。n人工置入的缺陷是否和程序中存在缺陷檢測(cè)的難易程度一致也是人工置入的缺陷是否和程序中存在缺陷檢測(cè)的難易程度一致也是未知的。未知的。nHyman提出另外一種模型:假設(shè)軟件經(jīng)過(guò)提出另外一種模型:假設(shè)軟件經(jīng)過(guò)X個(gè)月的排錯(cuò)時(shí)間,個(gè)

10、月的排錯(cuò)時(shí)間,程序中將不再存在錯(cuò)誤。那么讓兩個(gè)人共同對(duì)程序進(jìn)行排錯(cuò),程序中將不再存在錯(cuò)誤。那么讓兩個(gè)人共同對(duì)程序進(jìn)行排錯(cuò),經(jīng)過(guò)足夠長(zhǎng)經(jīng)過(guò)足夠長(zhǎng)(X的一半或更少的一半或更少)的排錯(cuò)時(shí)間后,第一個(gè)人發(fā)現(xiàn)了的排錯(cuò)時(shí)間后,第一個(gè)人發(fā)現(xiàn)了n個(gè)錯(cuò)誤,第二個(gè)人發(fā)現(xiàn)了個(gè)錯(cuò)誤,第二個(gè)人發(fā)現(xiàn)了m個(gè)錯(cuò)誤,其中屬于兩個(gè)人共同發(fā)現(xiàn)個(gè)錯(cuò)誤,其中屬于兩個(gè)人共同發(fā)現(xiàn)的錯(cuò)誤有的錯(cuò)誤有m1個(gè),則程序中的固有錯(cuò)誤:個(gè),則程序中的固有錯(cuò)誤:nmmN*112n練習(xí)題:練習(xí)題:n2.在測(cè)試一個(gè)程序時(shí),由甲、乙兩名測(cè)試員各自獨(dú)立測(cè)在測(cè)試一個(gè)程序時(shí),由甲、乙兩名測(cè)試員各自獨(dú)立測(cè)試。經(jīng)過(guò)一個(gè)月測(cè)試后,甲發(fā)現(xiàn)并改正了試。經(jīng)過(guò)一個(gè)月測(cè)試后,甲發(fā)現(xiàn)

11、并改正了20個(gè)錯(cuò)誤。個(gè)錯(cuò)誤。與此同時(shí),乙發(fā)現(xiàn)了與此同時(shí),乙發(fā)現(xiàn)了24個(gè)錯(cuò)誤,其中的個(gè)錯(cuò)誤,其中的6個(gè)甲也發(fā)現(xiàn)了。個(gè)甲也發(fā)現(xiàn)了。若甲、乙測(cè)試發(fā)現(xiàn)的錯(cuò)誤均無(wú)誤,請(qǐng)估算程序中還殘留若甲、乙測(cè)試發(fā)現(xiàn)的錯(cuò)誤均無(wú)誤,請(qǐng)估算程序中還殘留多少錯(cuò)誤?多少錯(cuò)誤?n由以下公式:由以下公式:n所以,程序中的固有錯(cuò)誤:所以,程序中的固有錯(cuò)誤:N = n * m /m1 = 20 * 24 / 6 = 80n殘留錯(cuò)誤為:殘留錯(cuò)誤為:80 - 24 -(20 - 6)= 42 (個(gè))(個(gè))nmmN*113n靜態(tài)模型靜態(tài)模型 根據(jù)軟件的規(guī)模和復(fù)雜性進(jìn)行根據(jù)軟件的規(guī)模和復(fù)雜性進(jìn)行估計(jì)。估計(jì)。nAkiyama模型:模型: N=4

12、86十十0018*L。 其中:其中:N是缺陷數(shù);是缺陷數(shù);L是可執(zhí)行的源語(yǔ)句數(shù)目。是可執(zhí)行的源語(yǔ)句數(shù)目。n謂詞模型:謂詞模型:N=C+J 其中:其中:C是謂詞數(shù)目;是謂詞數(shù)目;J是子程序數(shù)目。是子程序數(shù)目。nHalstead模型:模型:N=V/3000。 其中:其中:V=xlny,x=x1+x2,y=y1+y2 x1:程序中使用操作符的總次數(shù);:程序中使用操作符的總次數(shù); x2:程序中使用操作數(shù)的總次數(shù);:程序中使用操作數(shù)的總次數(shù); y1:程序中使用操作符的種類(lèi);:程序中使用操作符的種類(lèi); y2:程序中使用操作數(shù)的種類(lèi);:程序中使用操作數(shù)的種類(lèi); 14n靜態(tài)模型靜態(tài)模型 根據(jù)軟件的規(guī)模和復(fù)雜性

13、進(jìn)行根據(jù)軟件的規(guī)模和復(fù)雜性進(jìn)行估計(jì)。估計(jì)。nLipow模型:模型:N=L*(A0+A1InL+A21n2L)。 Fortran語(yǔ)言:語(yǔ)言:A0=0.0047,A1=0.023, A2=0.000043。 匯編語(yǔ)言:匯編語(yǔ)言:A0=0.0012,A1=0.0001, A2=0.000002。nGaffnev模型:模型:N=4.2十十0.0015L43。nCompton and Withrow模型:模型: N=0.069十十0.00156L十十0.00000047L2。 見(jiàn)見(jiàn)P83 例例3-1615n根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型錯(cuò)誤與時(shí)間曲線錯(cuò)誤與時(shí)間曲線錯(cuò)誤數(shù)錯(cuò)誤數(shù)時(shí)間時(shí)間t

14、1錯(cuò)誤數(shù)錯(cuò)誤數(shù)覆蓋率覆蓋率0.50.95錯(cuò)誤與覆蓋率曲線錯(cuò)誤與覆蓋率曲線16n根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型根據(jù)測(cè)試覆蓋率的預(yù)測(cè)模型覆蓋率與時(shí)間曲線覆蓋率與時(shí)間曲線覆蓋率覆蓋率時(shí)間時(shí)間t1173.6.4軟件缺陷效率分析軟件缺陷效率分析n1.軟件測(cè)試的檢測(cè)能力分析軟件測(cè)試的檢測(cè)能力分析 軟件測(cè)試階段軟件測(cè)試階段 測(cè)試能力測(cè)試能力 非形式化的設(shè)計(jì)檢查非形式化的設(shè)計(jì)檢查 25%40% 形式化的設(shè)計(jì)檢查形式化的設(shè)計(jì)檢查 45%65% 非形式化的代碼檢查非形式化的代碼檢查 20%35% 形式化的代碼檢查形式化的代碼檢查 45%70% 單元測(cè)試單元測(cè)試 15%50% 新功能測(cè)試新功能測(cè)試 20%35% 回歸測(cè)試

15、回歸測(cè)試 15%30% 集成測(cè)試集成測(cè)試 25%40% 系統(tǒng)測(cè)試系統(tǒng)測(cè)試 25%55% 低強(qiáng)度的低強(qiáng)度的測(cè)試測(cè)試(1000客戶(hù)客戶(hù)) 60%85%183.6.4軟件缺陷效率分析軟件缺陷效率分析n2.影響軟件測(cè)試效率的因素影響軟件測(cè)試效率的因素 n人為因素人為因素 不同水平層次的測(cè)試人員在發(fā)現(xiàn)軟件錯(cuò)誤的數(shù)量和不同水平層次的測(cè)試人員在發(fā)現(xiàn)軟件錯(cuò)誤的數(shù)量和測(cè)試效率的差異。測(cè)試效率的差異。 n軟件類(lèi)型軟件類(lèi)型 軟件類(lèi)型也是影響測(cè)試效率的一個(gè)重要因素。軟件類(lèi)型也是影響測(cè)試效率的一個(gè)重要因素。 n缺陷類(lèi)型缺陷類(lèi)型 各種不同的測(cè)試方法檢測(cè)不同錯(cuò)誤類(lèi)型的能力也是各種不同的測(cè)試方法檢測(cè)不同錯(cuò)誤類(lèi)型的能力也是不同的。不同的。 193.6.5軟件缺陷的分布:服從對(duì)數(shù)正態(tài)分布軟件缺陷的分布:服從對(duì)數(shù)正態(tài)分布tNtdeNtN

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論