实验三 白盒测试

实验目的

 

(1) 学习白盒测试方法

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

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

 

实验内容

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

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

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

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

 

package cn.lq.com;

import java.io.*;
import java.util.*;

class Demo {
    public static void main(String args[]) throws Exception {
        Scanner cin = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int a = cin.nextInt();
        System.out.println("\n请输入第二个数字:");
        int b = cin.nextInt();
        int c = gcd(a, b);
        System.out.println("\n最大公约数:" + c);
    }
    public static int gcd(int a, int b) {
        while (true) {
            if ((a = a % b) == 0)
                return b;
            if ((b = b % a) == 0)
                return a;
        }
    }
    
}

没有语法错误

2、 逻辑覆盖的应用

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

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

package cn.lq.com;

import java.util.Scanner;

public class Demo {

/**
 * @param args
 */


public static  void t(float x,float y){
System.out.print("走过的路径为a");
if(x<4||y>0){
System.out.print("b");
if(y>1){
System.out.println("c");
y=y+1;
System.out.println("x="+x);
System.out.println("y="+y);
}
else{
System.out.println("d");
System.out.println("结束判断");
System.out.println("x="+x);
System.out.println("y="+y);
}
}
else{
System.out.print("e");
if(x>=5){
System.out.println("f");
x=x-y;
System.out.println("x="+x);
System.out.println("y="+y);
}
else{
System.out.println("g");
x=x+y;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
}

}

测试类

package cn.lq.com;

import static org.junit.Assert.*;

import org.junit.Test;

public class DemoTest {

    @Test
public void test() {
float x = 2;
float y = 1;
System.out.println("测试的两个数为x="+x+" y="+y+"");
Demo.t(x, y);
}


}

语句覆盖

测试用例

覆盖用例

结果

X=4 Y=0

aeg

X=4 y=0

X=5 y=0

aef

X=5 y=0

X=2 y=2

adc

X=2 Y=3

 

分支覆盖

测试用例

覆盖用例

结果

X=4 Y=0

aeg

X=4 y=0

X=5 y=0

aef

X=5 y=0

X=2 y=2

adc

X=2 Y=3

X=2 Y=1

abd

X=2 Y=1

 

我们测试语句覆盖的截图

 

 

 

 

 

posted @ 2016-04-14 23:29  木木大可  阅读(444)  评论(0编辑  收藏  举报