基本路徑測試概要_第1頁
基本路徑測試概要_第2頁
基本路徑測試概要_第3頁
基本路徑測試概要_第4頁
基本路徑測試概要_第5頁
免費預覽已結束,剩余15頁可下載查看

下載本文檔

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

文檔簡介

1、白盒測試的測試方法有代碼檢查法、靜態(tài)結構分析法、靜態(tài)質量度量法、邏輯覆蓋法、基本路徑測試法、 域測試、符號測試、Z路徑覆蓋、程序變異。其中運用最為廣泛的是基本路徑測試法。基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑 集合,從而設計測試用例的方法。設計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次。在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測 試用例。包括以下4個步驟和一個工具方法:1.程序的控制流圖:描述程序控制流的一種圖示方法。2.程序圈復雜度:McCabe復雜性度量。從程序的環(huán)路復雜性可導出

2、程序基本路徑集合中的獨立路徑 條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。3.導出測試用例:根據(jù)圈復雜度和程序結構設計用例數(shù)據(jù)輸入和預期結果。4.準備測試用例:確?;韭窂郊械拿恳粭l路徑的執(zhí)行。工具方法:圖形矩陣:是在基本路徑測試中起輔助作用的軟件工具,利用它可以實現(xiàn)自動地確定一個基本路徑集。程序的控制流圖:描述程序控制流的一種圖示方法。圓圈稱為控制流圖的一個結點,表示一個或多個無分支的語句或源程序語句殿呼結構1F選擇結杓PWhile循環(huán)結初UniM循環(huán)結構*'流圖只有二種圖形符號:圖中的每一個圓稱為流圖的結點,代表一條或多條語句。流圖中的箭頭稱為邊或連

3、接,代表控制流任何過程設計都要被翻譯成控制流圖。如何根據(jù)程序流程圖畫出控制流程圖在將程序流程圖簡化成控制流圖時,應注意:n在選擇或多分支結構中,分支的匯聚處應有一個匯聚結點。n邊和結點圈定的區(qū)域叫做區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應記為一個區(qū)域。如下頁圖所示節(jié)點i用翹 ft示的待滯試程用*i/丨邊II-HlHlqHlHIratlU3-miHIHlHle-B'rSV11*區(qū)咸.由辺和封間較來陽區(qū)域+ 計®區(qū)疑,不軽E記醫(yī)SB卜的骨Pn如果判斷中的條件表達式是由一個或多個邏輯運算符 式,則需要改為一系列只有單條件的嵌套的判斷。(OR, AND, NAND, NOR)連接的復合

4、條件表達例如:1 if a or b3 else對應的邏輯為:判斷結點獨立路徑:至少沿一條新的邊移動的路徑路徑1:1-1 b-1-2-3-6-3-9-10-1-lb-11*對以上路徑的遍歷,就是至少一次地執(zhí)行了程序中的所有語句.基本路徑測試法的步驟:0第一步:畫出控制流圖if-else-then結構)。由邊和結點限定的范圍流程圖用來描述程序控制結構??蓪⒘鞒虉D映射到一個相應的流圖(假設流程圖的菱形決定框中不包含 復合條件)。在流圖中,每一個圓,稱為流圖的結點,代表一個或多個語句。一個處理方框序列和一個菱形 決測框可被映射為一個結點,流圖中的箭頭,稱為邊或連接,代表控制流,類似于流程圖中的箭頭。

