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

下載本文檔

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

文檔簡介

軟件測試技術(jìshù)白盒第一頁,共34頁。本章(běnzhānɡ)內(nèi)容白盒測試(cèshì)技術黑盒測試(cèshì)技術沈陽師范大學軟件(ruǎnjiàn)學院2第二頁,共34頁。本節(jié)內(nèi)容(nèiróng)2.1白盒測試技術靜態(tài)測試方法邏輯覆蓋測試基本路徑(lùjìng)測試其他白盒測試技術沈陽師范大學軟件(ruǎnjiàn)學院3第三頁,共34頁。白盒測試概述程序的結構和處理過程像白盒子一樣透明。允許測試人員利用(lìyòng)程序內(nèi)部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。沈陽師范大學軟件(ruǎnjiàn)學院4輸入輸出第四頁,共34頁。桌前檢查由程序員自己檢查編寫好的程序。程序員在程序通過編譯之后,進行單元測試設計之前,對源程序代碼進行分析、檢驗,并補充相關的文檔,目的(mùdì)是發(fā)現(xiàn)程序中的錯誤。范例 習題

沈陽師范大學軟件(ruǎnjiàn)學院5第五頁,共34頁。代碼審查代碼審查是由若干程序員和測試員組成一個審查小組(xiǎozǔ),通過閱讀、討論和爭議,對程序進行靜態(tài)分析的過程。

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

沈陽師范大學軟件(ruǎnjiàn)學院8第八頁,共34頁。邏輯(luójí)覆蓋測試語句覆蓋判定覆蓋條件覆蓋判定-條件覆蓋條件組合覆蓋沈陽師范大學軟件(ruǎnjiàn)學院9第九頁,共34頁。邏輯(luójí)覆蓋

沈陽師范大學軟件(ruǎnjiàn)學院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)}第十頁,共34頁。邏輯(luójí)覆蓋

沈陽師范大學軟件(ruǎnjiàn)學院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)第十一頁,共34頁。邏輯(luójí)覆蓋

沈陽師范大學軟件(ruǎnjiàn)學院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)第十二頁,共34頁。邏輯(luójí)覆蓋沈陽師范大學軟件(ruǎnjiàn)學院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)第十三頁,共34頁。邏輯覆蓋(fùgài)路徑約定:a,b,c,d,e(如上圖所示)判斷條件約定:T1:A>1T2:B=0T3:A=2T4:X>1沈陽師范大學軟件(ruǎnjiàn)學院14第十四頁,共34頁。語句覆蓋每一可執(zhí)行語句至少執(zhí)行一次。選擇(xuǎnzé)路徑L1當前測試用例:

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

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第十五頁,共34頁。判定覆蓋在⑴的基礎上,每個判定的真、假分支至少執(zhí)行(zhíxíng)一次。選擇路徑L4和L3當前測試用例: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)

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

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第十六頁,共34頁。條件覆蓋(fùgài)在(2)基礎上,每個判定的每個條件的可能取值至少執(zhí)行一次

