��
(1) 按区间划分:
如果可能的输入数据属于一个取值范围或值的个数限制范围,则可以确立一个有效等价类和两个无效等价类。
��例如,在程序的规格说明中,对输入条件有一句话:"…… 项数可以从1到999 ……",则有效等价类是"1≤项数≤999",两个无效等价类是"项数<1"或"项数>999"。在数轴上表示成:
��
(2) 按数值划分:
如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。则可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。
��例如,在教师分房方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。 因此可以确定4个有效等价类为教授、副教授、讲师和助教,以及一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。
��
(3) 按数值集合划分:
如果可能的输入数据属于一个值的集合,或者须满足"必须如何"的条件,这时可确立一个有效等价类和一个无效等价类。
��例如,在Pascal语言中对变量标识符规定为"以字母打头的……串"。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。
��
(4) 按限制条件或规则划分:
如果规定了输入数据必须遵守的规则或限制条件,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
��例如,Pascal语言处理时规定"一个语句必须以分号';'结束"。 这时,可以确定一个有效等价类"以';'结束",若干个无效等价类"以':'结束"、"以','结束"、"以' '结束"、"以LF结束"等等。
��