1. 程式人生 > >單元測試-第一節

單元測試-第一節

課程目標:

  1.單元測試流程

    (1)單元測試計劃

    (2)測試策略計劃

    (3)測試策略實現

一,測試分類回顧

  1.黑盒測試

  2.灰盒測試

  3.白盒測試

  提示:以上分類是站在程式碼的可見度的角度上劃分

  1.1 什麼是白盒測試

    說明:白盒測試就是對於程式的原始碼進行的條件,路徑等一系列覆蓋及正確性驗證

二,單元測試

  2.1 什麼是單元測試?

    根據程式最小單元進行正確性驗證過程

    單元:函式,類,功能選單

  2.2 單元測試優點:

    1. 減少Bug

    2.快速定位Bug

    3.提高程式碼質量

    4. 減少除錯時間

  2.3 單元測試缺點:

    1. 週期長

    2.耗費資源

    3.能力要求高

三,單元測試流程

  3.1 為什麼需要了解測試流程?

    1.計劃

      (1)確定被測程式碼範圍

          a. 依據:二八原則(20%程式碼中隱藏80%bug)

          b. 如何確定20%程式碼?

            1.使用頻率

            2.複用性

             (1)全新(考慮)

             (2)部分複用

             (3)全部複用

            3.開發

             (1)技術

             (2)業務

             4.複雜度

              需要使用圈複雜度7級以上(圈複雜度:在策略實現時學習)

      (2)評估標準(被測程式碼覆蓋率)

         如何確定邏輯覆蓋率?

         <1>語句覆蓋率

            說明:非分支非判斷的語句

            覆蓋率:被覆蓋的語句 / 總語句

         <2>分支覆蓋率

            說明:if有一個或兩個分支(流程圖中的Y / N)

            覆蓋率:被覆蓋分支 / 總分支

         <3>條件覆蓋率

            說明:一個條件分母為2(true / false)

            覆蓋率:覆蓋的條件 / 總條件數

         <4>路徑覆蓋率

            說明:從開始到結束的過程(路徑的分子永遠是1)

            覆蓋率:覆蓋率的路徑 / 總路徑

         <5>分支--條件覆蓋率

            說明:分支的數量 + 條件的數量

            覆蓋率:分支--條件覆蓋率 =(分支的分子 + 條件的分子 / 分支的分母 + 條件的分母)

      (3)流程圖:

            說明:使用統一標準圖形,來描述程式具體執行步驟

            目的:

              1.確定覆蓋率

              2.畫流圖  

    2. 設計

      (1)除錯到最小單元可獨立執行

      (2)策略方式:

        a. 自下向上

          說明:從最上層函式向下開始逐層往下測試

        b. 自下向下

          說明:從最下層函式向上開始逐層往上測試

        c. 孤立策略【推薦使用】

          說明:選擇重要的函式,進行測試

      (3)打樁

          說明:

    3.實現

      (1)將調整好的程式碼轉化為流程圖

      (2)根據流程圖轉化流圖

         a. 流圖:表達程式業務邏輯複雜度一種示意圖

           構成:  

             1. 圈:條件或語句塊都畫圖

               2. 線:帶箭頭的線,連線圈與圈之間的關係

          畫流圖目的?

            1. 確定圈複雜度

            2. 產生測試用例

      (3)根據流圖確定測試用例

    4.執行