整理基本路徑測試_第1頁
整理基本路徑測試_第2頁
整理基本路徑測試_第3頁
整理基本路徑測試_第4頁
整理基本路徑測試_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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.準備測試用例:保證根本路徑集中的每一條路徑的執(zhí)行.工具方法:圖形矩陣:是在根本路徑測試中起輔助作用的軟件工具,利用它可以實現(xiàn)自動地確定一個根本路徑集.程序的限制流圖:描述程序限制流的一種圖示方法.圓圈稱為限制流圖的一個結點,表示一個或多個無分支的語句或源程序語句同序結構.IF選擇結構.限內循珞結構,CASE去分支結構/Until德環(huán)結構,流圖只有二種圖形符號:圖中的每一個圓稱為流圖的結點,代表一條或多條語句QAYO流圖中的箭頭

3、稱為邊或連接,代表限制流任何過程設計都要被譯成限制流圖.如何根據(jù)程序流程圖畫出限制流程圖在將程序流程圖簡化成限制流圖時,應注意:n在選擇或多分支結構中,分支的會聚處應有一個會聚結點.n邊和結點圈定的區(qū)域叫做區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應記為一個區(qū)域.n如果判斷中的條件表達式是由一個或多個邏輯運算符(OR,AND,NAND,NOR)連接的復合條件表達式,用流圖表熱的傳涕讀畦序*區(qū)嚅: 由邊和卿橫勤加起來的區(qū)就,計舞域,不要忘記區(qū)域外的筱次那么需要改為一系列只有單條件的嵌套的判斷.例如:1ifaorb3else對應的邏輯為:獨立路徑:至少沿一條新的邊移動的路徑判斷結點判斷結點b根本路徑測試

4、法的步驟:o第一步:畫出限制流圖流程圖用來描述程序限制結構.可將流程圖映射到一個相應的流圖假設流程圖的菱形決定框中不包含復合條件.在流圖中,每一個圓,稱為流圖的結點,代表一個或多個語句.一個處理方框序列和一個菱形決測框可被映射為一個結點,流圖中的箭頭,稱為邊或連接,代表限制流,類似于流程圖中的箭頭.一條邊必須終止于一個結點,即使該結點并不代表任何語句例如:if-else-then結構.由邊和結點限定的范圍稱為區(qū)域.計算區(qū)域時應包括圖外部的范圍路徑 1:1-11*路徑2:1-2-3-4-5-1.-1f.對以上路徑的遍歷,就是至少一次地執(zhí)行了程序中的所有語句時有下面的二國既用根本路徑灰際法誨信星山

5、說 1 1iRiR 熨旦 m.m.她國或輯 j.Iypej.Iype+,+,2-inix=o2-inix=o;4 43 3 履=.4+4+四hihi性口砥熟颯期一上.A A5.5.6.6.lflf(0=(0=曲I I曲+,7.7.zy+Z;break;*zy+Z;break;*6.eke*6.eke*g,if(i=g,if(i=iiyqRiiyqR10101 1Jt-Y+lOjfJt-Y+lOjf11.11.削8/8/12.12.*=v+N*=v+N口;13.13.上14.14.H H畫出其程序流程圖和對應的限制流圖如下第二步:計算圈復雜度圈復雜度是一種為程序邏輯復雜性提供定量測度的軟件度量,

6、將該度量用于計算程序的根本的獨立路徑數(shù)目,為保證所有語句至少執(zhí)行一次的測試數(shù)量的上界.獨立路徑必須包含一條在定義之前不曾用到的邊.有以下三種方法計算圈復雜度:流圖中區(qū)域的數(shù)量對應于環(huán)型的復雜性程方標履國在割底國WfTAHiCS給定流圖G的圈復雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中結點的數(shù)量給定流圖G的圈復雜度V(G),定義為V(G)=P+1,P是流圖G中判定結點的數(shù)量.對應上面國中的圖.夏桑度,計算如下;/流回中有四個區(qū)域t*t* g)=g)=1010弄邊-白鰭盛之=4=4;* *做3 3t t判定結點+J4,+J4,d d第三步:導出測試用例根據(jù)上面的計算方

7、法,可得出四個獨立的路徑.(一條獨立路徑是指,和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路.V(G)值正好等于該程序的彳立路徑的條數(shù).)U路徑1:4-14U路徑2:4-6-7-14U路徑3:4-6-8-10-13-4-14U路徑4:4-6-8-11-13-4-14根據(jù)上面的獨立路徑,去設計輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑.第四步:準備測試用例為了保證根本路徑集中的每一條路徑的執(zhí)行,根據(jù)判斷結點給出的條件,選擇適當?shù)臄?shù)據(jù)以保證某一條路徑可以被測試到,滿足上面例子根本路徑集的測試用例是:舉例說明:例:下例程序流程圖描述了最多輸入50個值以-1作為輸入結束標志,計算其中有

