有效等價類指對於程序規格說明來說,是合理的、有意義的輸入數據構成的集合。利用有效等價類可以檢驗程序是否實現了規格說明預先規定的功能和性能。有效等價類可以是一個,也可以是多個,根據系統的輸入域划分若干部分,然后從每個部分中選取少數有代表性數據當做數據測試的測試用例,等價類是輸入域的集合。以下是對有效等價類數據集的一些例子。
終端用戶輸入的命令
與最終用戶交互的系統提示
接受相關的用戶文件的名稱
提供初始化值和邊界等
提供格式化輸出數據的命令
在圖形模式(比如鼠標點擊時)提供的數據
失敗時顯示的回應消息
無效等價類和有效等價類相反,無效等價類是指對於軟件規格說明而言,沒有意義的、不合理的輸入數據集合。利用無效等價類,可以找出程序異常說明情況,檢查程序的功能和性能的實現是否有不符合規格說明要求的地方。以下是無效等價類數據集的一些例子。
在一個不正確的地方提供適當的值。
驗證邊界值
驗證外部邊界的值
用戶輸入的命令
最終用戶與系統交互的提示
驗證與邊界和外部邊界值的數值數據
按區間划分。
按數值划分。
按數值集合划分。
按限制條件或規划划分。
按處理方式划分。
等價類划分的原則如下:
在輸入條件規定的取值范圍或值的個數的情況下,可以確定一個有效等價類和兩個無效等價類。
在規定了輸入數據的一組值中(假定有n個值),並且程序要對每個輸入值分別處理的情況下,可以確定n個有效等價類和一個無效等價類。
在規定輸入數據必須遵守的規則的情況下,可以確定一個有效等價類和若干個無效等價類。
在輸入條件規定了輸入值的集合或規定了“必須如何”的條件下,可以確定一個有效等價類和一個無效等價類。
在確定已划分的等價類中各元素在程序處理中的方式不同的情況下,則應將該等價類進一步地划分為更小的等價類。