邊界值分析法
發表于:2009-09-25來源:作者:點擊數:
標簽:分析法
實踐證明,程序往往在輸入輸出的處理邊界情況下發生錯誤。邊界情況指輸入等價類和輸出等價類邊界上的邊界,檢查邊界情況的 測試 用例是比較高效的,可以查出更多的錯誤。 邊界值分析法就是在某個變量范圍的邊界上,驗證獨立的輸入/輸出是否正確的 測試方法
實踐證明,程序往往在輸入輸出的處理邊界情況下發生錯誤。邊界情況指輸入等價類和輸出等價類邊界上的邊界,檢查邊界情況的測試用例是比較高效的,可以查出更多的錯誤。
邊界值分析法就是在某個變量范圍的邊界上,驗證獨立的輸入/輸出是否正確的測試方法。邊界值分析法取決于變量的范圍和范圍的類型,確認所有輸入的邊界條件或臨界值,然后選擇這些邊界條件/臨界值及其附近的值來進行相關功能的測試。邊界值分析法處理技巧有:
- 如果輸入條件規定了值的范圍,則取剛達到這個范圍的邊界值,以及剛剛超過這個范圍邊界的值。
- 如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1個、比最小個數少1個的數等作為測試數據。
- 根據規格說明的每一個輸出條件,分別使用以上兩個規則。
- 如果程序的規格說明給出的輸入域或輸出域是有序集合(如有序表,順序文件等),則應選取集合的第一個和最后一個元素作為測試數據。
- 如果程序用了一個內部結構,應該選取這個內部數據結構的邊界值作為測試數據。
- 分析規格說明,找出其他可能的邊界條件。
- 這里給出測試一個排序程序的邊界值分析法的例子,其邊界條件有:
- 排序序列為空。
- 排序序列僅有一個數據。
- 排序序列為滿,用猜錯法補充一下測試用例。
- 排序序列已經按要求排好序。
- 排序序列的順序與要求的順序恰好相反。
- 排序序列中的所有數據全部相等。
因為錯誤最容易發生在邊界值附近,所以邊界值分析法對于多變量函數的測試很有效,尤其是對于像C/C++這種數據類型要求不是很嚴格的語言有用。缺點是對布爾值或邏輯變量無效,也不能很好地測試不同的輸入組合。邊界值分析法也不具有隨機性,常被看做是等價類劃分法的一種補充,兩者結合起來使用更有效。
原文轉自:http://www.kjueaiud.com