• 实验三 白盒测试


    实验目的

    (1) 学习白盒测试方法

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

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

    实验内容

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

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

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

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

    import java.util.Scanner;

    public class Common{

    //求最大公约数

    public static int commonDivisor(int n,int m){

    //辗转相除是用大的除以小的。如果n<m,第一次相当nm值交换

    while(n%m!=0){

    int temp=n%m;

    n=m;

    m=temp;

    }

    return m;

    }

    public static void main(String[] args){

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入第一个数:");

    int n=sc.nextInt();

    System.out.println("请输入第二个数:");

    int m=sc.nextInt();

    System.out.println("最大公约数为:"+commonDivisor(n,m));

    }

    }

     

    弄错后

     

    2、 逻辑覆盖的应用

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

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

     

    import java.util.Scanner;

    public class Test1 {

    /**

     * @param args

     */

    public  void test() {

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入x的值:");

    int  x=sc.nextInt();

    System.out.println("请输入y的值:");

     int y=sc.nextInt();

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

    if(y>1){

    y=y+x;

    }

    else{}

    }

    else{

    if(x>=5){

    x=x-y;

    }

    else{

    x=x+y;

    }

    }

    System.out.println("x="+x);

    System.out.println("y="+y);

    }

    }

     

     

    测试类

     

    import static org.junit.Assert.*;

     

    import org.junit.Test;

     

     

    public class Test1Test {

     

     Test1 test1 =new Test1();

    @Test

    public void test() {

     

      test1.test();

       

    }

     

     

    }

     

     

     

     

     

    语句覆盖:

    X=4,y=0  路径:aeg

    X=5,y=0  路径:aef

    X=4,y=2  路径:abc

    分支覆盖:

    X=4,y=0  路径:aeg

    X=5,y=0  路径:aef

    X=4,y=2  路径:abc

    X=3,y=1  路径:abd

     

  • 相关阅读:
    遗传算法优化BP神经网络——非线性函数拟合
    BP神经网络的数据分类——语音特征信号分类
    HTML5新特性
    HTML5——FileReader详解
    javaScript构造函数显式提供返回值
    react截图组件react-cropper的使用方法
    Ant Design of React的安装和使用方法
    flex布局
    CSS常用的元素居中方法
    javaScript异步编程
  • 原文地址:https://www.cnblogs.com/bushi2b/p/5398648.html
Copyright © 2020-2023  润新知