• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 白盒測試之基本路徑測試法(2)

    發表于:2015-03-26來源:uml.org.cn作者:軒緣點擊數: 標簽:白盒測試
    第三步:導出測試用例 根據上面的計算方法,可得出四個獨立的路徑。(一條獨立路徑是指,和其他的獨立路徑相比,至少引入一個新處理語句或一個新判

      第三步:導出測試用例  根據上面的計算方法,可得出四個獨立的路徑。(一條獨立路徑是指,和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路。V(G)值正好等于該程序的獨立路徑的條數。)

      路徑1:4-14

      路徑2:4-6-7-14

      路徑3:4-6-8-10-13-4-14

      路徑4:4-6-8-11-13-4-14

      根據上面的獨立路徑,去設計輸入數據,使程序分別執行到上面四條路徑。

      第四步:準備測試用例

      為了確?;韭窂郊械拿恳粭l路徑的執行,根據判斷結點給出的條件,選擇適當的數據以保證某一條路徑可以被測試到,滿足上面例子基本路徑集的測試用例是:

      舉例說明:流程圖描述了最多輸入50個值(以–1作為輸入結束標志),計算其中有效的學生分數的個數、總分數和平均值。

      步驟1:導出過程的流圖。

      步驟2:確定環形復雜性度量V(G):

      1)V(G)= 6 (個區域)

      2)V(G)=E–N+2=16–12+2=6

      其中E為流圖中的邊數,N為結點數;

      3)V(G)=P+1=5+1=6

      其中P為謂詞結點的個數。在流圖中,結點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:為每一條獨立路徑各設計一組測試用例,以便強迫程序沿著該路徑至少執行一次。

      1)路徑1(1-2-9-10-12)的測試用例:

      score[k]=有效分數值,當k < i ;

      score=–1, 2≤i≤50;

      期望結果:根據輸入的有效分數算出正確的分數個數n1、總分sum和平均分average。

      2)路徑2(1-2-9-11-12)的測試用例:

      score[ 1 ]= – 1 ;

      期望的結果:average = – 1 ,其他量保持初值。

      3)路徑3(1-2-3-9-10-12)的測試用例:

      輸入多于50個有效分數,即試圖處理51個分數,要求前51個為有效分數;

      期望結果:n1=50、且算出正確的總分和平均分。

      4)路徑4(1-2-3-4-5-8-2…)的測試用例:

      score=有效分數,當i<50;

      score[k]<0, k< i ;

      期望結果:根據輸入的有效分數算出正確的分數個數n1、總分sum和平均分average。

      5)路徑5的測試用例:

      score=有效分數, 當i<50;

      score[k]>100, k< i ;

      期望結果:根據輸入的有效分數算出正確的分數個數n1、總分sum和平均分average。

      6)路徑6(1-2-3-4-5-6-7-8-2…)的測試用例:

      score=有效分數, 當i<50;

      期望結果:根據輸入的有效分數算出正確的分數個數n1、總分sum和平均分average。

      注意事項:

      必須注意,一些獨立的路徑,往往不是完全孤立的,有時它是程序正常的控制流的一部分,這時,這些路徑的測試可以是另一條路徑測試的一部分。

      方法工具:圖形矩陣

      導出控制流圖和決定基本測試路徑的過程均需要機械化,為了開發輔助基本路徑測試的軟件工具,稱為圖形矩陣(graph matrix)的數據結構很有用。

      利用圖形矩陣可以實現自動地確定一個基本路徑集。一個圖形矩陣是一個方陣,其行/列數控制流圖中的結點數,每行和每列依次對應到一個被標識的結點,矩陣元素對應到結點間的連接(即邊)。在圖中,控制流圖的每一個結點都用數字加以標識,每一條邊都用字母加以標識。如果在控制流圖中第i個結點到第j個結點有一個名為x的邊相連接,則在對應的圖形矩陣中第i行/第j列有一個非空的元素x。

      對每個矩陣項加入連接權值(link weight),圖矩陣就可以用于在測試中評估程序的控制結構,連接權值為控制流提供了另外的信息。最簡單情況下,連接權值是 1(存在連接)或0(不存在連接),但是,連接權值可以賦予更有趣的屬性:

    原文轉自:http://www.uml.org.cn/Test/200804036.asp

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>