1. 程式人生 > >軟件測試的藝術:邊界值分析

軟件測試的藝術:邊界值分析

關聯 最小 請求 結果 如何 多個 函數 序列 數量

邊界值分析:所謂邊界條件,是指輸入和輸出等價類中那些恰好處於邊界、或超過邊界、或在邊界以下的狀態。邊界值分析方法與等價劃分之間的重要區別在於邊界值分析考察正處於等價劃分邊界或在邊界附近的狀態,邊界值分析和等價劃分的一個弱點是未對輸入條件的組合進行分析。它們存在兩方面的不同:

  1. 與從等價類中挑選出任意一個元素作為代表不同,邊界值分析需要選擇一個或多個元素,以便等價類的每個邊界都經過一次測試。
  2. 與僅僅關註輸入條件(輸入空間)不同,還需要考慮從結果空間(輸出等價類)設計測試用例。

用邊界值分析方法設計測試用例的通用指南:

  1. 如果輸入條件規定了一個輸入值範圍,那麽應針對範圍的邊界設計測試用例,針對剛剛越界的情況設計無效輸入測試用例。舉例:如果輸入值的有效範圍是-1.0~+1.0,那麽應該針對-1.0、+1.0、-1.001、+1.001的情況設計測試用例;
  2. 如果輸入條件規定了輸入值的數量,那麽應針對最小數量輸入值、最大數量輸入值,以及比最小數量少一個、比最大數量多一個的情況來設計測試用例。舉例,如果某個輸入文件可容納1~255條記錄,那麽應根據0、1、255、256條記錄的情況設計測試用例;
  3. 對每個輸出條件應用指南1,檢查結果空間的邊界。因為輸入範圍的邊界並不總是能代表輸出範圍的邊界情況(例如三角函數sin的情況就是如此)。同樣,總是產生超過輸出範圍的結果也是不大可能的,但無論如何,應該考慮這種可能性;
  4. 對每個輸出條件應用指南2,如果某個信息檢索系統根據輸入請求顯示關聯程度最高的信息摘要,而摘要的數量從未超過4條,則應編寫測試用例,使程序顯示0條、1條、4條摘要,還應設計測試用例,導致程序錯誤地顯示5條摘要;
  5. 如果程序的輸入或輸出是一個有序序列(例如順序的文件、線性列表或表格),則應特別註意該序列的第一個和最後一個元素;
  6. 此外,發揮聰明才智找出其他邊界條件。

軟件測試的藝術:邊界值分析