软件质量保证与测试技术实验:白盒测试用例设计

这篇具有很好参考价值的文章主要介绍了软件质量保证与测试技术实验:白盒测试用例设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、白盒测试

二、实验目的

三、实验内容

四、实验步骤

五、实验过程

题目一

1、程序流程图

2、测试用例​​​​​​​

3、测试代码

4、测试结果

题目二

1、控制流图

2、独立路径集合

3、测试用例 

4、测试代码

 5、测试结果

总结


前言

白盒测试是一种基于程序内部结构和逻辑的软件测试方法,它要求测试人员了解程序的源代码,根据程序的控制流或数据流设计测试用例,以检测程序中的逻辑错误、语法错误或数据处理错误。白盒测试的主要技术有语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、路径覆盖等,它们都有各自的优缺点和适用范围。本实验旨在让学生掌握白盒测试用例设计的基本方法和技巧,通过对给定的程序进行白盒测试,提高软件测试的能力和水平。

在本文中,测试的代码使用的语言是java,使用的ide是idea

一、白盒测试

白盒测试是一种软件测试方法,它可以检查软件的内部结构和逻辑,而不仅仅是输入和输出。白盒测试的目的是发现软件中的错误、缺陷、安全漏洞和其他问题,以提高软件的质量和性能。白盒测试的优点是可以覆盖软件的所有代码路径,发现隐藏的错误和逻辑错误,以及提高代码的可读性和可维护性。白盒测试的缺点是需要对软件的内部结构和设计有深入的了解,可能需要编写复杂的测试用例,以及可能遗漏一些用户界面或功能方面的问题。

二、实验目的

(1)能够利用白盒测试方法对程序进行测试。

(2)会用各种逻辑覆盖法设计测试用例。

(3)会用基本路径测试法设计测试用例。

三、实验内容

题目 1:使用语句覆盖、条件组合覆盖方法为下列程序模块设计测试用例

void DoWork(int x, int y, int z) {
    int k = 0, j = 0;
    if ((x > 3) && (z < 10)) {
        k = x * y - 1;
        j = sqrt(k);
    }
    if ((x == 4) || (y > 5)) {
        j = x * y + 10;
    }
    j = j % 3;
}

要求:(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、设计并组织合适的测试用例

3、运行测试程序,记录和分析测试结果

4、记录并分析测试结果

五、实验过程

题目一

1、程序流程图

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

2、测试用例

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

ps:按理来说,应该不只是这个图,但是这样也可以表示就暂且如此吧

3、测试代码

import static java.lang.Math.sqrt;
import java.util.Scanner;
public class test1 {
    public static int DoWork (int x,int y,int 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;
        return j;
    }

    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Enter test case: ");
        int x = scanner.nextInt();
        int y = scanner.nextInt();
        int z = scanner.nextInt();

        int result = DoWork(x, y, z);
        //System.out.println("k="+(x*y-1));
        System.out.println("j=" + result);
    }
}

4、测试结果

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

题目二

1、控制流图

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

2、独立路径集合

要使用基本路径测试法为该函数设计测试用例,我们需要确定代码中的独立路 径。在这种情况下,有四条独立路径:

1. 年份能被 4、100 和 400 整除(例如,2000 年)。在这种情况下,函 数返回 1,表示该年份是闰年。

2. 年份能被 4 和 100 整除,但不能被 400 整除(例如,1900 年)。在 这种情况下,函数返回 0,表示该年份不是闰年。

3. 年份能被 4 整除,但不能被 100 整除(例如,2004 年)。在这种情况 下,函数返回 1,表示该年份是闰年。

4. 年份不能被 4 整除(例如,2001 年)。在这种情况下,函数返回 0, 表示该年份不是闰年。

3、测试用例 

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

4、测试代码

import java.util.Scanner;
public class test2 {
    public static  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;
        }

        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            System.out.println("输入要判定的年份:");
            int year=sc.nextInt();
            int result=isLeapYear(year);
            System.out.println("结果是:"+result);

        }
}

 5、测试结果

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试

3.3以下是一个被测模块的流程图,它的源程序如下。要求大家完成该被测模块的各种逻,软件质量保证与测试技术实验,测试用例,单元测试,java,功能测试


