软件测试课程实践报告
题
目
软件测试实践报告
姓
院
专
名
系
业
指导教师
学号
软件学院
软件工程
2018 年 12 月 24 日
白盒测试-逻辑覆盖法
一.实验目的
通过本次实验使学生熟悉白盒测试的逻辑覆盖测试方法。
二.实验环境
硬件环境:微型计算机。
软件环境:Windows 操作系统,TestLink 等。
三.实验内容
1.分析如下程序段的逻辑结构,用逻辑覆盖法设计测试用例。
result(int
x,int
y,int z)
k=0,j=0;
int
if((x>y)&&(z>5))
k=x+y;
if((x==10)||(y>3))
j=x*y;
k+j;
return
1.
2.
3.
4.
5.
6.
7.
8.
9.
int
{
}
2.画出函数result的程序流程图,分析该段代码包含的基本逻辑判定条件和执行
路径。
1
3.分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖方法
设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
(1)语句覆盖:
x=10,y=3 ,z=6 (x>y;z>5;x=10,y=3;)==>1,2,3,4,5,6,7,8,9
(2)判定覆盖:
x=10,y=3,z=5(x>y;z=5;x=10,y=3)=>1,2,3,4,6,7,8,9(FT)
x=11,y=3,z=6(x>y)==>1,2,3,4,5,6,8,9(TF)
(3)条件覆盖:
x=10,y=3,z=6(x>y;z>5;x=10;y!>3)=>1,2,3,4,5,6,7,8,9
x=1,y=4,z=5(x3)=>1,2,3,4,6,7,8,9
(4)判定/条件覆盖:
x=10,y=14,z=5(x5;x=1,y>3)=>1,2,3,4,6,7,8,9(FT)
x=11,y=3,z=6(x>y;z>5;x!=10;y!>3)==>1,2,3,4,5,6,8,9(TF)
(5)条件组合覆盖:
x=10,y=4,z=6(x>y;z>5;)(x=10;y>3)=>1,2,3,4,5,6,7,8,9
x=10,y=3,z=4(x>y;z<5)(x=10;y!>3)=>1,2,3,4,6,7,8,9
x=9,y=11,z=6(x5;)(x!=10;y>3)=>1,2,3,4,6,7,8,9
x=2,y=3,z=4(x3)=>1,2,3,4,6,8,9
4.设计测试用例表格,包含测试用例 ID,输入数据,预期输出结果,并把所有
测试用例录入 TestLink 中管理。
测试用例 ID
输入数据
1
2
3
4
5
1.x=10,y=3,z=6
1.x=10,y=3,z=5
2.x=11,y=3,z=6
1.x=10,y=3,z=6
2.x=1,y=4,z=5
1.x=10,y=14,z=5
2.x=11,y=3,z=6
1.x=10,y=4,z=6
2.x=10,y=3,z=4
3.x=9,y=11,z=6
4.x=9,y=11,z=4
预期输出结果
1.result=43
1.result=30
2.result=14
1.result=43
2.result=4
1.result=140
2.result=14
1.result=54
2.result=30
3.result=99
4.result=0
(1)语句覆盖:
输入:x=10,y=3 ,z=6 (x>y;z>5;x=10,y=3;)==>1,2,3,4,5,6,7,8,9
结果:
k=10+3=13;
j=10*3=30
k+j=43
(2)判定覆盖:
输入 1:x=10,y=3,z=5(x>y;z=5;x=10,y=3)=>1,2,3,4,6,7,8,9(FT)
2
结果:
k=0;
j=30;
k+j=30;
输入 2:x=11,y=3,z=6(x>y)==>1,2,3,4,5,6,8,9(TF)
结果:
k=11+3=14;
j=0;
k+j=14
(3)条件覆盖:
输入 1:x=10,y=3,z=6(x>y;z>5;x=10;y!>3)=>1,2,3,4,5,6,7,8,9
结果:
k=10+3=13;
j=10*3=30
k+j=33
输入 2:x=1,y=4,z=5(x3)=>1,2,3,4,6,7,8,9
结果:
k=0;
j=4;
k+j=4;
(4)判定/条件覆盖:
输入 1:x=10,y=14,z=5(x5;x=1,y>3)=>1,2,3,4,6,7,8,9(FT)
结果:
k=0;
j=10*14=140;
k+j=140;
输入 2:x=11,y=3,z=6(x>y;z>5;x!=10;y!>3)==>1,2,3,4,5,6,8,9(TF)
结果:
k=11+3=14;
j=0;
k+j=14;
(5)条件组合覆盖:
输入 1:x=10,y=4,z=6(x>y;z>5;)(x=10;y>3)=>1,2,3,4,5,6,7,8,9
结果:
k=14;
j=40;
k+j=54
输入 2:x=10,y=3,z=4(x>y;z<5)(x=10;y!>3)=>1,2,3,4,6,7,8,9
结果:
k=0;
j=30;
k+j=30
输入 3:x=9,y=11,z=6(x5;)(x!=10;y>3)=>1,2,3,4,6,7,8,9
结果:
3
k=0;
j=99;
k+j=99
输入 4:x=2,y=3,z=4(x3)=>1,2,3,4,6,8,9
结果:
k=0;
j=0;
k+j=0
(6)将测试用例输入到 testlink 平台
4
白盒测试—基本路径测试法设计测试用例
一.实验目的:
1. 掌握计算圈复杂度的方法
2. 熟练运用基本路径测试法分析设计测试用例
二.实验要求:
(一)程序代码由 C 语言书写如下:
if(year%100==0)
if(year%400==0)
leap=1;
if(year%4==0)
intIsLeap(int year)
1. {
2.
3. {
4.
5. {
6.
7.
8. else
9.
10.}
11.else
12.leap=1;
13.}
14.else
15.leap=0;
16.return leap;
17.}
leap=0;
5
程序段中每行开头的数字(1-17)是对每条语句的编号。
问题:
(1)画出以上代码的控制流图
(2)计算上述控制流图的圈复杂度
①区域数=4;
②判定结点数+1=3+1=4;
③边数-结点数+2=19-17+2=4;
所以综上所述圈复杂度为 4
(3)设计上述代码基本路径
①abcdefjogt==>1->2->3->4->5->6->7->10->13->16->17
year=1200;
leap=1;
②abcdeghiogt==>1->2->3->4->5->6->8->9->10->13->16->17
year=1300;
leap=0;
③abckmngth==>1->2->3->4->11->12->13->16->17
year=1640
leap=1;
④apqrt==>1->2->14->15
year=1645;
6
leap=0;
(5)假设输入的取值范围是 1000