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

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

  • <strong id="5koa6"></strong>
  • 如何編寫單元測試用例(白盒測試)

    發表于:2008-05-28來源:作者:點擊數: 標簽:單元編寫白盒
    前段時間公司進行有關測試的 培訓 , 集成測試 , 性能測試 , 壓力測試 說了很多。由于本人還處于Coder階段,只是對 單元測試 有了些了解。寫下來怕以后自己忘記了。都是些自己的看法,不一定準確,歡迎高手指教。 一、 單元測試的概念 單元通俗的說就是指

    前段時間公司進行有關測試的培訓,集成測試,性能測試,壓力測試說了很多。由于本人還處于Coder階段,只是對單元測試有了些了解。寫下來怕以后自己忘記了。都是些自己的看法,不一定準確,歡迎高手指教。

    一、 單元測試的概念

            單元通俗的說就是指一個實現簡單功能的函數。單元測試就是只用一組特定的輸入(測試用例)測試函數是否功能正常,并且返回了正確的輸出。
            測試的覆蓋種類
            1.語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次。
            2.判定覆蓋(也叫分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次。
            3.條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次。
            4.判定——條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次,并且每個可能的判斷結果也至少執行一次。
            5.條件組合測試:設計足夠的測試用例,運行所測程序,使程序中每個判斷的所有條件取值組合至少執行一次。
            6.路徑測試:設計足夠的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。
            用例的設計方案主要的有下面幾種:條件測試,基本路徑測試,循環測試。通過上面的方法可以實現測試用例對程序的邏輯覆蓋,和路徑覆蓋。

    二、開始測試前的準備
            
            在開始測試時,要先聲明一下,無論你設計多少測試用例,無論你的測試方案多么完美,都不可能完全100%的發現所有BUG,我們所需要做的是用最少的資源,做最多測試檢查,尋找一個平衡點保證程序的正確性。窮舉測試是不可能的。   所以現在進行單元測試我選用的是現在一般用的比較多的基本路徑測試法。

    三、開始測試

           基本路徑測試法:設計出的測試用例要保證每一個基本獨立路徑至少要執行一次。

            函數說明 :當i_flag=0;返回     i_count+100
                                    當i_flag=1;返回   i_count  *10
                                    否則  返回   i_count  *20


            輸入參數:int i_count ,  
                                int i_flag
            輸出參數: int  i_return; 
            
          
            代碼:
             

     1  int Test(int i_count, int i_flag)
     2         {
     3             int i_temp = 0;
     4             while (i_count>0)
     5             {
     6                 if (0 == i_flag)
     7                 {
     8                     i_temp = i_count + 100;
     9                     break;
    10                 }
    11                 else
    12                 {
    13                     if (1 == i_flag)
    14                     {
    15                         i_temp = i_temp + 10;
    16                     }
    17                     else
    18                     {
    19                         i_temp = i_temp + 20;
    20                     }
    21                 }
    22                 i_count--;
    23             }
    24             return i_temp;
    25         }



       

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>