软件测试 第三次作业

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

请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。利用FindBugs查找程序中是否存在bug。

Demo类

package cn.wu.test;

 

public class Demo {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated measure stub

           measure s =new measure();

           s.index();

    }

 

}

Method

package cn.wu.test;

 

public class measure {

    public void index(){

    int a=48,b=90;

    int min =Math.min(a, b);

    for(int k=min;k>0;k--){

       if(a%k==0 && b%k==0){

       System.out.println(a+"和"+b+"的最大公约数为:"+k);

       return;

    }

}

}

}

2、 逻辑覆盖的应用

  按照所给的程序流程图,写出Java代码(用类和方法实现)写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试.

l  测试用例(语句覆盖):

x

y

结果

路径

3

2

Y+1=3 x=3

abd

3

1

不变

abc

6

-1

x-y=7

aeg

4

-1

X+y=3

aef

l  测试用例(分支覆盖):

X<4 or y>0

x>5

Y>1

用例

结果

路径

T

F

X=3,y=1

不变

abc

T

T

X=3,y=2

Y+1=3 x=3

adb

F

F

X=6,y=-1

x-y=7

aeg

F

T

X=4,y=-1

X+y=3

aef

package cn.wu.test;

public class measure {

       public void tests(){

           int x = 5,y = 6;

           if(x<4 || y>0){

              if(y>1){

                  y=y+1;

                  System.out.println("x结果是:"+x);

                  System.out.println("y+1结果是:"+y);

              }

              else{

                  System.out.println("x结果是:"+x);

                  System.out.println("y结果是:"+y);

              }

           }

           else{

              if(x>=5){

                  x=x-y;

                  System.out.println("x-y结果是:"+x);

              }

              else{

                  x=x+y;

                  System.out.println("x+y结果是:"+x);

              }

           }

          

       }

}

package cn.wu.test;

 

public class Demo {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated measure stub

           measure s =new measure();

           s.tests();

    }

 

}

原文地址:https://www.cnblogs.com/WJ-Mark/p/5385009.html