独立路径法
例题
为以下程序用独立路径法设计测试用例
public float[] price={10.2,15,29.9,80.3};
public float[] p(float p)={
if(p<10||p>90){
return price[0];
}else if(p<20){
return price[1]y
}else if(p<30){
return price[2];
}else if(p<40){
return price[3];
}
}
解法:
首先 画出程序流程图
↑由李佳明提供的控制流图(上)
↑由杜明珅提供的控制流图(带return 0版)↑
计算环路复杂度为4+1=5,如果是下面那张图 为5+1=6条
逻辑覆盖测试
逻辑覆盖测试分为
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
例题2
为以下程序设计五组测试用例 分别满足语句覆盖 条件覆盖 判定覆盖 判定/条件覆盖 条件组合覆盖
public String eyes(float left float right){
String vision;
if((left>=400)&&(right>=400)){
vision="Very bad"
else{
if((left+right)>400){
vision="Bad"
}else{
vision="0k"
}
}
return vision
}
语句覆盖测试用例
确保每一个语句都能运行
判定覆盖
确保每个判定都能覆盖
(left >= 400) && (right >= 400)
(left + right) > 400
(在第一个if
为假时才会判断)
条件覆盖
确保每个条件都能覆盖
left >= 400
right >= 400
(left + right) > 400
判定/条件覆盖
判定:
(left >= 400) && (right >= 400)
(left + right) > 400
(在第一个if
为假时才会判断)
条件:
left >= 400
right >= 400
(left + right) > 400
条件组合覆盖
left >= 400
right >= 400
(left + right) > 400
这些条件的组合情况如下:
left >= 400
为true
,right >= 400
为true
left >= 400
为true
,right >= 400
为false
left >= 400
为false
,right >= 400
为true
left >= 400
为false
,right >= 400
为false