总结

这篇文章解释了白盒测试是一种基于程序内部结构和逻辑的软件测试方法,它要求测试人员了解程序的源代码,根据程序的控制流或数据流设计测试用例,以检测程序中的逻辑错误、语法错误或数据处理错误。白盒测试的主要技术有语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、路径覆盖等,它们都有各自的优缺点和适用范围。

这篇文章还解释了白盒测试可以检查软件的内部结构和逻辑,而不仅仅是输入和输出。白盒测试的目的是发现软件中的错误、缺陷、安全漏洞和其他问题,以提高软件的质量和性能。白盒测试的优点是可以覆盖软件的所有代码路径,发现隐藏的错误和逻辑错误,以及提高代码的可读性和可维护性。白盒测试的缺点是需要对软件的内部结构和设计有深入的了解,可能需要编写复杂的测试用例,以及可能遗漏一些用户界面或功能方面的问题。文章来源地址https://www.toymoban.com/news/detail-765184.html

到了这里,关于软件质量保证与测试技术实验:白盒测试用例设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 慕课版软件质量保证与测试(第五章.课后作业)

    1. 软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )   A. 集成测试   B. 单元测试   C. 系统测试   D. 验收测试 参考答案:B 2. 增量式集成测试有3种方式:自顶向下增量测试方法、( )和混合增量测试方式。   A. 自下向顶增量测试方法

    2024年02月05日
    浏览(52)
  • 软件项目质量保证措施-word

    一、 质量保障措施 二、 项目质量管理保障措施 (一) 资深的质量经理与质保组 (二) 全程参与的质量经理 (三) 合理的质量控制流程 1. 质量管理规范: 2. 加强协调管理: 3. 严格合同和计划管理: 4. 重视培训: 三、 软件质量保障措施 (一) 对软件产品的测试 软

    2024年02月01日
    浏览(40)
  • 云卷云舒:软件产品质量保证思考

    总体产品质量观,从上到下的质量规划,包括质量目标、质量定义和拆解、质量责任制 关系到研发质量的各类预防、检测手段,如日常研发规范,代码审查,检测工具,测试等 一般指针对问题的改进,包括根因分析,问题溯源,倒逼研发改进 几个核心要素: 1,两拨人:规

    2024年01月18日
    浏览(49)
  • 开源项目的测试和质量保证

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(46)
  • 【交付高质量,用户高增长】-用户增长质量保证方法论 | 京东云技术团队

    俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康

    2024年02月08日
    浏览(42)
  • 如何保证测试质量之Bug管理规范及流程

    目录 Bug 属性规范及流程  1 1.   目的  2 2.   范围  3 3.   工具  3 4.   角色和职责  3 5.   Bug 属性定义  3 5.1 . bug 类型  4 5.2 . bug 严重性  4 5.3   bug 优先级  5 6.   Bug 管理流程  6 6.1 提交 bug  6 6.2 分配 bug  6 6.3 解决 bug  7 6.4 验证 bug  7 6.5 遗留 bug  7 6.5.1 跟踪遗留 bug  

    2023年04月13日
    浏览(38)
  • 数字化印刷技术在物流领域的应用:如何保证印刷品的质量和安全?

    作者:禅与计算机程序设计艺术 随着信息技术的发展,数字化技术已经逐渐成为主要的生产方式。数字化技术可以提高生产效率、降低成本、缩短产品开发时间、提升竞争力等方面的能力。近年来,数字化印刷技术也在蓬勃发展,成为物流行业的一个重要领域。但是,由于印

    2024年02月01日
    浏览(67)
  • 【交付高质量,用户高增长】-用户增长质量保证方法论

    俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康

    2024年02月08日
    浏览(67)
  • 产品需求交付质量保证的“七重门”

    随着互联网红利的逐渐消失,互联网公司获取新客户的难度和成本越来越高,用户增长的运营同学需要不断尝试不同的拉新策略,并根据用户反馈及数据反馈快速调整,同时能够快速跟进市场热点,快速迭代产品功能。我们所在部门承接大量的金融业务(金白条、支付、小金

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包