• 3137102413_张其仁_Lab3


    《软件测试》实验

    实验三 白盒测试                                                      

    实验目的

    (1)       学习白盒测试方法

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

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

    实验内容

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

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

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

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

    package cn.zhang;

    /**

     * 3137102413_张其仁

     */

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

     

    public class Gongyueshu {

     

        public static void suan() {

           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);

        }

     

       

       

       

        public static void main(String[] args) {

           suan();

        }

    }

    2、 逻辑覆盖的应用

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

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

    package cn.zhang;

     

    import java.util.Scanner;

     

    public class Test02 {

        public static void main(String[] args) {

           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) {

        }

        public void second(int i, int j) {

        }

    }

     

     

     

    package cn.zhang;

    public class Mytest {

          public void setUp() throws Exception {

          }

          public void test() {

            Test02 second =new Test02();

            second.second(5, 7);

            second.second(2,0);

            second.second(7,-1);

          }

    }

     

  • 相关阅读:
    写在博客前面
    JavaAPI学习(一):API && String类 && Stringbuffer && StringBuilder
    Java面向对象(七):Object类 & 内部类 & 单例模式
    Java面向对象(六):抽象方法 & 接口 & 递归
    Java面向对象(五):OOP三大特性之多态 — final 关键字
    Java面向对象(四):OOP三大特性之封装与继承
    Java面向对象(三):Java权限修饰符—static关键字
    Java面向对象(二):成员变量—OOP中的内存管理—构造函数
    Java面向对象(一):方法—初识面向对象
    JavaSE学习(六):随机数—简单的排序算法
  • 原文地址:https://www.cnblogs.com/ZhangQirenBlog/p/5396080.html
Copyright © 2020-2023  润新知