白盒测试优缺点_黑盒测试白盒测试优缺点 - CSDN
精华内容
参与话题
  • 详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点: 判定覆盖的定义: 判定覆盖是设计足够多的测试用例,使得程序中的每一个条件判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一...

    详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点:

    判定覆盖的定义:

    判定覆盖是设计足够多的测试用例,使得程序中的每一个条件判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。

    相比语句覆盖:

    针对判断语句,在设定案例的时候,要设定True和False的两种案例,与语句覆盖不同的是增加了False的情况。语句覆盖是最基本的覆盖,只要能够满足判定覆盖,就一定能够满足语句覆盖。

    判定覆盖率:

    判定覆盖率=每个判定的真假值至少出现一次/判定结果的总数
    eg: 案例代码中有判定2个,判定结果4个,设计测试用例执行了3个分支,分支覆盖率为3/4=75%。

    测试实例:

    以linux下shell编程为例:
    输入以下代码,进行测试:

    #!/bin/bash
    echo “请输入第一个值:”
    read a
    echo “请输入第三个值:”
    read b
    echo “请输入第四个值:”
    read c
    echo “请输入第五个值:”
    read d
    
    if [[ $a -gt 0 && $b-gt 0 && $c -gt 0 && $d-gt 0 ]]
    
    then
            echo $(($a+$b+$c+$d))
    else
            echo $(($a-$b-$c-$d))
    fi
    
    

    在这里插入图片描述
    我们设置两个简单的测试用例:a=1 b=2 c=3 d=4和a=-1 b=-2 c=-3 d=-4,得到下图的结果:
    在这里插入图片描述
    我们对用例进行执行,我们的判定覆盖率为: 100%

    这里我们要区别语句覆盖:

    语句覆盖是让echo $(($a+$b+$c+$d))和echo $(($a-$b-$c-$d))都执行一遍。而判定覆盖就是让程序的判定分别为真和假一次,因此,只要能够满足判定覆盖,就一定能够满足语句覆盖。

    优缺点:

    优点:
    判定覆盖具有比语句覆盖更强的测试能力,同样也无须细分每条判定表达式。
    缺点:
    以上面的代码为例:如果我们将条件语句写错了,写成:

    #!/bin/bash
    echo “请输入第一个值:”
    read a
    echo “请输入第三个值:”
    read b
    echo “请输入第四个值:”
    read c
    echo “请输入第五个值:”
    read d
    
    if [[ $a -gt 0 || $b-gt 0 || $c -gt 0 || $d-gt 0 ]]
    
    then
            echo $(($a+$b+$c+$d))
    else
            echo $(($a-$b-$c-$d))
    fi
    
    

    也就是将if中改为,我们同样可以输出结果
    在这里插入图片描述
    由上图可知,我们得到了和If中为&&一样的结果,因此,我们可以得到:与语句覆盖一样的结论:判定覆盖能够满足条件的要求,但是不能对判断条件进行检查。

    展开全文
  • 一、什么是白盒测试白盒测试也称结构测试或逻辑驱动测试,通过分析被测组件内部工作原理,通过测试来检测被测组件内部的运行是否符合产品规格说明书的规定 对应于黑盒测试,白盒测试要求测试人员打开软件...

    一、什么是白盒测试?

    白盒测试也称结构测试或逻辑驱动测试,通过分析被测组件内部工作原理,通过测试来检测被测组件内部的运行是否符合产品规格说明书的规定

    对应于黑盒测试,白盒测试要求测试人员打开软件黑盒,去了解开发人员的代码实现细节,这些细节包括数据流和控制流

    (1)数据流方面:进出组件的数据是否能被正确地处理、组件中用于计算使用的数据是否被正确使用、是否有冗余、其数据类型是否运用得当
    (2)控制流方面:程序中的每一条代码是否都有意义、程序中是否有无法被执行到的语句、程序中的判定是否正确、程序中的各条路径是否正确

    二、为什么要做白盒测试?

    1.白盒测试是高效的测试

    白盒测试不仅发现问题,还可以定位问题和解决问题,效率较高

    2.白盒测试可以彻底解决编码阶段引入的问题

    三、在软件生命周期的那些测试阶段中会用到白盒测试?

    单元测试阶段

    因为单元测试阶段是产品开发的早期阶段,在此阶段,使用白盒测试来测试程序是否正确,可以尽早的发现产品的缺陷,节约产品开发成本

    四、白盒测试的优点

    1.帮助软件测试人员,增大代码的覆盖率
    2.提高代码的质量

    因为白盒测试可以发现代码中存在的问题

    五、白盒测试的缺点

    1.程序在运行时,会有很多条路径,白盒测试并不能把所有路径都全部测试
    2.测试基于代码,只会测试开发人员写的代码是否正确,并不知道产品设计是否正确,所以会漏掉一些功能需求
    3.当测试的系统庞大时,测试开销大

    六、白盒测试的测试方法都有那些?

    1.语句测试
    2.分支/判定测试
    3.条件测试
    (1)条件分支测试
    (2)条件分支组合测试
    (3)修正条件判定测试
    4.数据流测试
    5.基本路径测试

    展开全文
  • 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点: 条件覆盖的定义: 设计测试用例,使得判定中的每个条件至少有一次取得真值,一次取得假值。所以,不仅程序中的每个语句至少被执行一次,而且使每个判定表达式中的每个...

    详述白盒测试的逻辑覆盖的条件覆盖及其优缺点:

    条件覆盖的定义:

    设计测试用例,使得判定中的每个条件至少有一次取得真值,一次取得假值。所以,不仅程序中的每个语句至少被执行一次,而且使每个判定表达式中的每个条件都取到各种可能的结果。

    与判定覆盖的区别:

    1. 判定覆盖要求的是满足判定的每个真值和假值,而条件覆盖是要求满足每个判定中的每个条件的真值和假值。
    2. 条件覆盖比判定覆盖增加了对判定中所有条件的测试,对于条件来说更加全面。

    条件覆盖率:

    条件覆盖率=每个真假值至少出现一次/条件结果的总数
    eg: 案例代码中有判定两个,条件4个,条件结果8个,假如测试用例执行8个条件结果,条件覆盖率就为100%。

    测试实例:

    如下图中例子所示:图中共有两个判定表达式,每个判定表达式中有两个条件,为了做到条件覆盖,应选取测试数据使得在a点有下述各种结果出现。
    A>1,A<=1,B=0,B!=0
    在b点有下述各种结果出现:
    A=2,A!=2,X>1,X<=1
    只需要用下面两组测试数据就可以达到标准:

    1. A=2,B=0,X=4;
      满足A>1,B=0,A=2和X>1的条件,执行路径ace
    2. A=1,B=1,x=1
      满足A<=1,B!=0,A!=2和X<=1的条件,执行路径abd
      在这里插入图片描述

    上面图片和用例举例引用了:https://baike.baidu.com/item/%E6%9D%A1%E4%BB%B6%E8%A6%86%E7%9B%96/9632173?fr=aladdin

    以java为例,根据上图我们可以得到以下

    代码:

    package kunlin;
    
    import java.util.Scanner;
    
    public class Cook {
         
    	public static void main(String[] args) {
    		
    		//三个不定值变量A,B,X
    		Scanner sc =new Scanner(System.in);
    		System.out.println("请输入A,B,X的值");
    		
    		//三个变量都是整形
    		int A =sc.nextInt();
    		int B =sc.nextInt();
    		int X =sc.nextInt();	
    		
    		//第一个判断当A>0  和 B ==0
    		if (A>1 && B==0) {
    			//符合按c路线
    			X=X/A;
    			
    		}else if(A==2 || X>1) {
    			//前面第一个是if判断,所以只要符合就执行不符合进行整个b阶段
    			
    			//如果符合这个判断,进入e阶段
    			X=X+1;
    		}
    		System.out.println("X的值:"+X);
    	}
    }
    
    

    当我们输入用例的值时得到以下两个结果:
    在这里插入图片描述
    在这里插入图片描述
    分别执行了ace 和abd两条路径。完成了两个判定,判定覆盖率100%。

    优缺点:

    优点:条件覆盖比判定覆盖增加了对判定中所有条件的测试,对于条件来说更加全面
    缺点:但条件覆盖并不能完全保证判定覆盖。

    展开全文
  • 白盒测试和黑盒测试的优缺点

    万次阅读 2013-11-19 10:40:22
    白盒测试和黑盒测试是软件测试的两种基本方法   =================================黑盒测试===========================================  1. 黑盒测试的优点有 : 1) 比较简单,不需要了解程序的内部的代码及...

    白盒测试黑盒测试是软件测试的两种基本方法 

     =================================黑盒测试===========================================

                     1. 黑盒测试的优点有 :

           1) 比较简单,不需要了解程序的内部的代码及实现

                            2) 与软件的内部实现无关

                            3)  从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题

                            4)  基于软件开发文档,所以也能知道软件实现了文档中的哪些功能

                            5)  在做软件自动化测试时较为方便

                        缺点 :

           1) 不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%

                            2) 自动化测试的复用性较低。

        

       ===================================白盒测试==========================================                  

                       2. 白盒测试的优点有 :

           1) 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题


                            缺点 :

           1) 程序运行会有很多不同的路径,不可能测试所有的运行路径

                            2) 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求

                             3) 系统庞大时,测试开销会非常大。


                            

    展开全文
  • 黑盒测试和白盒测试优缺点黑盒测试的优点:黑盒测试的缺点:白盒测试的优点:白盒测试的缺点: 黑盒测试的优点: 比较简单,不需要了解程序内部的代码及实现; 与软件的内部实现无关; 从用户角度出发,能很容易的知道...
  • 008-黑盒测试和白盒测试优缺点

    千次阅读 2019-06-22 16:16:39
    黑盒测试和白盒测试优缺点 黑盒测试的优点有: 比较简单,不需要了解程序内部的代码及实现; 与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 基于软件开发...
  • 黑盒测试与白盒测试优缺点

    千次阅读 2018-08-12 08:54:56
    ※ 黑盒测试的优点: 比较简单,不需要了解程序内部的代码及实现; 与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 基于软件开发文档,...※ 白盒测试的优点: ...
  • 白盒测试与黑盒测试的比较

    千次阅读 2017-05-30 21:24:07
    白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。...白盒测试缺点 1、昂贵。 2、无法检测代码中遗漏的
  • 白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们
  • 白盒测试及用例详解

    万次阅读 多人点赞 2020-06-10 22:30:40
    今天复习到白盒测试,就上网找了一下,重新学习一下 做个记录,以后也会用得着吧 在白盒测试中,逻辑覆盖测试是使用较多的方法。按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖、判定覆盖、条件...
  • 本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。...4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。...
  • 白盒测试基本方法

    万次阅读 2015-10-21 23:23:38
    白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的...
  • 如何开展灰盒测试[1]:灰盒测试优缺点分析

    千次阅读 热门讨论 2010-12-27 00:09:00
    俺在忽悠某个技术领域的玩意儿之前,通常先要分析一下优缺点——这样才能调动大伙儿的积极性。所以,本系列第1帖先分析一下灰盒测试优缺点
  • 白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度。一说到覆盖,大家都感觉非常熟悉,但是常见的覆盖都有哪些?各自有什么优缺点?在白盒测试的用例设计中我们应该如何自如地运用呢?今天小编就为大家总结...
  • 分析灰盒测试优点和缺点

    千次阅读 2015-09-20 12:32:18
    灰盒测试是一种综合测试法,它将...下面从灰盒测试优缺点开始说起。  一、几个基本概念  首先,把一些基本概念,简单通俗地说一下。  1、黑盒测试  通俗来说:黑盒测试不关注软件内部的实现细节
  • 白盒测试及测试用例设计

    万次阅读 2016-03-23 14:32:39
    白盒测试 (White-box Testing,又称逻辑驱动测试,结构测试) 是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过
  • 白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的...
  • 黑盒测试和白盒测试的定义及区别

    千次阅读 2016-03-31 10:47:54
    白盒测试即进到一个程序中,逐条过一遍差错; 黑盒测试即给一个输入,看输出实没实现预定功能;
  • 黑盒测试和白盒测试的区别

    万次阅读 多人点赞 2018-09-21 11:41:40
     白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的...
  • 一、白盒测试 白盒测试是对程序内部的逻辑结构进行检查,从中获取测试数据。 白盒测试主要包含如下测试方法: 1.语句覆盖 语句覆盖要求必须编写足够多的测试用例,使得每一个可执行的语句都至少被执行一次,语句...
1 2 3 4 5 ... 20
收藏数 2,674
精华内容 1,069
关键字:

白盒测试优缺点