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

下載本文檔

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

文檔簡介

軟件測試技術(shù)白盒第1頁,課件共34頁,創(chuàng)作于2023年2月本章內(nèi)容白盒測試技術(shù)黑盒測試技術(shù)沈陽師范大學(xué)軟件學(xué)院2第2頁,課件共34頁,創(chuàng)作于2023年2月本節(jié)內(nèi)容2.1白盒測試技術(shù)2.1.1靜態(tài)測試方法2.1.2邏輯覆蓋測試2.1.3基本路徑測試2.1.4其他白盒測試技術(shù)沈陽師范大學(xué)軟件學(xué)院3第3頁,課件共34頁,創(chuàng)作于2023年2月2.1.1靜態(tài)測試方法白盒測試概述

程序的結(jié)構(gòu)和處理過程像白盒子一樣透明。允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。沈陽師范大學(xué)軟件學(xué)院4輸入輸出第4頁,課件共34頁,創(chuàng)作于2023年2月2.1.1靜態(tài)測試方法桌前檢查

由程序員自己檢查編寫好的程序。程序員在程序通過編譯之后,進(jìn)行單元測試設(shè)計(jì)之前,對源程序代碼進(jìn)行分析、檢驗(yàn),并補(bǔ)充相關(guān)的文檔,目的是發(fā)現(xiàn)程序中的錯誤。范例

習(xí)題

沈陽師范大學(xué)軟件學(xué)院5第5頁,課件共34頁,創(chuàng)作于2023年2月2.1.1靜態(tài)測試方法代碼審查代碼審查是由若干程序員和測試員組成一個審查小組,通過閱讀、討論和爭議,對程序進(jìn)行靜態(tài)分析的過程。

沈陽師范大學(xué)軟件學(xué)院6第6頁,課件共34頁,創(chuàng)作于2023年2月2.1.1靜態(tài)測試方法代碼審查代碼審查一般分如下七步:1.計(jì)劃2.概述3.準(zhǔn)備4.審查會議5.審查報(bào)告6.返工7.跟進(jìn)沈陽師范大學(xué)軟件學(xué)院7第7頁,課件共34頁,創(chuàng)作于2023年2月2.1.1靜態(tài)測試方法代碼走查走查與代碼審查基本相同,其過程分為兩步。第一步也把材料先發(fā)給走查小組每個成員,讓他們認(rèn)真研究程序,然后再開會。開會的程序與代碼審查不同,不是簡單地讀程序和對照錯誤檢查表進(jìn)行檢查,而是讓與會者“充當(dāng)”計(jì)算機(jī),即首先由測試組成員為被測程序準(zhǔn)備一批有代表性的測試用例,提交給走查小組。走查小組開會,集體扮演計(jì)算機(jī)角色,讓測試用例沿程序的邏輯運(yùn)行一遍,隨時記錄程序的蹤跡,供分析和討論用。

沈陽師范大學(xué)軟件學(xué)院8第8頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋測試語句覆蓋判定覆蓋條件覆蓋判定-條件覆蓋條件組合覆蓋沈陽師范大學(xué)軟件學(xué)院9第9頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋

