软件测试实验报告白盒测试.docx
《软件测试实验报告白盒测试.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告白盒测试.docx(11页珍藏版)》请在冰豆网上搜索。
软件测试实验报告白盒测试
软件测试与质量课程实验报告
实验3:
白盒测试
姓名
院系
学号
任课教师
实验指导教师
实验地点
实验时间
实验目的
掌握静态白盒测试方法及一般要求
掌握白盒测试用例的设计方法
掌握白盒测试基本测试方法:
逻辑覆盖、路径测试。
实验内容
1.输入三个数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形是一般三角形、等腰三角形还是等边三角形。
在三角形计算中,要求三角形的三个边长:
ABC。
(1)、当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
(2)、若是等腰三角形打印“等腰三角形”,若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。
(3)、若是等边三角形,则打印:
“等边三角形”。
2.请用逻辑覆盖测试方法对下面的java代码进行测试。
代码的功能是:
用折半查找法在元素呈升序排列的数组中查找值为key的元素。
要求:
(1)针对上面的描述,用自己熟悉的语言写出程序,并画出程序的控制流图(用语句编号表示)
(2)根据项目功能要求,设计白盒测试的语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法的测试用例,并写出每个测试用例的执行路径(用语句编号表示)。
(3)编译运行程序,完成各项测试。
实验结果
1.
程序
#include<>
#include<>
intmain(void){
1inta,b,c;
printf("\n请输入三边:
");
scanf("%d%d%d",&a,&b,&c);
2if(a+b<=c||a+c<=b||b+c<=a){
3printf("\n不能构成三角形:
");
}
4elseif(a==b&&b==c&&a==c){
5printf("\n等边三角形:
");
}
6elseif((a==b||b==c||a==c)){
7printf("\n等腰三角形:
");
8else
printf("\n一般三角形:
");
9system("pause");
return0;
}
语句覆盖
输入数据
路径
预期输出
1
A=2,B=5,C=3,
1239
不能构成三角形
2
A=15,B=15,C=15
12459
等边三角形
3
A=15,B=15,C=13
124679
等腰三角形
4
A=23,B=24,C=25
124689
一般三角形
判定覆盖
输入数据
路径
预期输出
1
A=2,B=3,C=5,
1239
不能构成三角形
2
A=15,B=15,C=15
12459
等边三角形
3
A=15B=15,C=13
124679
等腰三角形
4
A=23,B=24,C=25
124689
一般三角形
判定覆盖
输入数据
路径
预期输出
1
A=2,B=3,C=5
1239
不能构成三角形
2
A=15,B=15,C=15
12459
等边三角形
3
A=15B=15,C=13
124679
等腰三角形
4
A=23,B=24,C=25
124689
一般三角形
对于第一个判定(a+b<=c||a+c<=b||b+c<=a):
条件a+b<=c取真值记为T1,取假值记为-T1
条件a+c<=b取真值记为T2,取假值记为-T2
条件b+c<=a取真值记为T3,取假值记为-T3
对于第二个判定(a==b&&b==c&&a==c):
条件a==b取真值记为T4,取假值记为-T3
条件b==c取真值记为T5,取假值记为-T5
条件a==c取真值记为T6,取假值记为-T6
对于第三个判定(a==b||b==c||a==c):
判定条件与第二个判定相同
条件覆盖
输入数据
覆盖条件
路径
预期输出
1
A=5,B=5,C=11,
T1、-T2、-T3
T4、-T5、-T6
1239
不能构成三角形
2
A=4,B=11,C=4
-T1、T2、-T3
-T4、-T5、T6
1239
不能构成三角形
3
A=25,B=12,C=12
-T1、-T2、T3
-T4、T5、-T6
1239
不能构成三角形
判定条件覆盖
输入数据
覆盖条件
路径
预期输出
1
A=5,B=5,C=11,
T1、-T2、-T3
T4、-T5、-T6
1239
不能构成三角形
2
A=4,B=11,C=4
-T1、T2、-T3
-T4、-T5、T6
1239
不能构成三角形
3
A=25,B=12,C=12
-T1、-T2、T3
-T4、T5、-T6
1239
不能构成三角形
4
A=4,B=4,C=4
-T1、-T2、T3
T4、T5、T6
12459
等边三角形
5
A=3,B=4,C=4
-T1、-T2、-T3
-T4、T5、-T6
124679
等腰三角形
6
A=5,B=6,C=7
-T1、-T2、-T3
-T4、-T5、-T6
124689
一般三角形
1、a+b<=c,a+c<=b,b+c<=a记T1、T2,T3第一个判定的取真分支
2、a+b>c,a+c<=b,b+c<=a记-T1、T2,T3,第一个判定的取假分支
3、a+b<=c,a+c>b,b+c<=a记T1、-T2,T3,第一个判定的取假分支
4、a+b<=c,a+c<=b,b+c>a记T1、T2,-T3,第一个判定的取假分支
5、a==b,b==c,a==c记T4、T5、T6,第二、三个判定的取真分支
6、a==b,b!
=c,a!
=c记T4、-T5、-T6,第二个判定的取假分支,第三个判定的取真分支
7、a!
=b,b==c,a!
=c记-T4、T5、-T6,第二个判定的取假分支,第三个判定的取真分支
8、a!
=b,b!
=c,a==c记-T4、-T5、T6,第二个判定的取假分支,第三个判定的取真分支
9、a!
=b,b!
=c,a!
=c记-T4、-T5、-T6,第二、三个判定的取假分支
组合覆盖
输入数据
覆盖条件
路径
预期输出
1
A=5,B=5,C=11,
T1、T2、T3
T4、T5、T6
1239
不能构成三角形
2
A=4,B=11,C=4
-T1、T2、T3
T4、-T5、-T6
1239
不能构成三角形
3
A=25,B=12,C=12
T1、-T2、T3
-T4、-T5、T6
1239
不能构成三角形
4
A=4,B=4,C=4
T1、T2、-T3
-T4、T5、-T6
1239
不能构成三角形
5
A=5,B=6,C=7
T1、T2、T3
-T4、-T5、-T6
124689
一般三角形
路径覆盖
输入数据
路径
预期输出
1
A=3,B=10,C=5,
1239
不能构成三角形
2
A=12,B=12,C=12
12459
等边三角形
3
A=12,B=12,C=15
124679
等腰三角形
4
A=13,B=14,C=15
124689
一般三角形
2.
publicclassrer{
publicstaticvoidmain(String[]args){
intarray[]={8,9,10,11};
1.staticintbinSearch(intarray[],intkey){
intmid,low,high;
low=0;
high=-1;
2.while(low<=high){
3.mid=(low+high)/2;
4.if(key==array[mid]){
5.returnmid;
6.}elseif(key7.high=mid-1;
}else{
8.low=mid+1;
}
}
9.return-1;
}
}
语句覆盖
编号
输入数据
覆盖语句
预期结果
1
array[8,9,10,11]key10
1,2,3,8
7
2
array[8,9,10,11]key25
1,2,3,9
-1
3
array[8,9,10,11]key8
1,2,3,6,7
5
4
array[8,9,10,11]key9
1,2,3,4,5
5
判定覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11]key10
1-2-3-4-5-6-8-
7
2
array[8,9,10,11]key25
1-2-3-4-5-6-8--10-11-4-12
-1
3
array[8,9,10,11]key8
1-2-3-4-5-6-8-9-4-5-6-7
5
条件覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11]key10
1-2-3-4-5-6-8-
7
2
array[8,9,10,11]key25
1-2-3-4-5-6-8--10-11-4-12
-1
3
array[8,9,10,11]key8
1-2-3-4-5-6-8-9-4-5-6-7
5
判定条件覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11]key10
1-2-3-4-5-6-8-
7
2
array[8,9,10,11]key25
1-2-3-4-5-6-8--10-11-4-12
-1
3
array[8,9,10,11]key8
1-2-3-4-5-6-8-9-4-5-6-7
5
组合覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11]key10
1-2-3-4-5-6-8-
7
2
array[8,9,10,11]key25
1-2-3-4-5-6-8--10-11-4-12
-1
3
array[8,9,10,11]key8
1-2-3-4-5-6-8-9-4-5-6-7
5
路径覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11]key10
1-2-3-4-5-6-8-
7
2
array[8,9,10,11]key25
1-2-3-4-5-6-8--10-11-4-12
-1
3
array[8,9,10,11]key8
1-2-3-4-5-6-8-9-4-5-6-7
5
扣分原因(有扣分时填写)
扣分
0
日期: