这是我软件测试课程的一个作业题,没什么难度。

 

1. 题目:输入整数a、b、c,分别作为三角形的三条边,编写程序判断由三条边构成的三角形的类型为:等边三角形、等腰三角形、一般三角形,以及不能构成三角形。

 

2. 简单的实现:

逻辑图:

 

java三角形黑盒测试 黑盒判断三角形_三角形

代码

 public static String SanJiaoXing(float a, float b, float c)
     {
         return ((a + b) <= c || (a + c) <= b || (b + c) <= a) ? "不能构成三角形" : ((a == b && b == c) ? "等边三角形" : ((a != b && b != c && c != a) ? "普通三角形" : "等腰三角形"));
     }

 

 

3. 选择的测试方法:等价划分法。

输入条件

输入三个整数

有效等价类

编号

无效等价类

编号

整数

1

a为非整数

12

b为非整数

13

c为非整数

14

a,b为非整数

15

b,c为非整数

16

c,a为非整数

17

a,b,c都为非整数

18

三个数

2

只给a

19

只给b

20

只给c

21

只给a,b

22

只给b,c

23

只给c,a

24

给出3个以上

25

非零数

3

a为0

26

b为0

27

c为0

28

a,b为0

29

b,c为0

30

c,a为0

31

a,b,c都为0

32

正数

4

a<0

33

b<0

34

b<0

35

a<0且b<0

36

b<0且c<0

37

c<0 且a<0

38

a<0且a<0 且a<0

39

输出条件

普通三角形

a+b>c

5

a+b<c

40

a+b=c

41

b+c>a

6

b+c<a

42

b+c=a

43

c+a>b

7

c+a<b

44

c+a=b

45

等腰三角形

a=b=c

8

 

 

等边三角形

a=b&&b!=c

9

 

 

a=c&&a!=b

10

 

 

b=c&&c!=a

11

 

 

生成的测试用例

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

a

b

c

覆盖有效等价类号码

3

4

5

1,7

4

4

5

1,7,8

4

5

5

1,7,9

5

4

5

1,7,10

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

a

b

c

覆盖无效等价类号码

a

b

c

覆盖无效等价类号码

2.5

4

5

12

0

0

5

29

3

4.5

5

13

3

0

0

30

3

4

5.5

14

0

4

0

31

3.5

4.5

5

15

0

0

0

32

3

4.5

5.5

16

-3

4

5

33

3.5

4

5.5

17

3

-4

5

34

4.5

4.5

5.5

18

3

4

-5

35

3

Null

Null

19

-3

-4

5

36

Null

4

Null

29

-3

4

-5

37

Null

Null

5

21

3

-4

-5

38

3

4

Null

22

-3

-4

-5

39

Null

4

5

23

3

1

5

40

3

Null

5

24

3

2

5

41

3

4

5

25

3

1

1

42

0

4

5

26

3

 

1

43

3

0

5

27

1

4

2

44

3

4

0

28

3

4

1

45