• 实验三:白盒测试


    实验目的

    (1)       学习白盒测试方法

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

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

    实验内容

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

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

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

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

    demon.java

    package com.chen.text;

    import java.util.Scanner;

    public class demon {

    public static void main(String[] args) {
    System.out.print("请输入两个正整数X、Y:");
    Scanner scaner = new Scanner(System.in);
    int X = scaner.nextInt();
    int Y = scaner.nextInt();
    System.out.println("结果为:" + Num(X, Y));
    }

    public static int Num(int X,int Y){
    if((X<4)||(Y>0)){
    if(Y>1){
    Y=Y+1;
    return Y;
    }

    if(X>=5){
    X=X-Y;
    }
    else {
    X=X+Y;
    }
    return X;
    }
    return 0;

    }

    }

    text3.java

    package com.chen.text;
    import java.util.Scanner;


    public class text3 {

    public static void main(String[] args) {
    System.out.print("请输入两个正整数为:");
    Scanner scaner = new Scanner(System.in);
    int num1 = scaner.nextInt();
    int num2 = scaner.nextInt();

    System.out.println("最大公约数为:" + Maxnum(num1, num2));
    }

    public static int Maxnum(int num1, int num2) {
    int i;
    if (num1 > num2) {
    i = num1 % num2;
    while (i != 0) {
    num1 = num2;
    num2 = i;
    i = num1 % num2;
    }
    return num2;
    } else {
    i = num2 % num1;
    while (i != 0) {
    num2 = num1;
    num1 = i;
    i = num2 % num1;
    }
    return num1;
    }

    }

    }

    2、 逻辑覆盖的应用

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

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


    测试用例 路 径
    语句覆盖:
    X=4,Y=2 abc
    X=4,Y=0 aeg
    X=5,Y=0 aef

    判定覆盖:
    X=4,Y=1 abd
    X=4,Y=2 abc
    X=4,Y=0 aeg
    X=5,Y=0 aef

  • 相关阅读:
    Codeforces 375D Tree and Queries(DFS序+莫队+树状数组)
    HDU 5972 Regular Number(字符串shift
    HDU 5905 Black White Tree(树型DP)
    BZOJ 3675 [Apio2014]序列分割 (斜率优化DP)
    2017 ACM/ICPC Asia Regional Guangxi Online 记录
    2017 ACM/ICPC Asia Regional Beijing Online 记录
    2017 ACM/ICPC Asia Regional Xian Online 记录
    2017 ACM/ICPC Asia Regional Qingdao Online 记录
    django中models字段的联合限制
    redis使用摘要
  • 原文地址:https://www.cnblogs.com/kugua38/p/5368246.html
Copyright © 2020-2023  润新知