实验一 白盒测试用例设计
🏫中北大学软件学院
🏆软件质量保证与测试技术
🏆实验报告一 —— 白盒测试
实验名称
白盒测试用例设计
实验目的
(1)能够利用白盒测试方法对程序进行测试。
 (2)会用各种逻辑覆盖法设计测试用例。
 (3)会用基本路径测试法设计测试用例。
实验内容
题目1
使用语句覆盖、条件组合覆盖方法为下列程序模块设计测试用例
 void DoWork (int x,int y,int z)
 {
 ①  int k=0, j=0;
 ②  if ( (x>3)&&(z<10) )
 ③  {
 ④  k=xy-1;
 ⑤  j=sqrt(k);
 ⑥  }
 ⑦  if((x==4)||(y>5))
 ⑧  j=xy+10;
 ⑨  j=j%3;
 ⑩ return j;
 ⑪ }
 要求:
 (1)给出被测模块的程序流程图
 (2)给出满足语句覆盖和条件组合覆盖的测试用例
 (3)设计驱动程序main函数,运行被测模块。
题目2
isLeapYear是一个判断年份是否闰年的程序模块,使用基本路径测试法为该程序模块设计测试用例。
 int isLeapYear( int year )
 ① {
 ②  int flag;
 ③  if( year % 4 == 0 )
 ④  {
 ⑤  if( year % 100 == 0 )
 ⑥  {
 ⑦  if( year % 400 == 0 )
 ⑧  flag = 1;
 ⑨  else
 ⑩  flag = 0;
 ⑪  }
 ⑫  else
 ⑬  flag = 1; 
 ⑭  }
 ⑮  Else
 ⑯  flag = 0;
 ⑰  return flag;
 ⑱ }
 要求:
 (1)给出被测模块的控制流图
 (2)分析独立路径集合
 (3)设计测试用例
 (4)设计驱动程序main函数,运行被测模块。
实验要求
(1)绘制程序流程图、控制流图(注意二者的区别),图中符号要规范。
 (2)测试用例的组织可以参照表1的格式:
 
 (3)在程序中加必要注释说明:创建日期、创建者、函数功能
 (4)运行测试程序,记录和分析测试结果。
实验过程
题目1
(1)程序流程图
 
 (2)测试用例
 
 
 
 (3)实验代码
public class demo01 {
    public static void main(String[] args) {
        demo01 demo01 = new demo01();
        int x = 4;
        int y = 2;
        int z = 3;
        demo01.DoWork(x,y,z);
    }
    public void  DoWork ( int x, int y, int z) {
        System.out.println("x = " + x + "  y = " + y + "  z =  " + z);
        int k = 0, j = 0;
        if ((x > 3) && (z < 10)) {
            k = x * y - 1;
            j = (int) Math.sqrt(k);
        }
        if ((x == 4) || (y > 5)) {
            j = x * y + 10;
        }
        j = j % 3;
        System.out.println(" k = " + k + " j = " + j);
    }
}
  
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 
(4)运行结果
 
 
 
 
 
题目2
(1)控制流图
 
 (2)测试用例
 
 (3)实验代码
public class demo02 {
    public static void main(String[] args) {
        demo02 demo02 = new demo02();
        int leapYear = demo02.isLeapYear(2000);
        if (leapYear == 0 ) {
            System.out.println("不是闰年");
        } else {
            System.out.println("是闰年");
        }
    }
    int isLeapYear( int year ) {
        int flag;
        if( year % 4 == 0 ) {
            if( year % 100 == 0 ) {
                if( year % 400 == 0 )
                    flag = 1;
                else
                    flag = 0;
            } else
                flag = 1;
        } else
            flag = 0;
        return  flag;
    }
}
  
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 
(4)运行结果
 
 
 
 
实验心得
逻辑覆盖分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖六种。
 语句覆盖是相对较弱的测试标准。语句覆盖的定义是:测试时,首先设计若干测试用例(越少越好),然后运行被测程序,使程序中的每一个可执行语句至少执行一次。
 路径覆盖是指覆盖程序中所有可能执行路径。路径覆盖可对程序进行彻底的覆盖,比前5种方法的覆盖率都高。
 条件组合覆盖又称组合覆盖,是指每个判断语句中的各个条件的各种可能组合都至少执行一次,因此条件组合覆盖的测试用例可满足判定覆盖、条件覆盖以及判定/条件覆盖。
 通过白盒测试,能够利用白盒测试方法对程序进行测试。会用各种逻辑覆盖法设计测试用例。会用基本路径测试法设计测试用例。
文章来源: blog.csdn.net,作者:花花叔叔,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_52077949/article/details/124264511
- 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)