什麼是邊界值分析
由於缺陷容易集中在等價類的交界,而測試交界緊鄰兩側之值(例如接受1~100時的0、1、100、101)的黑箱測試技法。容易找出比較運算子混淆之類的錯誤。
日文名稱: 境界値分析
「邊界值分析」出現在1領域的3道練習題中(軟體開發與專案管理等)。
這個名詞所屬的領域: 軟體開發與專案管理
由於缺陷容易集中在等價類的交界,而測試交界緊鄰兩側之值(例如接受1~100時的0、1、100、101)的黑箱測試技法。容易找出比較運算子混淆之類的錯誤。
日文名稱: 境界値分析
「邊界值分析」出現在1領域的3道練習題中(軟體開發與專案管理等)。
這個名詞所屬的領域: 軟體開發與專案管理
程式的條件分支容易出現「<」與「<=」、「>」與「>=」混淆,或陣列索引差1(off-by-one)等錯誤,其影響只在交界的值上出現。例如規格為「85 ℃以上發出警告」,程式卻寫成 if (t > 85),在84 ℃與86 ℃時會依規格運作,只有85 ℃時不發出警告。以等價類劃分只測試各類別中間的值,無法發現這類錯誤。
整數輸入接受1~100時,下方交界選0與1,上方交界選100與101。也有測試交界值及其兩側相鄰值(0、1、2與99、100、101)的更細做法。像票價類別這樣有多個類別時,要在類別改變的所有交界選取兩側的值。輸入為小數時,依規格所定的解析度(0.1為一單位等)決定相鄰的值。
嵌入式軟體中有許多規格數值的交界,例如 ADC 讀值的臨界值、計時器計數器從最大值回到0的點、緩衝區剛好滿的點、通訊封包的最大長度等。8位元計數器在255到0的溢位,16位元有號整數在32,767與−32,768的交界,容易發生計算錯誤。這類交界要從規格書的數值與資料型別的範圍兩方面找出來。
多半是組合使用。以等價類劃分將輸入分成類別並測試各類別的代表值,再以邊界值分析追加測試類別交界的兩側。只用等價類劃分雖能減少測試數量,但容易漏掉交界的錯誤。
它是從規格所寫範圍的交界選擇值,因此是黑箱測試的技法。不過,實作中的陣列大小或型別範圍等,也有規格沒寫到的交界,因此有時會看原始碼加以追加。
由於缺陷容易集中在等價類的交界,邊界值分析會測試交界緊鄰兩側的值。
某程式依年齡(0以上的整數)決定入場費:0~17歲為兒童票價,18~64歲為一般票價,65歲以上為敬老票價。為了確認票…黑箱測試是將測試對象視為看不到內部的箱子,只依據規格建立測試案例的方法,技法有等價類劃分、邊界值分析、因果圖、決策表等。
關於黑箱測試的說明,下列何者適當?像這樣把交界本身的值也納入測試,就是邊界值分析的思維。
規格是「溫度在85 ℃以上時發出警告」,但韌體中誤寫成「if (t > 85)」。溫度 t 為整數。下列測試值中,能發…等價類劃分 黑箱測試 白箱測試 工作分解結構(WBS) 分支涵蓋率 要徑法(CPM) 敏捷開發 測試驅動開發(TDD) 實獲值管理(EVM) 瀑布式模型