白盒测试实验报告
一、实验目的
通过简单程序白盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好的测试习惯。熟练掌握白盒测试中的各种测试方法。如语句覆盖、判断覆盖、条件覆盖等。
二、实验内容
1、实验代码
源代码:
public void function(int a, int b, int c)
{
if ((a > 1) && (b == 0))
{
c /= a;
}
if ((a == 5) || (c > 1))
{
c += 1;
}
c = a + b + c;
}
注意:c /= a; 这个如果不能整除,按照四舍五入计算,保留整数位即可。 c/=a 代表 c= c / a; c += 1代表c=c+1
2、控制流程图
3、实验方法及测试用例
3.1、语句覆盖
在语句覆盖测试用例中,使程序中每个可执行语句至少被执行一次。
测试用例 | 覆盖路径 | 预期结果 |
---|---|---|
a=2, b=0, c=2 | a ,c, e | 4 |
3.2、判定覆盖
使得每个判定语句的取值都满足各有一次“真”与“假”
测试用例 | 覆盖路径 | 预期结果 |
---|---|---|
a=2, b=0, c=2 | a, c, e | 4 |
a=-1 ,b=5, c=4 | a, b, e | 9 |
a=-4, b=3, c=-5 | a, b, d | -6 |
a=3, b=0, c=-6 | a, c, d | 1 |
3.3、条件覆盖
有2个判定语句,每个判定语句有2个逻辑条件,共有4个逻辑条件,使用标识符标识各个逻辑条件取真值与取假值的情况,如下表:
条件一 | 条件标记 | 条件二 | 条件标记 |
---|---|---|---|
a>1 | S1 | b=0 | S3 |
a<=1 | -S1 | b!=0 | -S3 |
a=5 | S2 | c>1 | S4 |
a!=5 | -S2 | c<=1 | -S4 |
设计测试用例时,要保证每种状态都至少出现一次。设计测试用例的原则是尽量以最少的测试用例达到最大的覆盖率
测试用例 | a | b | c | 条件标记 | 执行路径 |
---|---|---|---|---|---|
Test1 | 2 | 0 | 2 | S1, -S2, S3, S4 | a, c, e |
Test2 | -1 | 5 | 4 | -S1,-S2,-S3,S4 | a, b, e |
Test3 | -4 | 3 | -5 | -S1,-S2,-S3,-S4 | a, b, d |
Test4 | 3 | 0 | -6 | S1,- S2, S3, -S4 | a, c, d |
3.4、判定-条件覆盖
设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次。
测试用例 | a | b | c | 条件标记 | 条件一 | 条件二 | 执行路径 |
---|---|---|---|---|---|---|---|
Test1 | 2 | 0 | 2 | S1, -S2, S3, S4 | 1 | 1 | a, c, e |
Test2 | -1 | 5 | 4 | -S1,-S2,-S3,S4 | 0 | 1 | a, b, e |
Test3 | -4 | 3 | -5 | -S1,-S2,-S3,-S4 | 0 | 0 | a, b, d |
Test4 | 3 | 0 | -6 | S1,- S2, S3, -S4 | 1 | 0 | a, c, d |
3.5、条件组合覆盖
1)设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次
2)由于四个条件每个条件都有取“真”、“假”两个值,因此所有条件结果的组合有24=16种
序号 | 组合 | 含义 |
---|---|---|
1 | S1,S2,S3,S4 | a>1成立, a=5成立 ,b=0成立, c>1成立 |
2 | -S1,S2,S3,S4 | a>1不成立, a=5成立, b=0成立, c>1成立 |
3 | S1,-S2,S3,S4 | a>1成立, a=5不成立, b=0成立, c>1成立 |
4 | S1,S2,-S3,S4 | a>1成立, a=5成立, b=0不成立, c>1成立 |
5 | S1,S2,S3,S4 | a>1成立, a=5成立, b=0成立, c>1不成立 |
6 | -S1,-S2,S3, S4 | a>1不成立, a=5不成立, b=0成立, c>1成立 |
7 | -S1,S2,-S3,S4 | a>1不成立, a=5成立, b=0不成立, c>1成立 |
8 | -S1,S2,S3,-S4 | a>1不成立, a=5成立, b=0成立, c>1不成立 |
9 | S1,-S2,-S3,S4 | a>1成立, a=5不成立, b=0不成立, c>1成立 |
10 | S1,S2,-S3,-S4 | a>1成立,a=5成立,b=0不成立,c>1不成立 |
11 | S1,-S2,S3,-S4 | a>1成立, a=5不成立, b=0成立, c>1不成立 |
12 | -S1,-S2,-S3,S4 | a>1不成立, a=5不成立, b=0不成立, c>1成立 |
13 | -S1,-S2,S3,-S4 | a>1不成立, a=5不成立, b=0成立, c>1不成立 |
14 | S1,-S2,-S3,-S4 | a>1成立, a=5不成立, b=0不成立, c>1不成立 |
15 | -S1,S2,-S3,-S4 | a>1不成立, a=5成立, b=0不成立, c>1不成立 |
16 | -S1,-S2,-S3,-S4 | a>1不成立, a=5不成立, b=0不成立, c>1不成立 |