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

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

  • <strong id="5koa6"></strong>
  • linux白盒測試流程

    發表于:2015-03-25來源:uml.org.cn作者:不詳點擊數: 標簽:linux
    白盒測試的主要目的有兩點,一點是驗證軟件需要是否在代碼中被覆蓋,二是進行代碼覆蓋率分析,盡可能多的覆蓋所有軟件代碼。顯然,最重要的第一點。分析代碼覆蓋率就是為了

      本文主要結合gdb和gcov開源工具,在linux環境下進行白盒測試。

      白盒測試的主要目的有兩點,一點是驗證軟件需要是否在代碼中被覆蓋,二是進行代碼覆蓋率分析,盡可能多的覆蓋所有軟件代碼。顯然,最重要的第一點。分析代碼覆蓋率就是為了檢查代碼跟需求是否匹配,然后再繼續根據需求添加新代碼,或者刪除掉根本沒有執行的死代碼。

      所以當代碼覆蓋率達到100%,說明代碼已經很完美的匹配了軟件需求,白盒測試工作也就結束了。這就是白盒測試的根本目的。

      下面就結合具體的例子說明linux白盒測試流程。

      這里有個簡單的 程序,計算1+2+3..+8的和 sum。如果有條程序需求,當sum不等于36,設置quit=0,否側,設置quit=1。

      $cat calnumber.c

    1 #include <stdio.h>
    2
    3 int main()
    4 {
    5 int i,sum,number;
    6 int quit;
    7 number = 8;
    8 sum = 0;
    9 for(i = 0; i <= number; i++)
    10 {
    11 sum += i;
    12 }
    13
    14 if(sum != 36)
    15 {
    16 quit = 0;
    17 printf("sum = %d\n", sum);
    18 } else
    19 {
    20 quit = 1;
    21 printf("sum is 36\n");
    22 }
    23
    24 if(quit) printf("Finish!\n");
    25
    26 return 0;
    27 }

      很顯然需求設計兩個用例,一個是sum=36, 另外一個是sum!=36,這樣程序需求也就覆蓋到了。目前,我們還沒有看到程序,但是我們已經可以設計用例了,所以說在編碼人員寫程序之前,測試人員就可以結合程序需求設計所有的測試用例。當程序寫完之后,測試人員就可以馬上進行測試。

      我們把這個用例寫成gdb腳本。具體如下,需要熟悉gdb命令。

      $cat calnumber.gdb

    # For comments

    file calnumber

    # Test Case 1
    echo \n
    echo ---------------------\n
    echo Test Case 1\n
    echo \n
    break calnumber.c:main
    run

    break calnumber.c:9
    continue
    echo "check number == 8"\t
    print number == 8
    echo "check sum == 0"\t
    print sum == 0
    echo "set number = 4"\t
    print number = 4

    break calnumber.c:14
    continue
    echo "set sum = 10"\t
    print sum = 10

    break calnumber.c:24
    continue
    echo "check quit == 0"\t
    print quit == 0
    echo "check i == 5"\t
    print i == 5
    echo "check sum == 10"\t
    print sum == 10

    Delete
    continue

    # Test Case 2
    echo \n
    echo ---------------------\n
    echo Test Case 2\n
    echo \n
    break calnumber.c:main
    run

    break calnumber.c:24
    continue
    echo "check i == 9"\t
    print i == 9
    echo "check sum == 36"\t
    print sum == 36
    echo "check quit == 1"\t
    print quit == 1

    Delete
    continue

    # -------------------------------
    quit

    原文轉自:http://www.uml.org.cn/Test/2009021210.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>