2、 逻辑覆盖的应用
l 按照所给的程序流程图,写出Java代码(
l 用类和方法实现)
写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试
/**
* 按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径
* @author 康艺珊
*/
package cn.kang.two;
public class TestTwo {
public void excuse(int x,int y) {
// TODO Auto-generated method stub
if(x<4||y>0){
if(y>1){
y=y+1;
System.out.println("输出y=y+1的值"+y);
}
else{
System.out.println("结束!");
return;
}
}
else
{
if(x>=5){
x=x-y;
System.out.println("输出x=x-y的值"+x);
}
else{
x=x+y;
System.out.println("输出x=x+y的值"+x);
}
}
}
}
package cn.kang.two;
import java.util.Scanner;
import org.junit.Test;
public class TestTwoTest {
@Test
public void test() {
TestTwo two=new TestTwo();
Scanner scan=new Scanner(System.in);
System.out.println("请输入x,y:");
int x=scan.nextInt();
int y=scan.nextInt();
two.excuse(x,y);
}
}
语句覆盖:
覆盖路径:abc; aeg aef
测试用例:X=4,Y=2 a-b-c
X=4,Y=0 a-e-g
X=5, Y=0 a-e-f
分支覆盖:
覆盖路径: abc; abd; aef; aeg
当X<4 or Y>0为T ,Y>1为 T则路径a-b-c 测试用例X=3,Y=2;
当X<4 or Y>0为T ,Y>1为 F则路径a-b-d测试用例X=3,Y=0;
当X<4 or Y>0为F ,X>=5为T则路径a-e-f测试用例X=5, Y=0;
当X<4 or Y>0为F ,X>=5为F则路径a-e-g测试用例X=4, Y=0