实验三 白盒测试

《软件测试》实验

实验三   白盒测试                                                       

实验目的 

(1) 学习白盒测试方法

(2) 掌握语句覆盖、条件覆盖、分支覆盖等逻辑覆盖方法

(3) 掌握Java代码分析工具的使用

实验内容

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

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

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

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

2、 逻辑覆盖的应用

l 按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径

l 附加题:根据程序流程图,写出代码(定义一个类和方法来实现),用JUnit生成单元测试,并利用前面设计的测试用例进行测试。

 

实验结果:

1、

import java.util.Scanner;

public class Test {   

  public static void main(String[] args) {

     System.out.print("请输入第一个数字num1:");

     Scanner scan=new Scanner(System.in);

     String str1=scan.nextLine();

     int num1=Integer.parseInt(str1);

     System.out.print("请输入第二个数字num2:");

     String str2=scan.nextLine();

     int num2=Integer.parseInt(str2);

     int maxMultiple = calcMaxSubmultiple(num1, num2); 

     System.out.println(maxMultiple);;  

  } 

  private static int calcMaxSubmultiple(int num1, int num2) {    

    int min = Math.min(num1, num2); 

    int maxSubmultiple = 1; 

    for(int i = min; i >= 1; i--){

      if(num1 % i == 0 && num2 % i == 0){ 

          maxSubmultiple = i; 

          break; 

      }  

    } 

    return maxSubmultiple; 

  }

}

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;

           }

       }

    }

}

语句覆盖:

 测试用例(语句覆盖):

 测试用例:1)X=6,Y=2        所覆盖的路径:abc

               2)X=6,Y=0                            aef

               3)X=4,Y=0                            aeg      

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

测试用例(分支覆盖):

测试用例: 1)(TF) X=3,Y=0      所覆盖的路径:abd

                   2)(FT) X=6,Y=0                        aef

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

      

原文地址:https://www.cnblogs.com/llgdsg/p/5396735.html