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

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

  • <strong id="5koa6"></strong>
  • 測試覆蓋率之一——測試覆蓋率分類

    發表于:2009-07-03來源:作者:點擊數: 標簽:覆蓋率分類
    關于覆蓋率, 網絡 上最常見的兩個詞應該是“測試覆蓋率”(Test Coverage)和”代碼覆蓋率“(Code Coverage)。今天就來探探這兩個東西。 在測試里面,一般會將測試覆蓋率分為兩個部分,即”需求覆蓋率“和”代碼覆蓋率“??梢钥吹?,代碼覆蓋率其實是測試
    關于覆蓋率,網絡上最常見的兩個詞應該是“測試覆蓋率”(Test Coverage)和”代碼覆蓋率“(Code Coverage)。今天就來探探這兩個東西。

      在測試里面,一般會將測試覆蓋率分為兩個部分,即”需求覆蓋率“和”代碼覆蓋率“??梢钥吹?,代碼覆蓋率其實是測試覆蓋率的一部分而已。其中,最常討論和關心的是”代碼覆蓋率“,代碼覆蓋率又分為程序語句和代碼行覆蓋,分支覆蓋和條件覆蓋。對于這些概念,我們逐個解釋。

      需求覆蓋率:如果需求已經定義好,這個時侯我們就需要考慮需求覆蓋率了。這個時候需要注意的是,這里的需求不僅僅是指功能需求,還要包括性能需求。衡量需求覆蓋率的最直觀的方式是我們有多少功能點,我們有多少性能點要求,這些將作為分母;我們寫了多少測試用例,覆蓋了多少模塊,多少功能點,我們的性能測試用例考慮了待測程序多少性能點,這些作為分子。

      代碼覆蓋率:為了更加全面的覆蓋,我們可能還需要測試程序的流程,我們可能會考慮到一個函數的數據的輸入與輸出,甚至是每一行代碼的執行情況,代碼的每一條邏輯和分支,這個時候我們的測試執行情況就以代碼覆蓋率來衡量,這也是我們常在單元測試中念叨的覆蓋率覆蓋率的問題。

      語句覆蓋率:換個名字叫做代碼行覆蓋率,這就是監視每行代碼是否在用例(當然之所有的)中是否被執行到,準確點說是我們的用例里面大概執行了百分之多少的語句/代碼行數。需要注意的是,即使所有的語句都被執行到,也不一定執行到了所有的路徑。比如有五條語句:ABCDE,如果我們執行了用例覆蓋了ABCDE,另外一個用例這個時候我們覆蓋了所有語句,但是可能還存在一個路徑(如ABC)沒有執行,例如:

      public verifyToken(string yourname, string yourtitle)

      {

      A   output(”Hello, my dear friends“);

      B   if(yourname == "uniquestudiowcd")

      {

      C      output("Hello, Aaron");

      }

      D   if(yourtitle == "tester")

      {

      E     output("Hello, my dear tester");

      }

      }

      

    原文轉自: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>