码迷,mamicode.com
首页 > 其他好文 > 详细

实验三 白盒测试

时间:2016-04-15 00:28:26      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

实验目的

 

(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

 

我们测试语句覆盖的截图

技术分享

技术分享

技术分享

 

 

 

技术分享

 

 

实验三 白盒测试

标签:

原文地址:http://www.cnblogs.com/mumudake/p/5393607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!