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

实验三 白盒测试

时间:2016-04-11 22:13:24      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

package cn.deng;
/*
 * 求两个数的最大公约数,利用的是欧几里德算法
 * dengchunzeng
 * 2016-4-2
 */
public class GetMaxDivide {
    public static int Way(int a,int b){
        if(a<b){
                int temp;
                temp=a;
                a=b;
                b=temp;
        }
        if(0==b){
                return a;
        }
        return Way(b,a%b);
}
}
 1 package cn.deng;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Bemo {
 6 
 7     /**
 8      * @param args
 9      */
10     public static void main(String[] args) {
11         // TODO Auto-generated method stub
12         System.out.println("请输入x,y两个正整数:");
13         Scanner in=new Scanner(System.in);
14         int x=in.nextInt();
15         int y=in.nextInt();
16         GetMaxDivide  getmax=new GetMaxDivide();
17         int val=getmax.Way(x, y);
18         System.out.println("两个数的最大公约数是:"+val);
19     }
20 
21 }

 

}技术分享

2、 逻辑覆盖的应用

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

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

 

技术分享

语句覆盖

abc 3,2

aef 5,0

aeg 4,0

abd 3,0

 

分支覆盖3,1、3,0、5,0、4,0

 1 package cn.deng;
 2 /*
 3  * 根据流程图判断所输入的两个数
 4  * dengchunzeng
 5  * 2016-4-5
 6  */
 7 public class Judge {
 8     public void  Way(int x,int y){
 9         if(x<4||y>0){
10             if(y>1){
11                 y=y+1;
12                 System.out.println("x="+x);
13                 System.out.println("y="+y);
14             }
15             else{
16                   System.out.println("x="+x);
17                   System.out.println("y="+y);
18             }
19         }else if(x>=5){
20              x=x-y;
21              System.out.println("x="+x);
22              System.out.println("y="+y);
23         }else{
24              x=x+y;
25              System.out.println("x="+x);
26              System.out.println("y="+y);
27         }
28         return;
29     }    
30 }
 1 package cn.deng;
 2 
 3 import static org.junit.Assert.*;
 4 
 5 import java.util.Scanner;
 6 
 7 import org.junit.Test;
 8 
 9 public class JiSuanTest {
10 
11     @Test
12     public void test() {
13         System.out.println("语句覆盖:");
14         Judge judge=new Judge();
15         judge.Way(3, 2);
16         judge.Way(5, 0);
17         judge.Way(4, 0);
18         judge.Way(3, 0);
19         System.out.println("分支覆盖:");
20         judge.Way(3, 1);
21         judge.Way(3, 0);
22         judge.Way(5, 0);
23         judge.Way(4, 0);
24     }
25 
26 }

 

技术分享

实验三 白盒测试

标签:

原文地址:http://www.cnblogs.com/mydcz/p/5380132.html

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