5、一條 邊必須終止于一個結點,即使該結點并不代表任何語句(例如:稱為區(qū)域。計算區(qū)域時應包括圖外部的范圍。有下茴的匸函勲卑基本曙徑3法進行測出矽0駁篡(如工ilype>t2,3,4,while (頤泅f加n > e5.6.7.3.elset9'.if(l- -tlyPR)10.x=¥+1C;h11.else*'12.x-y+20;-13.*14.4K畫出其程序流程圖和對應的控制流圖如下111314根據(jù)上面的計算方法,可得出四個獨立的路徑。入一個新處理語句或一個新判斷的程序通路。第二步:計算圈復雜度圈復雜度是一種為程序邏輯復雜性提供定量測度的軟件度量,將該度量用

6、于計算程序的基本的獨立路 徑數(shù)目,為確保所有語句至少執(zhí)行一次的測試數(shù)量的上界。獨立路徑必須包含一條在定義之前不曾用到的 邊。有以下三種方法計算圈復雜度:流圖中區(qū)域的數(shù)量對應于環(huán)型的復雜性給定流圖G的圈復雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中結點的數(shù)量;給定流圖G的圈復雜度V(G),定義為V(G)=P+1 , P是流圖G中判定結點的數(shù)量。時應上面圖中的圈具轉,計算如下: 流闊申有四個E域! V(G)=m 邊七結點 + 2=4;- V(G)二擰判定結點+1 = 4.第三步:導出測試用例(一條獨立路徑是指,和其他的獨立路徑相比,至少引 V(G)值正好等于該程序的獨立

7、路徑的條數(shù)。)U 路徑 1 : 4-14U路徑2 :4-6-7-14路徑4-6-8-10-13-4-14路徑4-6-8-11-13-4-14根據(jù)上面的獨立路徑,去設計輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑。0第四步:準備測試用例為了確?;韭窂郊械拿恳粭l路徑的執(zhí)行,根據(jù)判斷結點給出的條件,選擇適當?shù)臄?shù)據(jù)以保證某一 條路徑可以被測試到,滿足上面例子基本路徑集的測試用例是:路住 1; 4-14*'輸入數(shù)掘:遲理型頃=6或音取 iRecordNum< 0 的某一個預期結臬:路鏗創(chuàng) 4-6-7-14.'輸入歎據(jù) 1 iRec_oiNurr= ljTypa=O*' 預期臬

8、*=扣住 4-5-10-13-4 14-輸入歟據(jù):毆蟲也範m= 1,iType= 1 預期結梟買=16路徑斗 1 4-6-0-11-13-4-14靖入數(shù)據(jù)J il;iTvpe-2*'2,3.4.£,6.7,9.10.11.1213.144iF(g =jTyP.e>'x=v + 2; break;else-K=V +10;* else*-K=V +£0;*舉例說明:例:下例程序流程圖描述了最多輸入 50個值(以-作為輸入結束標志),計算其中有效的學生分數(shù)的個 數(shù)、總分數(shù)和平均值。步驟1 :導出過程的流圖。步驟2:確定環(huán)形復雜性度量 V(G):1)V(G)

9、= 6 (個區(qū)域)2)V(G)=E -N+2=16 -2+2=6其中E為流圖中的邊數(shù),N為結點數(shù);其中步驟路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑 4 :1-2-345-8- 2路徑 5:1-2-345-6-8- 2路徑 6:1-2-345-6-7-8- 2步驟 4 :為每一條獨立路徑各設計一組測試用例,以便強迫程序沿著該路徑至少執(zhí)行一次。1) 路徑 1(1-2-9-10-12) 的測試用例:scorek= 有效分數(shù)值,當 k < i ;scorei= - 1,2 <i <50;期望結果:根據(jù)輸入的有效分數(shù)算出正確的分

10、數(shù)個數(shù)n1 、總分 sum 和平均分 average 。2) 路徑 2(1-2-9-11-12) 的測試用例:score 1 = -1 ;期望的結果:average = -1,其他量保持初值。3)路徑 3(1-2-3-9-10-12) 的測試用例:輸入多于 50 個有效分數(shù),即試圖處理 51 個分數(shù),要求前 51 個為有效分數(shù) ;期望結果:n1=50、且算出正確的總分和平均分。4)路徑4(1-2-3-4-5-8- 2)的測試用例:scorei= 有效分數(shù),當 i<50;scorek<0 , k< i ;期望結果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1 、總分 sum 和平均

11、分 average 。3)V(G)=P+1=5+1=6P為謂詞結點的個數(shù)。在流圖中,結點2、3、5、6、9是謂詞結點。3:確定基本路徑集合 (即獨立路徑集合 )。于是可確定 6 條獨立的路徑:連接權為“俵示存在一個連接,在圖中如果一行有兩個或更多的元素“1,”則這行所代表的結點一定是一個判定結點,通過連接矩陣中有兩個以上(包括兩個)元素為“1的個數(shù),就可以得到確定該圖圈復雜度的另一種算法。2.3.3基本路徑測試法基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行的路徑集合, 從而設計測試用例的方法。 設計出的測試用例要保證在測試中程序的 每個執(zhí)行語句至少執(zhí)行一

12、次?;韭窂綔y試法的重點內容如下:程序的控制流圖:描述程序控制流的一種圖示方法。程序環(huán)形復雜度: 中的獨立路徑條數(shù), 上界。:McCabe復雜性度量。從程序的環(huán)路復雜性可導出程序基本路徑集合 這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的導出測試用例:根據(jù)圈復雜度和程序結構設計用例數(shù)據(jù)輸入和預期結果。準備測試用例:確保基本路徑集中的每一條路徑的執(zhí)行。(可簡稱流圖)是對程序流程圖進行簡化后得到的,它突出表示程序控制程序控制流圖流的結構。程序控制流圖是描述程序控制流的一種方式,其要點如下:1)圖形符號:圓圈代表一個結點,表示一個或多個無分支的語句或源程序語句。2)程序控制流邊和點圈

