等价类
等价类定义:某个输入域的子合集,该子集中的数据对于揭示程序的错误是等价的(强化:子集内的所有输入得到的输出一样)
等价类设计定义:把程序的输入域划分成不同等价类,列出等价表,从每一个等价类中选取少数具有代表性的数据,形成用例,其输出与预期结果一一对应。
优点:以较少的具有代表性的数据进行测试,有效覆盖需求规则,测试效果良好。
为加强程序可靠性,引入有效等价类和无效等价类概念;
有效等价类——合理的、有意义的输入数据
无效等价类——不合理的、无效的输入数据
有效等价类通常有限易识别,用来验证基本功能,而无效等价类的识别是设计中的重点
划分规则:
- 子集互不相交,保证一种形式的无冗余性
- 子集的并集是全集,保证覆盖的全面
具体示例:
最简单的就是单独数值的输入,例如请输入学生成绩,范围[0,100];
类似的是固定数值的输入,例:请输入1、2、3、4这四个数;这种场景就需要重点综合考虑输入框的规则来识别无效等价类
当输入的规则特别多的时