三角形程序白盒测试.docx
《三角形程序白盒测试.docx》由会员分享,可在线阅读,更多相关《三角形程序白盒测试.docx(12页珍藏版)》请在冰豆网上搜索。
三角形程序白盒测试
三角形判断问题白盒测试
问题描述
针对三角形的形状判定程序设计测试用例,进行白盒测试。
假定这里构成三角形的边取值只能为整数。
程序判定的类型有:
输入数据不是数字
1、输入不能构成整数边的三角形输入不为整数
输入数据不能构成三角形
2、等边三角形
3、等腰三角形
4、普通三角形
二、实验目的
(1)掌握白盒测试的原理;
(2)掌握使用逻辑覆盖和基路径测试等设计测试用例的方法;
(3)掌握单元测试的方法步骤;
(4)掌握控制流图的画法和通过控制流图找出基路径的方法。
三、实验环境
平台:
win1064位
环境:
Eclipse(neon版本)
四、实验过程
(一)编写判定三角形类别的程序:
核心代码:
if((a+b>c)&&(b+c>a)&&(a+c>b)){//判断可以构成三角形if((b==c)&&(a==b)){
return1;//等边三角形
}
if((a==b)||(b==c)||(c==a)){
return2;//等腰三角形
}
return3;//普通三角形
}
return0;//非三角形
}
主函数调用代码:
shape=DefiniteShape(a,b,c);
if(shape==0){
System.out.println(
}
elseif(shape==1){
System.out.println(
}
elseif(shape==2){
System.out.println(
}
elseif(shape==3){
System.out.println(
输入数据不能构成三角形!
")
等边三角形!
");
等腰三角形!
");
普通三角形!
");
(二)画出程序流程图:
(三)画出控制流图:
1
2
3
4
5
6
7
9
8
10
11
/
12
(四)逻辑覆盖测试:
条件有:
1)
a为数字
2)
b为数字
3)
c为数字
4)
a为整数
5)
b为整数
6)
c为整数
7)
a+b>c
8)
b+c>a
9)
a+c>b
10)
a==b
11)
b==c
12)
a==c
所有测试用例(覆盖率达到100%)
1
语句覆盖
输入
期望输出
覆盖对象
测试结果
Case1
a='三'b,='角'c='形'
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case2
a='5',b='2,,c=2'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-6-9-10-12
请输入能构成三角
形的整数。
Case3
a=2',b='2,,c=2'
等边三角形!
执行路径:
1-2-3-4-5-6-8-12
等边三角形!
Case4
a=3',b='4',c=''
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
2
判定覆盖
输入
期望输出
覆盖对象
测试结果
Case5
a='字,b,'O',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case6
a=3',b=23',c=3.3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case7
a='6',b=2,,c=2'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case8
a=12',b='12',c='12'
等边三角形!
执行路径:
1-2-3-4-5-6-8-12
等边三角形!
Case9
a=24',b='13',c='13'
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
等腰三角形!
Case10
a=15',b=20',c='25'
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
3
条件覆盖
输入
期望输出
覆盖对象
测试结果
Case11
a='汉'b,=2',c=3'
请输入能构成三角
形的整数。
满足:
T1,F2,F3
请输入能构成三角
形的整数。
Case12
a='',b='d',c='字’
请输入能构成三角
形的整数。
满足:
F1,T2,T3
请输入能构成三角
形的整数。
Case13
a='5.3'b='3.0',c='2.3'
请输入能构成三角
形的整数。
满足:
F4,T5,F6
请输入能构成三角
形的整数。
Case14
a='',b='2.3',c='3
请输入能构成三角
形的整数。
满足:
T4,F5,T6
请输入能构成三角
形的整数。
Case15
a='',b='3',c='5'
请输入能构成三角
形的整数。
满足:
F7,T8.T9
请输入能构成三角
形的整数。
Case16
a='10',b=-3',c='6'
请输入能构成三角
满足:
T7,F8,T9
请输入能构成三角
形的整数。
形的整数。
Case17
a='',b='',c=''
请输入能构成三角
形的整数。
满足:
T7,T8,F9
请输入能构成三角
形的整数。
Case18
a=3',b='3',c=3'
等边三角形!
满足:
T10,T11,T12
等边三角形!
Case19
a=25',b=26',c='27'
普通三角形!
满足:
F10,F11,F12
普通三角形!
4
判定-条件覆盖
输入
期望输出
覆盖对象
测试结果
Case20
a='',b='',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case21
a='1',b='2',c='3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case22
a='15',b=2',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case23
a='1',b='1OO',c=22'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case24
a='.2',='2.3',c='2.3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case25
a='12',b='12',c=22'
等边三角形!
执行路径:
1-2-3-4-5-6-8-12
等边三角形!
Case26
a=25',b='51',c='5O'
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
Case27
a=l2',b=2l',c='21'
等腰三角形!
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
Case28
a=25',b=25',c='22'
等腰三角形!
执行路径:
等腰三角形!
1-2-3-4-5-6-9-10-12
Case29
a=3',b='23',c='3'
执行路径:
1-2-3-4-5-6-9-10-12
等腰二角形!
等腰三角形!
4
条件组合覆盖
输入
期望输出
覆盖对象
测试结果
Case30
a='1,,b=',,c=3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case31
a=2',b='3',c=a‘
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case32
a=3',b='x',c=3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case33
a='',b='',=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case34
a='',b='',='3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case35
a='',b='',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case36
a='',b='发,c='2'
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case37
a='都'b,'是'c='字'
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case38
a=3',b='',c=223'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case39
a=3',b='',c='2.3'
请输入能构成三角
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
形的整数。
Case40
a='',b=23',c='3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case41
a='12',b=3.5',c=36'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case42
a=6.3',b='31',c=33'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case43
a=6.3',b='336',c='6'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case44
a=2.3',b='1.3',c='2.3'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case45
a=2.6',b='.2',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case46
a='12',b='16',c='0'
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
Case47
a='',b='00',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case48
a='150',b='0',c='0'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case49
a='',b='',c=-2'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case50
a='',b='',c='0'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case51
a=-3',b='',c=''
请输入能构成三角
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
形的整数。
Case52
a='5',b=-9',c=''
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case53
a=-1',b='-1',c='-1'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case54
a=22,,b=22,,c='22'
等边三角形!
执行路径:
1-2-3-4-5-6-8-12
等边三角形!
Case55
a='25',b='23',c='24'
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
Case56
a='12',b='12',c='3'
等腰三角形!
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
Case57
a='',b='2',c='2'
等腰三角形!
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
Case58
a='',b='',c=2'
等腰三角形!
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
5
路径覆盖
输入
期望输出
覆盖对象
测试结果
Case59
a='个’b='十’cc'百’
请输入能构成三角
形的整数。
执行路径:
1-2-3-7-12
请输入能构成三角
形的整数。
Case60
a=3.0',b='2.3',c='1O'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-7-12
请输入能构成三角
形的整数。
Case61
a='3',b=25',c='254'
请输入能构成三角
形的整数。
执行路径:
1-2-3-4-5-7-12
请输入能构成三角
形的整数。
Case62
a=32',b=32',c=?
'3'
等腰三角形!
执行路径:
1-2-3-4-5-6-8-12
等腰三角形!
Case63
a='5',b='5',c='3'
等腰二角形!
执行路径:
1-2-3-4-5-6-9-10-12
等腰三角形!
Case64
a=26',b=23',c='25'
普通三角形!
执行路径:
1-2-3-4-5-6-9-11-12
普通三角形!
五、编写测试代码
基本思路:
将测试用例存入txt文件T读文件T判断T输出