沈陽師范大學軟件(ruǎnjiàn)學院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第十七頁,共34頁。條件(tiáojiàn)覆蓋沈陽師范大學軟件(ruǎnjiàn)學院18測試用例通過路徑條件取值覆蓋分支2,1,1L3T1T2T3T4b,e1,0,2L3T1T2T3T4b,e(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce第十八頁,共34頁。判定-條件覆蓋(fùgài)即判定覆蓋(fùgài)條件覆蓋(fùgài),即同時考慮條件的組合值及判定結果的檢驗。沈陽師范大學軟件(ruǎnjiàn)學院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問題:某些條件可能掩蓋另一些(yīxiē)條件。不一定能發(fā)現(xiàn)邏輯表達式中的錯誤。如何徹底檢查所有條件的取值?第十九頁,共34頁。判定-條件(tiáojiàn)覆蓋沈陽師范大學軟件(ruǎnjiàn)學院20andorA>1TB=0TX=X/ATFFA=2TFX>1FX=X+1第二十頁,共34頁。條件-組合覆蓋每個判定表達式中條件的各種(ɡèzhǒnɡ)可能組合都至少執(zhí)行一次。沈陽師范大學軟件(ruǎnjiàn)學院21全部可能的條件(tiáojiàn)組合為:①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④⑧第二十一頁,共34頁?;韭窂綔y試

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

控制流圖是描述程序控制流的一種圖示方式。其中基本的控制結構對應的圖形符號如下圖所示。在下圖的圖形符號中,圓圈稱為控制流圖的一個結點(jiédiǎn),它表示一個或多個無分支的語句或源程序語句。沈陽師范大學軟件(ruǎnjiàn)學院23第二十三頁,共34頁。程序的控制流圖符號○為控制流圖的一個結點,表示一個或多個(duōɡè)無分支的PDL語句或源程序語句。箭頭為邊,表示控制流的方向。

沈陽師范大學軟件(ruǎnjiàn)學院24第二十四頁,共34頁。程序的控制流圖下圖左所示的是一個(yīɡè)程序的流程圖,它可以映射成圖右所示的控制流圖。

沈陽師范大學軟件(ruǎnjiàn)學院25第二十五頁,共34頁。=not{(A>1)and(B=0)}and邏輯(luójí)覆蓋測試邏輯覆蓋(fùgài)判定-條件覆蓋(fùgài)在⑴的基礎上,每個判定的真、假分支至少執(zhí)行(zhíxíng)一次。沈陽師范大學軟件(ruǎnjiàn)學院(A=2)or(X>1)沈陽師范大學軟件(ruǎnjiàn)學院邏輯覆蓋(fùgài)=not{(A>1)and(B=0)}and走查與代碼審查基本相同,其過程分為兩步。(A=2)or(X>1)第二十一頁,共34頁。第二十二頁,共34頁。沈陽師范大學軟件(ruǎnjiàn)學院第二十五頁,共34頁。程序的控制流圖流圖中用謂詞結點(jiédiǎn)來表示簡單條件判斷,即謂詞結點(jiédiǎn)不允許含有復合條件。對于程序(或流程圖)中的復合條件,應將其轉(zhuǎn)化為多個簡單條件判斷,在流圖中用相應的謂詞結點(jiédiǎn)加以表示。

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

沈陽師范大學軟件(ruǎnjiàn)學院27第二十七頁,共34頁。程序的環(huán)路復雜性上圖所示的流圖含有4個區(qū)域,故其對應的程序的環(huán)路復雜性度量V(G)為4,程序有以下4條獨立(dúlì)路徑。路徑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

沈陽師范大學軟件(ruǎnjiàn)學院28第二十八頁,共34頁。程序的環(huán)路復雜性可由此設計測試用例,覆蓋以上4條獨立路徑,則可使程序中的所有可執(zhí)行語句和所有判斷的真、假分支(fēnzhī)至少執(zhí)行一次。也可利用以下公式計算程序的環(huán)路復雜性度量V(G)。V(G)=E-N+2公式中的E代表流圖中的邊數(shù),N代表流圖中的結點數(shù)。如圖4-3(b)所示的流圖中,邊數(shù)為11,結點數(shù)為9,故V(G)=11-9+2=4。

沈陽師范大學軟件(ruǎnjiàn)學院29第二十九頁,共34頁。程序的環(huán)路復雜性此外,還可利用流圖中的謂詞結點數(shù)來計算環(huán)路復雜性度量V(G)。V(G)=P+1公式中的P為流圖中的謂詞結點數(shù)。如圖所示的流圖中,謂詞結點數(shù)為3,故V(G)=3+1=4。若能事先確定程序中的簡單條件判斷(pànduàn)的個數(shù)(即等于流圖中的謂詞結點數(shù)),則可在不畫出流圖的情況下確定程序的環(huán)路復雜性。

沈陽師范大學軟件(ruǎnjiàn)學院30第三十頁,共34頁。計算(jìsuàn)程序環(huán)路復雜性進行程序的基本路徑測試時,程序的環(huán)路復雜性給出了程序基本路徑集合中的獨立

溫馨提示

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

評論

0/150

提交評論