软件测试-白盒测试作业
请用逻辑覆盖法(语句覆盖、判定覆盖(分支覆盖)、条件覆盖、条件组合覆盖、条件分支覆盖、路径覆盖)对下面的java代码段进行测试。
public char function(int x, int y) {
char t;
if ((x >= 90) && (y >= 90)) {
t = 'A';
} else {
if ((x + y) >= 165) {
t = 'B';
} else {
t = 'C';
}
}
return t;
}
流程图如下:
语句覆盖:设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。
解:
测试用例如下:
编号 |
x |
y |
执行路径 |
1 |
91 |
91 |
acf |
2 |
85 |
85 |
abef |
3 |
80 |
80 |
abdf |
判定覆盖(分支覆盖):设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。
if(x>90 && y>90)记为P1,if((x+y)>165)记为P2,测试用例如下:
编号 |
x |
y |
P1 |
P2 |
执行路径 |
1 |
91 |
91 |
Y |
|
acf |
2 |
85 |
85 |
N |
Y |
abef |
3 |
80 |
80 |
N |
N |
abdf |
条件覆盖:设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。
解:
记两个判断if(x>90 && y>90)为P1,if((x+y)>165)为P2。记三个判断x>=90为C1,y>=90为C2,(x+y)>=165为C3,测试用例如下。
编号 |
x |
y |
C1 |
C2 |
C3 |
P1 |
P2 |
执行路径 |
1 |
91 |
91 |
Y |
Y |
|
Y |
|
acf |
2 |
85 |
85 |
N |
N |
Y |
N |
Y |
abef |
3 |
80 |
80 |
N |
N |
N |
N |
N |
abdf |
判定-条件覆盖(分支-条件覆盖):设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。
解:
记两个判断if(x>90 && y>90)为P1,if((x+y)>165)为P2。记三个判断x>=90为C1,y>=90为C2,(x+y)>=165为C3,测试用例如下。
编号 |
x |
y |
C1 |
C2 |
C3 |
P1 |
P2 |
执行路径 |
1 |
91 |
91 |
Y |
Y |
|
Y |
|
acf |
2 |
85 |
85 |
N |
N |
Y |
N |
Y |
abef |
3 |
80 |
80 |
N |
N |
N |
N |
N |
abdf |
条件组合覆盖:设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。
注意:
a、条件组合只针对同一个判断语句内存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。
b、不同的判断语句内的条件取值之间无需组合。
c、对于单条件的判断语句,只需要满足自己的所有取值即可。
解:
编号 |
x |
y |
C1 |
C2 |
C3 |
P1 |
P2 |
执行路径 |
1 |
91 |
91 |
Y |
Y |
|
Y |
|
acf |
2 |
91 |
65 |
Y |
N |
Y |
N |
Y |
abef |
3 |
10 |
91 |
N |
Y |
N |
N |
N |
abdf |
路径覆盖:设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。
解:
测试用例如下:
编号 |
x |
y |
执行路径 |
1 |
91 |
91 |
acf |
2 |
85 |
85 |
abef |
3 |
80 |
80 |
abdf |
六种逻辑覆盖的强弱关系:
路径覆盖很难在该图表示出来。
文章参考:https://blog.csdn.net/bmzydream_007/article/details/4136008
上一篇: (1)软件测试基础
推荐阅读
-
如何用imatest测分辨率 imatest软件测试分辨率图文教程
-
如何使用mouse rate checker(鼠标灵敏度检测)软件测试鼠标回报率?mouse rate checker
-
测试管理培训要多久(软件测试需要学的技能)
-
如何使用mouse rate checker(鼠标灵敏度检测)软件测试鼠标回报率?mouse rate checker
-
软件测试-MySQL(六:数据库函数)
-
黑盒测试是什么工作(黑盒测试和白盒测试的特点)
-
软件测试常用的测试工具(推荐这4个测试工具)
-
如何用imatest测分辨率 imatest软件测试分辨率图文教程
-
测试管理培训要多久(软件测试需要学的技能)
-
黑盒测试是什么工作(黑盒测试和白盒测试的特点)