8、效的學生分數(shù)的個5&1S1:5&1S1:行工知輸入數(shù)盛一.照國期!唯三0,0,吃著*就阻電g g更蛔口的累一個評譜期鰭果Fx=0*Fx=0*路徑2m2m+-6-7-+-6-7-14-14-輸入數(shù)據(jù):jg&cjrdNymsLjTypfl=Ojg&cjrdNymsLjTypfl=O也瞬果;x=&x=&5Sit3i,45Sit3i,4:6-B6-B- -10-13-4-1410-13-4-14輸人娥$iE9iE9 J9mo=lTJ9mo=lType=l預期理里,K=10H膈俊七4-6B-11-13-4*144-6B-11-13-4*14L L( (*2

9、.以行哈3 3iniv=oiniv=o;* *+.+.5 5師值腐蹦期卜5.5.(3(36.6.網(wǎng)口=皿*7,7,x=y+2;x=y+2;& &時51519,9,訐1=1=|口口的x=y+LO;(x=y+LO;(11.11.國與牛12.12.x=yx=y+20+2013,13,break;州步驟2:確定環(huán)形復雜性度量V(G):1)V(G)=6(個區(qū)域)數(shù)、總分數(shù)和平均值.步驟1:導出過程的流圖.2)V(G)=EN+2=16V2+2=6其中E為流圖中的邊數(shù),N為結點數(shù);3)V(G)=P+1=5+1=6其中P為謂詞結點的個數(shù).在流圖中,結點2、3、5、6、9是謂詞結點.步驟3:確定

10、根本路徑集合(即獨立路徑集合).于是可確定6條獨立的路徑:路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑4:1-2-3-4-5-8-2-路徑5:1-2-3-4-5-6-8-2-路徑6:1-2-3-4-5-6-7-8-2步驟4:為每一條獨立路徑各設計一組測試用例,以便強迫程序沿著該路徑至少執(zhí)行一次.1)路徑1(1-2-9-10-12)的測試用例:scorek=有效分數(shù)值,當ki;scorei=1,2i50;期望結果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總分sum和平均分averageo2)路徑2(1-2-9-11-12)的測試用例:sco

11、re1=-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ù),當i50;scorek0,ki;期望結果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總分sum和平均分averageo舉例說明:例:下例程序流程圖描述了最多輸入50個值(以-1作為輸入結束標志),計算其中有效的學生分數(shù)的個數(shù)、總分數(shù)和平均值.步驟1:導出過程的流圖步驟2:確定環(huán)形復雜性度量V

12、(G):1)V(G)=6(個區(qū)域)2)V(G)=EN+2=16V2+2=6其中E為流圖中的邊數(shù),N為結點數(shù);3)V(G)=P+1=5+1=6其中P為謂詞結點的個數(shù).在流圖中,結點2、3、5、6、9是謂詞結點.步驟3:確定根本路徑集合(即獨立路徑集合).于是可確定6條獨立的路徑:路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑4:1-2-3-4-5-8-2-路徑5:1-2-3-4-5-6-8-2-路徑6:1-2-3-4-5-6-7-8-2-步驟4:為每一條獨立路徑各設計一組測試用例,以便強迫程序沿著該路徑至少執(zhí)行一次.1)路徑1(1-2-9-10

13、-12)的測試用例:scorek=有效分數(shù)值,當ki;scorei=1,2i50;期望結果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總分sum和平均分average2)路徑2(1-2-9-11-12)的測試用例:score1=-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ù),當i50;scorek0,ki;連接權為“俵示存在一個連接,在圖中如果一

14、行有兩個或更多的元素“1,那么這行所代表的結點一定是一個判定結點,通過連接矩陣中有兩個以上包括兩個元素為“1的個數(shù),就可以得到確定該圖圈復雜度的另一種算法.2.3.32.3.3根本路徑測試法根本路徑測試法是在程序限制流圖的根底上,通過分析限制構造的環(huán)路復雜性,導出基本可執(zhí)行的路徑集合,從而設計測試用例的方法.設計出的測試用例要保證在測試中程序的每個執(zhí)行語句至少執(zhí)行一次.根本路徑測試法的重點內容如下:程序的限制流圖:描述程序限制流的一種圖示方法.程序環(huán)形復雜度:McCabeMcCabe 復雜性度量.從程序的環(huán)路復雜性可導出程序根本路徑集合中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次

