软件测试——实验三

实验内容

1、 计算整数X和整数Y的最大公约数。(不允许采用课堂上所用的方式实现)

l  请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。

import java.io.BufferedReader;

import java.io.IoException;

import java.io.InputStreamReader;

public class  chenx {

public  static void  main(String[] args) {

int j = 0;

system.out.print("请输入一个数:");

BufferedReader saa=new BufferedReader(new InputStreamReader(System.in));

try {

j=Integer.parseInt(saa.readLine());

}

catch (NumberFormatException e) {

e.printStackTrace();

}

catch (IoException e) {

e.printStackTrace();

}

int k = 0;

system.out.print("请输入一个数:");

BufferedReader saa1=new BufferedReader(new InputStreamReader(System.in));

try {

k=Integer.parseInt(saa1.readLine());

}

catch (NumberFormatException e) {

e.printStackTrace();

}

catch (IoException e) {

e.printStackTrace();

}

int flag = 0;

for (int i = 1; i <= a; i++) {

if(j%i==0){

if(k%i==0){

flag=i;

}

}

}

system.out.print ("最大公约数是:"+flag);

}

}

 

l  在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。

l  利用FindBugs查找程序中是否存在bug。

2、 逻辑覆盖的应用

l  按照所给的程序流程图,写出Java代码(用类和方法实现)

import java.util.Scanner;

public class chenxiao{

public static void main(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;

}

}

}

}

l  写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试。

语句覆盖:

X =4 ,Y =0,路径aeg

X=3,Y=2 ,路径abc

X=5, Y=0 ,路径aef

分支覆盖:

X=4, Y=0 ,路径aeg ; X=5, Y=0,路径aef

X=3 ,Y=0 ,路径abd; X=3, Y=6 ,路径abc

原文地址:https://www.cnblogs.com/lisa1003/p/5379515.html