13、定的部分叫做區(qū)域。當對區(qū)域計數(shù)時,圖形外的一個部分也應 記為一個區(qū)域。3)判斷語句中的條件為復合條件(即條件表達式由一個或多個邏輯運算符連接的邏輯 表達式(a and b)時,則需要改變復合條件的判斷為一系列只有單個條件的嵌套的判斷。結點由帶標號的圓圈表示, 可代表一個或多個語句、 一個處理框序列和一個條件判定框 (假設不包含復合條件)。控制流線由帶箭頭的弧或線表示,可稱為邊,它代表程序中的控制流。為了滿足路徑覆蓋,必須首先確定具體的路徑以及路徑的個數(shù)。我們通常采用控制流圖的邊(?。┬蛄泻凸?jié)點列表示某一條具體路徑。路徑測試就是從一個程序的入口開始,執(zhí)行所經(jīng)歷的各個語句的完整過程。任何關于路徑分

14、析的測試都可以叫做路徑測試。完成路徑測試的理想情況是做到路徑覆蓋,但對于復雜性高的程序要做到所有路徑覆蓋(測試所有可執(zhí)行路徑)是不可能的。在不能實現(xiàn)所有路徑覆蓋的前提下,如果某一程序的每一個獨立路徑都被測試過,那么可以認為程序中的每個語句都已經(jīng)檢驗過了,即達到了語句覆蓋。這種測試方法就是通常所說的基本路徑測試方法?;韭窂綔y試方法是在控制流圖的基礎上,通過分析控制結構的環(huán)形復雜度,導出執(zhí)行路徑的基本集,再從該基本集設計測試用例?;韭窂綔y試方法包括以下4個步驟:1)畫出程序的控制流圖。2)計算程序的環(huán)形復雜度,導出程序基本路徑集中的獨立路徑條數(shù),這是確定程序中 每個可執(zhí)行語句至少執(zhí)行一次所必需

15、的測試用例數(shù)目的上界。3)導出基本路徑集,確定程序的獨立路徑。4)根據(jù)步驟3)中的獨立路徑,設計測試用例的輸入數(shù)據(jù)和預期輸出。程序控制流圖如圖2-4所示。程序的環(huán)形復雜度也稱為圈復雜度,它是一種為程序邏輯復雜度提供定量尺度的軟件度 量。將環(huán)形復雜度用于基本路徑方法,可以提供程序基本集的獨立路徑數(shù)量,確保所有語句至少執(zhí)行一次測試。獨立路徑是指程序中至少引入了一個新的處理語句集合或一個新條件的 程序通路,包括一組以前沒有處理的語句或條件的一條路徑。通常環(huán)形復雜度以圖論為基礎,提供軟件度量??捎萌缦路椒▉碛嬎悱h(huán)形復雜度:1)控制流圖中區(qū)域的數(shù)量對應于環(huán)形復雜度。2)給定控制流圖 G的環(huán)形復雜度 V(

16、 G),其定義為:V( G) = E-N+2其中,E是控制流圖中邊的數(shù)量,N是控制流圖中的節(jié)點數(shù)量。計算環(huán)形復雜度如圖 2-5所示。計算結果為節(jié)點數(shù)量 N=8 ,導出邊的數(shù)量E=10 (用、編號表示),V( G) = E-N+2=10-8+2= 10 (條邊)-8 (個節(jié)點)+ 2 = 4,導出獨立路徑用路徑 1、路徑2、路徑3、路徑4編號表示。四、基本路徑測試如果把覆蓋的路徑數(shù)壓縮到一定限度內,例如,程序中的循環(huán)體只執(zhí)行零次和一次,就成為基本路徑 測試。它是在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而 設計測試用例的方法。設計出的測試用例要保證在測試中,

17、程序的每一個可執(zhí)行語句至少要執(zhí)行一次。1. 程序的控制流圖10-4-7所示。符號G稱為控制流圖是描述程序控制流的一種圖示方法?;究刂茦嬙斓膱D形符號如圖 控制流圖的一個結點,一組順序處理框可以映射為一個單一的結點。控制流圖中的箭頭稱為邊,它表示了控制流的方向,在選擇或多分支結構中分支的匯聚處,即使沒有執(zhí)行語句也應該有一個匯聚結點。邊和結 點圈定的區(qū)域叫做區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應記為一個區(qū)域。-nfA旺爭分支辭構圖10-4-7控制流圖的各種圖形符號如果判定中的條件表達式是復合條件時,即條件表達式是由一個或多個邏輯運算符(OR,AND ,NAND,NOR)10-4-8和條件連接的邏輯

18、表達式,則需要改復合條件的判定為一系列只有單個條件的嵌套的判定。例如對應圖(a)的復合條件的判定,應該畫成如圖b各有一個只有單個條件的判定結點。10-4-8 (b)所示的控制流圖。條件語句ifaORb中條件aif 4 on b then procedure x e1»e procedure r;(a>t 判所苗點 判斷結點.上文:1 b ' I ""=聲屯f: y ;1 T),(b>2. 計算程序環(huán)路復雜性 進行程序的基本路徑測試時,程序的環(huán)路復雜性給出了程序基本路徑集合中的獨立路徑條數(shù),這是確保程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的上界。所謂獨立路徑,是指包括一

溫馨提示

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

評論

0/150

提交評論