15、所必需的測試用例數(shù)目的上界.導出測試用例:根據(jù)圈復雜度和程序結構設計用例數(shù)據(jù)輸入和預期結果.準備測試用例:保證根本路徑集中的每一條路徑的執(zhí)行.程序限制流圖可簡稱流圖是對程序流程圖進行簡化后得到的,它突出表示程序限制流的結構.程序限制流圖是描述程序限制流的一種方式,其要點如下:1 1圖形符號:圓圈代表一個結點,表示一個或多個無分支的語句或源程序語句.n1、總分sum和平均分average期望結果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)用拈特力2 2程序限制流邊和點圈定的局部叫做區(qū)域.當對區(qū)域計數(shù)時,圖形外的一個局部也應記為一個區(qū)域.3 3判斷語句中的條件為復合條件即條件表達式由一個或多個邏輯運算符

16、連接的邏輯表達式aandbaandb時,那么需要改變復合條件的判斷為一系列只有單個條件的嵌套的判斷.結點由帶標號的圓圈表示,可代表一個或多個語句、一個處理框序列和一個條件判定框假設不包含復合條件.限制流線由帶箭頭的弧或線表示,可稱為邊,它代表程序中的控制流.為了滿足路徑覆蓋,必須首先確定具體的路徑以及路徑的個數(shù).我們通常采用限制流圖的邊 弧 序列和節(jié)點列表示某一條具體路徑.路徑測試就是從一個程序的入口開始,執(zhí)行所經歷的各個語句的完整過程.任何關于路徑分析的測試都可以叫做路徑測試.完成路徑測試的理想情況是做到路徑覆蓋,但對于復雜性高的程序要做到所有路徑覆蓋測試所有可執(zhí)行路徑是不可能的.在不能實現(xiàn)

17、所有路徑覆蓋的前提下,如果某一程序的每一個獨立路徑都被測試過,那么可以認為程序中的每個語句都已經檢驗過了,即到達了語句覆蓋.這種測試方法就是通常所說的根本路徑測試方法.根本路徑測試方法是在限制流圖的根底上,通過分析限制結構的環(huán)形復雜度,導出執(zhí)行路徑的根本集,再從該根本集設計測試用例.根本路徑測試方法包括以下 4 4 個步驟:1 1畫出程序的限制流圖.2 2 計算程序的環(huán)形復雜度,導出程序根本路徑集中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的上界.3 3導出根本路徑集,確定程序的獨立路徑.4 4根據(jù)步驟 3 3中的獨立路徑,設計測試用例的輸入數(shù)據(jù)和預期輸出.I

18、F 選擇結構 While 楣環(huán)結構多分立結構I 洲循環(huán)結構技犬應力莪程序限制流圖如圖2-42-4 所示.點擊查看大圖圖2-4程序限制流程程序的環(huán)形復雜度也稱為圈復雜度,它是一種為程序邏輯復雜度提供定量尺度的軟件度量.將環(huán)形復雜度用于根本路徑方法,可以提供程序根本集的獨立路徑數(shù)量,保證所有語句至少執(zhí)行一次測試.獨立路徑是指程序中至少引入了一個新的處理語句集合或一個新條件的程序通路,包括一組以前沒有處理的語句或條件的一條路徑.通常環(huán)形復雜度以圖論為根底,提供軟件度量.可用如下方法來計算環(huán)形復雜度:1 1限制流圖中區(qū)域的數(shù)量對應于環(huán)形復雜度.2 2給定限制流圖 G G 的環(huán)形復雜度 V VG G,

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

20、復雜性,導出根本可執(zhí)行路徑集合,從而設計測試用例的方法.設計出的測試用例要保證在測試中,程序的每一個可執(zhí)行語句至少要執(zhí)行一次.1.程序的限制流圖限制流圖是描述程序限制流的一種圖示方法.根本限制構造的圖形符號如圖10-4-7所示.符號C稱為限制流圖的一個結點,一組順序處理框可以映射為一個單一的結點.限制流圖中的箭頭稱為邊,它表示了限制流的方向,在選擇或多分支結構中分支的會聚處,即使沒有執(zhí)行語句也應該有一個會聚結點.邊和結點圈定的區(qū)域叫做區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應記為一個區(qū)域.%-iNniMSjfiCASF定力王干忤圖10-4-7限制流圖的各種圖形符號如果判定中的條件表達式是復合條件時,即條件表達式是由一個或多個邏輯運算符(OR,AND,NAND,NOR)連接的邏輯表達式,那么需要改復合條件的判定為一系列只有單個條件的嵌套的判定.例如對應圖10-4-8(a)的復合條件的判定,應該畫成如圖10-4-8(b)所示的限制流圖.條件語句ifaORb中條件a和條件b各有一個只有單個條件

溫馨提示

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

評論

0/150

提交評論