• 3137102439_游志昌-lab3


    实验三 白盒测试                                                      

    实验目的

    (1)       学习白盒测试方法

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

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

    实验内容

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

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

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

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

    package lin;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    //林佳琪3137102103

    //第一题

    public class First {

    public static void main(String[] args) {

        int a = 0;

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

        BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

           try {

                  a=Integer.parseInt(strin.readLine());

           } catch (NumberFormatException e) {

               e.printStackTrace();

           } catch (IOException e) {

               e.printStackTrace();

           }

               int b = 0;

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

               BufferedReader strin2=new BufferedReader(new InputStreamReader(System.in));

               try {

                  b=Integer.parseInt(strin2.readLine());

               } catch (NumberFormatException e) {

                  e.printStackTrace();

               } catch (IOException e) {

                  e.printStackTrace();

               }

                      int flag = 0;

                      for (int i = 1; i <= a; i++) {

                      if(a%i==0){

                      if(b%i==0){

                      flag=i;

                      }

               }

                      }

               System.out.println("最大公约数为:"+flag);

                  }

    }

    2、 逻辑覆盖的应用

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

     

    package jia;

    import java.util.Scanner;

    public class Second {

                //林佳琪3137102103

        //第二题

                public static void main(String[] args) {

                  // TODO Auto-generated method stub

                  Scanner in = new Scanner(System.in);

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

                     int x = in.nextInt();

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

                     int y = in.nextInt();

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

                       if(y>1){

                         y=y+1;

                       }

                     }else{

                       if(x>=5){

                         x=x-y;

                       }

                       else{

                         x=x+y;

                       }

                     }

                     System.out.println("x的值为:"+x+",y的值为:"+y+"。");

                  }

                public void two(int i, int j) {

                  // TODO Auto-generated method stub

                 

                }

                public void second(int i, int j) {

                  // TODO Auto-generated method stub

                 

                }

                }

    package jia;

    import static org.junit.Assert.*;

    import jia.Second;

    import org.junit.Before;

    import org.junit.Test;

    public class SecondTest {

                @Before

                public void setUp() throws Exception {

                }

                @Test

                public void test() {

                  Second second =new Second();

                  second.second(5,7);

                  second.second(2,0);

                  second.second(7,-1);

                }

    }

  • 相关阅读:
    C#中Excel的导入和导出的几种基本方式
    关于XML与类型Class的映射
    关于模板的相关注意事项
    OGRE 2.1 Windows 编译
    R6010 -abort() has been called
    VS2012 编译 Assimp
    C++ 并发消息队列
    Debian 安装下载工具软件
    Oracle SQL语句追踪
    记录自己学习网址
  • 原文地址:https://www.cnblogs.com/youzhichang/p/5577922.html
Copyright © 2020-2023  润新知