1 等价类划分法举例
1.1 判断三角形的类型
等价类划分步骤:
划分等价类并编号形成等价类表——>选择覆盖等价类的测试用例形成测试用例表
某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型(非三角形、一般三角形、等腰三角形及等边三角形)。用等价类划分方法为该程序进行测试用例设计。
三角形问题的复杂之处在于输入与输出之间的关系比较复杂。分析题目中给出和隐含的对输入条件的要求:
(1) 整数
(2) 三个数
(3) 非零数
(4) 正数
(5) 任意两边之和大于第三边
(6) 等腰
(7) 等边
如果a 、 b 、c 满足条件(1)~ (4),则输出下列四种情况之一:
1. 如果不满足条件(5),则程序输出为 " 非三角形 " 。
2. 如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3. 如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4. 如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号,形成等价类表
输入条件 |
有效等价类 |
编码 |
无效等价类 |
编码 |
整数 |
均为整数 |
(1) |
a为非整数 |
(10) |
b为非整数 |
(11) |
|||
c为非整数 |
(12) |
|||
a、b为非整数 |
(13) |
|||
b、c为非整数 |
(14) |
|||
a、c为非整数 |
(15) |
|||
a、b、c均为非整数 |
(16) |
|||
三个数值 |
输入a、b、c三个数值 |
(2) |
只输入a |
(17) |
只输入b |
(18) |
|||
只输入c |
(19) |
|||
只输入a、b |
(20) |
|||
只输入b、c |
(21) |
|||
只输入a、c |
(22) |
|||
输入三个以上的数 |
(23) |
|||
非零数 |
都不为零 |
(3) |
a为0 |
(24) |
b为0 |
(25) |
|||
c为0 |
(26) |
|||
a、b为0 |
(27) |
|||
b、c为0 |
(28) |
|||
a、c为0 |
(29) |
|||
a、b、c均为0 |
(30) |
|||
正数 |
都是正数 |
(4) |
a小于0 |
(31) |
b小于0 |
(32) |
|||
c小于0 |
(33) |
|||
a、b小于0 |
(34) |
|||
b、c小于0 |
(35) |
|||
a、c小于0 |
(36) |
|||
a、b、c均小于0 |
(37) |
|||
两边之和大于第三边 |
a+b大于c b+c大于a c+a大于b |
(5) |
a+b小于c |
(38) |
a+b等于c |
(39) |
|||
b+c小于a |
(40) |
|||
b+c等于a |
(41) |
|||
c+a小于b |
(42) | </