实验一 白盒测试用例设计

举报
花花叔叔 发表于 2022/08/13 00:47:17 2022/08/13
【摘要】 🏫中北大学软件学院 🏆软件质量保证与测试技术 🏆实验报告一 —— 白盒测试 文章目录 实验名称实验目的实验内容题目1题目2 实验要求实验过程题目1题目2 实验心得 ...

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


在这里插入图片描述

实验名称

白盒测试用例设计

实验目的

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

    }

}

  
 
  • 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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。