等價類劃分詳解
一.等價類劃分法
1. 等價類劃分定義:將所有的輸入域,劃分為若干個子集,從每個子集中選取少量的具有代表性的資料作為測試用例。
可劃分為兩種等價類:有效等價類和無效等價類
有效等價類:完全滿足產品規格說明的資料,有效的,有意義的的輸入資料集合
無效等價類:不滿足程式的程式的輸入要求或者無效的輸入資料構成的集合
2. 等價類的劃分方法:
1>.輸入值規定了取值範圍或者對輸入資料個數有規定,可劃分為一個有效等價類和兩個無效等價類,;
eg:輸入學生成績:0~100,有效等價類為輸入值為“0~100”,無效等價類為:輸入值>100 and 輸入值<100
eg:規定輸入三角形的邊,有效等價類:輸入邊數 3
無效等價類:輸入邊數>3 and 輸入邊數<3
2>.輸入值已規定了“必須如何”條件的情況下,可劃分為一個有效等價類和一個無效等價類;
eg:輸入‘張三’的姓名,有效等價類為:“張三”,無效等價類為:費張三的任何字元內容
3>.輸入值為布林條件的情況下,可劃分為一個有效等價類和一個無效等價類;
eg:輸入值>10,有效等價類為:大於10 的任何一個數字,無效等價類為:小於10的任何一個數字
4>.規定輸入資料的一組值n個,並且程式對每個輸入值分別處理的情況下,可確定n個有效等價類和一個無效等價類;
eg:規定輸入學科條件說明學歷可為:碩士,本科,大專三種之一,則把這三個值確定3個有效等價類,把這三個學歷之外的任何學歷作為無效等價類
5>在規定輸入資料必須遵守幾個規則的情況下,可確認若干個有效等價類(遵守規則)若干個無效等價類(從不同角度違反規則)
eg:電子郵件規則:必須包含@,@後格式為x.y,地址中不能包含符號:#¥%
6>在確認已劃分的等價類中各元素在程式處理中的方式不同的情況下,可將該等價類劃分為更小的等價類
eg:成績及格的學生評級,80>成績>60:一般;90>成績>80:良好;
100>成績>90:優秀;