实验一 白盒测试用例设计

🏫中北大学软件学院
🏆软件质量保证与测试技术
🏆实验报告一 —— 白盒测试


在这里插入图片描述

实验名称

白盒测试用例设计

实验目的

(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=x
y+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);

    }

}

(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;
    }

}

(4)运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验心得

逻辑覆盖分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖六种。
语句覆盖是相对较弱的测试标准。语句覆盖的定义是:测试时,首先设计若干测试用例(越少越好),然后运行被测程序,使程序中的每一个可执行语句至少执行一次。
路径覆盖是指覆盖程序中所有可能执行路径。路径覆盖可对程序进行彻底的覆盖,比前5种方法的覆盖率都高。
条件组合覆盖又称组合覆盖,是指每个判断语句中的各个条件的各种可能组合都至少执行一次,因此条件组合覆盖的测试用例可满足判定覆盖、条件覆盖以及判定/条件覆盖。
通过白盒测试,能够利用白盒测试方法对程序进行测试。会用各种逻辑覆盖法设计测试用例。会用基本路径测试法设计测试用例。

  • 50
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值