《软件测试》实验
实验三 白盒测试
实验目的
(1) 学习白盒测试方法
(2) 掌握语句覆盖、条件覆盖、分支覆盖等逻辑覆盖方法
(3) 掌握Java代码分析工具的使用
实验内容
1、 计算整数X和整数Y的最大公约数。(不允许采用课堂上所用的方式实现)
l 请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。
l 在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。
l 利用FindBugs查找程序中是否存在bug。
2、 逻辑覆盖的应用
l 按照所给的程序流程图,写出Java代码(用类和方法实现)
l 写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试
1.
import java.util.Scanner;
public class mod {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=100,t=150;
int min=Math.min(n,t);
for(int i=min;i>0;i-- ){
if(n%i==0 && t%i==0){
System.out.println(n+"和"+t+"的最的公约数是:"+i);
return;}
}
}
}
2.
import java.util.Scanner;
public class Demo {
public static void mian(String[] args){
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int y = scanner.nextInt();
if (x<4 || y>0) {
if (y>1) {
y=y+1;
}
}else {
if (x>=5) {
x=x-y;
}else {
x=x+y;
}
}
}
}
语句覆盖:
X=5 y=0 路径aeg
X=3 y=1 路径abd
分支覆盖:
X=5/4 y=1 路径aef/aeg
X=3 y=1/3 路径abd/abc
(图为第一道题测试)