原文見此處
- 接口功能測試:用來保證接口功能的正确性。
- 局部資料結構測試(不常用):用來保證接口中的資料結構是正确的
- 比如變量有無初始值
- 變量是否溢出
- 邊界條件測試
- 變量沒有指派(即為NULL)
- 變量是數值(或字元)
- 主要邊界:最小值,最大值,無窮大(對于DOUBLE等)
- 溢出邊界(期望異常或拒絕服務):最小值-1,最大值+1
- 臨近邊界:最小值+1,最大值-1
- 變量是字元串
- 引用“字元變量”的邊界
- 空字元串
- 對字元串長度應用“數值變量”的邊界
- 變量是集合
- 空集合
- 對集合的大小應用“數值變量”的邊界
- 調整次序:升序、降序
- 變量有規律
- 比如對于Math.sqrt,給出n^2-1,和n^2+1的邊界
- 所有獨立執行通路測試:保證每一條代碼,每個分支都經過測試
- 代碼覆寫率
- 語句覆寫:保證每一個語句都執行到了
- 判定覆寫(分支覆寫):保證每一個分支都執行到
- 條件覆寫:保證每一個條件都覆寫到true和false(即if、while中的條件語句)
- 路徑覆寫:保證每一個路徑都覆寫到
- 相關軟體
- Cobertura:語句覆寫
- Emma: Eclipse插件Eclemma
- 代碼覆寫率
- 各條錯誤處理通路測試:保證每一個異常都經過測試