單元測試-第一節
課程目標:
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.執行