乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      白盒測(cè)試及其基本方法

       huowufenghuang 2019-02-11

       一、

             白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。 這一方法是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。

       二、概述

              白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一種測(cè)試用例的設(shè)計(jì)方法,盒子對(duì)應(yīng)的是被測(cè)試的測(cè)試,"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。"白盒"法是窮舉路徑測(cè)試。測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。

      三、基本方法

      強(qiáng)度由低到高:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。

      (1)語(yǔ)句覆蓋:就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。

      (2)判定覆蓋:使設(shè)計(jì)的測(cè)試用例保證程序中每個(gè)判斷的每個(gè)取值分支至少經(jīng)歷一次。

      (3)條件覆蓋:條件覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),判定中每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,但未必能覆蓋全部分支

      (4)判定條件覆蓋:判定-條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能判斷結(jié)果至少執(zhí)行,即要求各個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。

      (5)條件組合覆蓋:在白盒測(cè)試法中,選擇足夠的測(cè)試用例,使所有判定中各條件判斷結(jié)果的所有組合至少出現(xiàn)一次,滿足這種覆蓋標(biāo)準(zhǔn)成為條件組合覆蓋。

      (6)路徑覆蓋:是每條可能執(zhí)行到的路徑至少執(zhí)行一次。

      補(bǔ)充:(1)語(yǔ)句覆蓋在所有的測(cè)試方法中是一種最弱的覆蓋。

      (2)判定覆蓋和條件覆蓋比語(yǔ)句覆蓋強(qiáng),滿足判定/條件覆蓋標(biāo)準(zhǔn)的測(cè)試用例一定也滿足判定覆蓋、條件覆蓋和語(yǔ)句覆蓋(3)路徑覆蓋也是一種比較強(qiáng)的覆蓋,但未必考慮判定條件結(jié)果的組合,并不能代替條件覆蓋和條件組合覆蓋。

      四、優(yōu)缺點(diǎn)
      1. 優(yōu)點(diǎn)
      a.迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn)
      b.可以檢測(cè)代碼中的每條分支和路徑
      c.揭示隱藏在代碼中的錯(cuò)誤
      d.對(duì)代碼的測(cè)試比較徹底
      e.最優(yōu)化
      2. 缺點(diǎn)
      a.代價(jià)昂貴
      b.無(wú)法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤
      c.不驗(yàn)證規(guī)格的正確性
      五、白盒測(cè)試中設(shè)計(jì)到圈復(fù)雜度的計(jì)算
      首先要畫(huà)出控制流圖(這里不再加以說(shuō)明)
      圈復(fù)雜度計(jì)算公式為:V(G)=e-n+2。其中,e表示控制流圖中邊的數(shù)量,n表示控制流圖中節(jié)點(diǎn)的數(shù)量。
      此外圈復(fù)雜度的計(jì)算還有更直觀的方法,因?yàn)槿?fù)雜度所反映的是“判定條件”的數(shù)量,所以圈復(fù)雜度實(shí)際上就是等于判定節(jié)點(diǎn)的數(shù)量再加上1,也即控制流圖的區(qū)域數(shù),
      此外對(duì)應(yīng)與控制流圖區(qū)域數(shù)還有一個(gè)圈復(fù)雜度計(jì)算公式:V(G)=區(qū)域數(shù)=判定節(jié)點(diǎn)數(shù)+1。其中判定節(jié)點(diǎn)是控制流圖中出現(xiàn)的判斷條件。
      下面附上一個(gè)實(shí)例,實(shí)例并不是很好,但是很全,由于包含細(xì)節(jié)較多,如有錯(cuò)誤,還望見(jiàn)諒。

      被測(cè)程序:尋找最大數(shù)程序:max.numbers

       

      程序操作說(shuō)明:從鍵盤(pán)輸入3個(gè)整數(shù)(間隔為空格),找出并輸出其中數(shù)值最大的那一個(gè)。如果其中有一個(gè)以上的最大數(shù)(相等的情況),也要表示出來(lái)。

       

       

      #include<stdio.h>

      1  void main()

      2   {

      3         int i,a,b,c;

      4         i = 0;

      5         while(i<100) {

      6         printf("Enter numbers: ");

      7         scanf("%d %d%d",&a,&b,&c);

      8         if(a>b)

      9               {

      10               if(a>c)

      11                printf("max. a=%d\n",a);

      12               else if(a==c)

      13                 printf("max. a=c=%d\n",c);

      14                     else

      15                  printf("max.c=%d\n",c);

      16               }

      17         else{

      18               if(a==b)

      19                   {

      20               if(a>c) 

      21                 printf("max.a=b=%d\n",a);

      22               else

      23                if(a==c) 

      24                  printf("max.a=b=c=%d\n",c);

      25                     else

      26                       printf("max.c=%d\n",c); 

      27                     }

      28              else{

      29                  if(b>c)

      30                printf("max.b=%d\n",b);

      31                else

      32                 if(b==c) 

      33                    printf("max. b=c=%d\n",b);

      34                      else

      35                        printf("max. c=%d\n",c);

      36               }

      37             }

      38           i++;

      39           }

      40     }

       

       

      實(shí)驗(yàn)要求:依據(jù)語(yǔ)句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋、基本路徑測(cè)試分別給出測(cè)試用例?;韭窂綔y(cè)試要求畫(huà)出程序流圖、控制流圖、計(jì)算圈復(fù)雜度、給出路徑并導(dǎo)出測(cè)試用例。

       

      整個(gè)程序?qū)?yīng)的流程圖如下和控制流圖對(duì)應(yīng)如下:

       

      (1)    語(yǔ)句覆蓋

      由控制流圖可知:測(cè)試用例需要9組

      a.      a=3,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,11,16.38,39

      b.     a=2,b=1,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,13,16.38,39

      c.      a=2,b=1,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,15,16.38,39

      d.     a=2,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,21,27.38,39

      e.      a=b=c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,24,27,38,39

      f.      a=2,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,26,27,38,39

      g.     a=1,b=3,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,30,37, 38,39

      h.     a=1,b=2,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,33,37, 38,39

      i.       a=1,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,35,37, 38,39

       

      (2)    判斷覆蓋

       

      由控制流圖可知:測(cè)試用例需要9組

      a.      a=3,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,11,16.38,39

      b.     a=2,b=1,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,13,16.38,39

      c.      a=2,b=1,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,15,16.38,39

      d.     a=2,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,21,27.38,39

      e.      a=b=c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,24,27,38,39

      f.      a=2,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,26,27,38,39

      g.     a=1,b=3,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,30,37, 38,39

      h.     a=1,b=2,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,33,37, 38,39

      i.       a=1,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,35,37, 38,39

       

      (3)  條件覆蓋

      整個(gè)測(cè)試所覆蓋的條件:

      1.a>b 真為T(mén)1,假為F1

      2.a>c 真為T(mén)2,假為F2

      3.a=c 真為T(mén)3,假為F3

      4.a=b 真為T(mén)4,假為F4

      5.b>c 真為T(mén)5,假為F5

      6.b=c 真為T(mén)6,假為F6

       

      測(cè)試用例

      覆蓋條件

      具體條件取值

      a=3,b=2,c=1

      T1,T2

      a>b,a>c

      a=2,b=1,c=2

      T1, F2,T3

      a>b ,a=c

      a=2,b=1,c=3

      T1,F2,F3

      a>b,a<=c,

      a=2,b=2,c=1

      F1,T4,T2

      a=b,a>c

      a=b=c=2

      F1,T4,F2,T3

      a=b=c

      a=2,b=2,c=3

      F1,T4,F2,F3

      a=b,a<c

      a=1,b=3,c=2

      F1,F4,T5

      a<b,b>c

      a=1,b=2,c=2

      F1,F4,F5,T6

      a<b,b=c

      a=1,b=2,c=3

      F1,F4,F5,F6

      a<b,b<c

       

      (4)  判斷/條件覆蓋

       

      a.      a=3,b=2,c=1

      覆蓋路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,11,16.38,39

      覆蓋條件:T1,T2

      b.     a=2,b=1,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,13,16.38,39

      覆蓋條件:T1, F2,T3

      c.      a=2,b=1,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,15,16.38,39

      覆蓋條件:T1,F2,F3

      d . a=2,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,21,27.38,39

      覆蓋條件:F1,T4,T2

      e.      a=b=c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,24,27,38,39

      覆蓋條件:F1,T4,F2,T3

      f.      a=2,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,26,27,38,39

      覆蓋條件:F1,T4,F2,F3

      g.     a=1,b=3,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,30,37, 38,39

      覆蓋條件:F1,F4,T5

      h.  a=1,b=2,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,33,37, 38,39

      覆蓋條件:F1,F4,F5,T6

      i.                   a=1,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,35,37, 38,39

      覆蓋條件:F1,F4,F5,F6

       

      (5)  條件組合覆蓋

      所有可能的條件組合:

      編號(hào)

      覆蓋條件

      判定條件

      具體條件

      1

      T1,T2

      8取Y,10取Y

      a>b,a>c

      2

      T1, F2,

      8取Y,10取N,

      a>b,a<=c

      3

      F2,T3

      10取N,12取Y

      a=c

      4

      F2,F(xiàn)3

      10取N,12取N

      a<c

      5

      F1,T4

      8取N,18取Y

      a=b

      6

      F1,F4

      8取N,18取N

      a<b

      7

      T4,T2

      18取Y,20取Y

      a=b,a>c

      8

      T4,F2

      18取Y,20取N

      a=b,a<=c

      9

      F2,T3

      20取N,23取Y

      a=c

      10

      F2,F3

      20取N,23取N

      a<c,

      11

      F4,T5

      18取N,29取Y

      a<b,b>c

      12

      F4,F5

      18取N,29取N

      a<b,b<=c

      13

      F5,T6

      29取N,32取Y

      b<=c,b==c

      14

      F5,F6

      29取N,32取N

      b<c

      1.a>b 真為T(mén)1,假為F1

      2.a>c 真為T(mén)2,假為F2

      3.a=c 真為T(mén)3,假為F3

      4.a=b 真為T(mén)4,假為F4

      5.b>c 真為T(mén)5,假為F5

      6.b=c 真為T(mén)6,假為F6

       

       

      測(cè)試用例:

      測(cè)試用例

      覆蓋條件

      覆蓋組合

      具體條件取值

      a=3,b=2,c=1

      T1,T2

      1

      a>b,a>c

      a=2,b=1,c=2

      T1, F2,T3

      2,3

      a>b ,a=c

      a=2,b=1,c=3

      T1,F2,F3

      2,4

      a>b,a<=c,

      a=2,b=2,c=1

      F1,T4,T2

      5,7

      a=b,a>c

      a=b=c=2

      F1,T4,F2,T3

      5,8,3

      a=b=c

      a=2,b=2,c=3

      F1,T4,F2,F3

      5,8,4

      a=b,a<c

      a=1,b=3,c=2

      F1,F4,T5

      6,11

      a<b,b>c

      a=1,b=2,c=2

      F1,F4,F5,T6

      6,12,13

      a<b,b=c

      a=1,b=2,c=3

      F1,F4,F5,F6

      6,12,14

      a<b,b<c

       

      (7)基本路徑測(cè)

       

      a.      a=3,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,11,16.38,39

      b.     a=2,b=1,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,13,16.38,39

      c.      a=2,b=1,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,10,12,15,16.38,39

      d.     a=2,b=2,c=1

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,21,27.38,39

      e.      a=b=c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,24,27,38,39

      f.      a=2,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,20,23,26,27,38,39

      g.     a=1,b=3,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,30,37, 38,39

      h.     a=1,b=2,c=2

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,33,37, 38,39

      i.       a=1,b=2,c=3

      路徑經(jīng)過(guò)為:1,3,4,5,6,7,8,18,29,32,35,37, 38,39

       

      每個(gè)測(cè)試用例對(duì)應(yīng)的路徑:

      路徑1:  1-3-4-5-6-7-8-10-11-16-38-39

      路徑2: 1-3-4-5-6-7-8-10-12-13-16-38-39

      路徑3: 1-3-4-5-6-7-8-10-12-15-16-38-39

      路徑4: 1-3-4-5-6-7-8-18-20-21-27-37-38-39

      路徑5: 1-3-4-5-6-7-8-18-20-23-24-27-37-38-39

      路徑6:1-3-4-5-6-7-8-18-20-23-26-27-37-38-39

      路徑7: 1-3-4-5-6-7-8-18-29-30-36-37-38-39

      路徑8:1-3-4-5-6-7-8-18-29-32-33-36-37-38-39

      路徑9:1-3-4-5-6-7-8-18-29-32-35-36-37-38-39

       

      圈復(fù)雜度V(G)=判斷節(jié)點(diǎn)數(shù)+1=9+1=10

       



        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多