zoukankan      html  css  js  c++  java
  • 《软件测试》实验三 白盒测试

    1、 计算整数X和整数Y的最大公约数

    请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名。在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。利用FindBugs查找程序中是否存在bug。

    import java.util.Scanner; 

    public class Demo {

        public void compare(int a,int b){

             int i = a>b?a:b;

             for(;i>0;i--){

                 if(a%i==0&&b%i==0){

                     System.out.println("a、b的最大公约数为"+i);

                     break;

                 }

             }

             return;

        }

        public static void main(String[] arg){

             Demo demo = new Demo();

             System.out.println("请输入a:");

             Scanner num1 = new Scanner(System.in);

             int a=num1.nextInt();

             System.out.println("请输入b:");

             Scanner num2 = new Scanner(System.in);

             int b=num2.nextInt();

             demo.compare(a, b);

        }

    }

    2、 逻辑覆盖的应用

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

    语句覆盖:

    X Y 路径
    3 2 abc
    5 0 aef
    4 0 aeg

    分支覆盖:

    X Y 路径
    3 2 abc
    3 1 abd
    5 0 aef
    4 0 aeg

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

    public class Demo {

        public void demo(int x,int y){

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

                 if(y>1){

                     y=y+1;

                     System.out.println("X="+x+",Y="+y);

                 }          

                 else{

                     System.out.println("X="+x+",Y="+y);

                 }

             }

             else{

                 if(x>=5){

                     x=x-y;

                     System.out.println("X="+x+",Y="+y);

                 }

                 x=x+y;

                 System.out.println("X="+x+",Y="+y);

             }

        }  

    }

    测试用例:

    import static org.junit.Assert.*; 

    import org.junit.Test; 

    public class DemoTest { 

        public static void main(String[] args){

             Demo demo =new Demo();

             demo.demo(3,2);

             demo.demo(3,1);

             demo.demo(5,0);

             demo.demo(4,0);

        }

    }

  • 相关阅读:
    循环语句
    JAVA-数据类型、变量、常量
    JAVA——程序流程控制——循环语句——for循环(打印三角形)
    循环语句
    JAVA基础学习1
    新手上路
    mysql内置函数之事务
    mysql内置功能
    mysql内置函数之视图
    pymysql模块
  • 原文地址:https://www.cnblogs.com/ssair/p/5359049.html
Copyright © 2011-2022 走看看