判断三角形类型等价类划分设计

三角形问题的复杂之处在于输入与输出之间的关系比较复杂。分析题目中给出和隐含的对输入条件的要求:

(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)   

c+a等于b

(43)   

其中两边相等

a=b

(6)       

 

 

b=c

(7)       

 

 

c=a

(8)       

 

 

三边都相等

a=b=c

(9)       

 

 

 

  覆盖有效等价类的测试用例:

编号

测试用例

覆盖的等价类

预期结果

a      b      c

1

3      4      5

(1)--(5)

 

2

4      4      5

(1)--(5),(6)

 

3

4      5      5

(1)--(5),(7)

 

4

5      4      5

(1)--(5),(8)

 

5

4      4      4

(1)--(5),(9)

 

 

  覆盖无效等价类的测试用例:

编号

测试用例

覆盖的等价类

预期结果

a      b      c

6       

 

(10)   

 

7       

 

(11)   

 

8       

 

(12)   

 

9       

 

(13)   

 

10    

 

(14)   

 

11    

 

(15)   

 

12    

 

(16)   

 

13    

 

(17)   

 

14    

 

(18)   

 

15    

 

(19)   

 

16    

 

(20)   

 

17    

 

(21)   

 

18    

 

(22)   

 

19    

 

(23)   

 

20    

 

(24)   

 

21    

 

(25)   

 

你可能感兴趣的:(判断三角形类型等价类划分设计)