沈陽師范大學(xué)軟件學(xué)院10(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdceL1(ace)={(A>1)and(B=0)}and{(A=2)or(X>1)}第10頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋

沈陽師范大學(xué)軟件學(xué)院11(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdceL2(abd)=not{(A>1)and(B=0)}

andnot{(A=2)or(X>1)}L1(ace)第11頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋

沈陽師范大學(xué)軟件學(xué)院12(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdceL3(abe)=not{(A>1)and(B=0)}and

{(A=2)or(X>1)}L1(ace)L2(abd)第12頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋沈陽師范大學(xué)軟件學(xué)院13(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdceL4(acd)={(A>1)and(B=0)}

andnot

{(A=2)or(X>1)}L1(ace)L2(abd)L3(abe)第13頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試邏輯覆蓋路徑約定:a,b,c,d,e(如上圖所示)判斷條件約定:T1:A>1T2:B=0T3:A=2T4:X>1沈陽師范大學(xué)軟件學(xué)院14第14頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試語句覆蓋每一可執(zhí)行語句至少執(zhí)行一次。選擇路徑L1當(dāng)前測試用例:

A=2,B=0,X=4.沈陽師范大學(xué)軟件學(xué)院15問題:若AND錯寫為OR,或X>1錯寫為X<1,或OR錯寫為AND,仍可覆蓋所有4條語句。無法發(fā)現(xiàn)判斷中邏輯運(yùn)算的錯誤。(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第15頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試判定覆蓋在⑴的基礎(chǔ)上,每個判定的真、假分支至少執(zhí)行一次。選擇路徑L4和L3當(dāng)前測試用例:A=3,B=0,X=3(滿足A>1,B=0;A2,X>1)A=2,B=1,X=2(滿足A>1,B0;A=2,X>1)

沈陽師范大學(xué)軟件學(xué)院16問題:若X>1錯寫為X<1,仍可得到同樣結(jié)果。不一定能發(fā)現(xiàn)判斷的條件中存在的錯誤。(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第16頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試條件覆蓋在(2)基礎(chǔ)上,每個判定的每個條件的可能取值至少執(zhí)行一次

沈陽師范大學(xué)軟件學(xué)院17(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdceA>1,取真值為T1,取假值為B=0,取真值為T2,取假值為A=2,取真值為T3,取假值為X>1,取真值為T4,取假值為T1andT2T3orT4第17頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試條件覆蓋沈陽師范大學(xué)軟件學(xué)院18測試用例通過路徑條件取值覆蓋分支2,1,1L3T1T2T3T4b,e1,0,2L3T1T2T3T4b,e(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第18頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試判定-條件覆蓋即判定覆蓋條件覆蓋,即同時考慮條件的組合值及判定結(jié)果的檢驗(yàn)。沈陽師范大學(xué)軟件學(xué)院19測試用例通過路徑條件取值2,0,4L1(ace)T1T2T3T41,1,1L2(abd)T1T2T3T4(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce問題:某些條件可能掩蓋另一些條件。不一定能發(fā)現(xiàn)邏輯表達(dá)式中的錯誤。如何徹底檢查所有條件的取值?第19頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試判定-條件覆蓋沈陽師范大學(xué)軟件學(xué)院20andorA>1TB=0TX=X/ATFFA=2TFX>1FX=X+1第20頁,課件共34頁,創(chuàng)作于2023年2月2.1.2邏輯覆蓋測試條件-組合覆蓋每個判定表達(dá)式中條件的各種可能組合都至少執(zhí)行一次。沈陽師范大學(xué)軟件學(xué)院21全部可能的條件組合為:①A>1,B=0(T1T2)②A>1,B0(T1T2)③A1,B=0(T1,T2)④A1,B0(T1T2)⑤A=2,X>1(T3,T4)⑥A=2,X1(T3T4)⑦A2,X>1(T3,T4)⑧A2,X1(T3T4)(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce測試用例通過路徑覆蓋條件覆蓋組合號2,0,4L1(ace)T1T2T3T4①⑤2,1,1L3(abe)T1T2T3T4②⑥1,0,3L3(abe)T1T2T3T4③⑦1,1,1L2(abd)T1T2T3T4④⑧第21頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試基本路徑測試

上節(jié)的例子是個比較簡單的程序段,只有兩條路徑。但在實(shí)際問題中,即使一個不太復(fù)雜的程序,其路徑的組合都是一個龐大的數(shù)字。如果把覆蓋的路徑數(shù)壓縮到一定限度內(nèi),例如,程序中的循環(huán)體只執(zhí)行零次和一次,就成為基本路徑測試。設(shè)計(jì)出的測試用例要保證在測試中程序的每一條可執(zhí)行語句至少執(zhí)行一次。沈陽師范大學(xué)軟件學(xué)院22第22頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的控制流圖

控制流圖是描述程序控制流的一種圖示方式。其中基本的控制結(jié)構(gòu)對應(yīng)的圖形符號如下圖所示。在下圖的圖形符號中,圓圈稱為控制流圖的一個結(jié)點(diǎn),它表示一個或多個無分支的語句或源程序語句。沈陽師范大學(xué)軟件學(xué)院23第23頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的控制流圖

符號○為控制流圖的一個結(jié)點(diǎn),表示一個或多個無分支的PDL語句或源程序語句。箭頭為邊,表示控制流的方向。

沈陽師范大學(xué)軟件學(xué)院24第24頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的控制流圖

下圖左所示的是一個程序的流程圖,它可以映射成圖右所示的控制流圖。

沈陽師范大學(xué)軟件學(xué)院25第25頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的控制流圖流圖中用謂詞結(jié)點(diǎn)來表示簡單條件判斷,即謂詞結(jié)點(diǎn)不允許含有復(fù)合條件。對于程序(或流程圖)中的復(fù)合條件,應(yīng)將其轉(zhuǎn)化為多個簡單條件判斷,在流圖中用相應(yīng)的謂詞結(jié)點(diǎn)加以表示。

沈陽師范大學(xué)軟件學(xué)院26第26頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的環(huán)路復(fù)雜性程序的環(huán)路復(fù)雜性(CyclomaticComplexity)又稱為圈復(fù)雜性,其值等于流圖中的區(qū)域個數(shù)。在進(jìn)行基本路徑測試時,確定了程序的環(huán)路復(fù)雜性,則可在其基礎(chǔ)上確定程序基本路徑集合的獨(dú)立路徑數(shù)目,這個數(shù)目是確保程序中每條可執(zhí)行語句至少執(zhí)行一次的測試用例數(shù)目的最小值。獨(dú)立路徑是一條含有以前未處理的語句或判斷的路徑,在流圖中,獨(dú)立路徑表現(xiàn)為至少含有一條其他獨(dú)立路徑中均沒有的邊的路徑。

沈陽師范大學(xué)軟件學(xué)院27第27頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的環(huán)路復(fù)雜性上圖所示的流圖含有4個區(qū)域,故其對應(yīng)的程序的環(huán)路復(fù)雜性度量V(G)為4,程序有以下4條獨(dú)立路徑。路徑1:1—11路徑2:1—2—3—4—5—10—1—11路徑3:1—2—3—6—8—9—10—1—11路徑4:1—2—3—6—7—9—10—1—11

沈陽師范大學(xué)軟件學(xué)院28第28頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的環(huán)路復(fù)雜性可由此設(shè)計(jì)測試用例,覆蓋以上4條獨(dú)立路徑,則可使程序中的所有可執(zhí)行語句和所有判斷的真、假分支至少執(zhí)行一次。也可利用以下公式計(jì)算程序的環(huán)路復(fù)雜性度量V(G)。V(G)=E-N+2公式中的E代表流圖中的邊數(shù),N代表流圖中的結(jié)點(diǎn)數(shù)。如圖4-3(b)所示的流圖中,邊數(shù)為11,結(jié)點(diǎn)數(shù)為9,故V(G)=11-9+2=4。

沈陽師范大學(xué)軟件學(xué)院29第29頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試程序的環(huán)路復(fù)雜性此外,還可利用流圖中的謂詞結(jié)點(diǎn)數(shù)來計(jì)算環(huán)路復(fù)雜性度量V(G)。V(G)=P+1公式中的P為流圖中的謂詞結(jié)點(diǎn)數(shù)。如圖所示的流圖中,謂詞結(jié)點(diǎn)數(shù)為3,故V(G)=3+1=4。若能事先確定程序中的簡單條件判斷的個數(shù)(即等于流圖中的謂詞結(jié)點(diǎn)數(shù)),則可在不畫出流圖的情況下確定程序的環(huán)路復(fù)雜性。

沈陽師范大學(xué)軟件學(xué)院30第30頁,課件共34頁,創(chuàng)作于2023年2月2.1.3基本路徑測試計(jì)算程序環(huán)路復(fù)雜性

進(jìn)行程序的基本路徑測試時,程序的環(huán)路復(fù)雜性給出了程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論