精华内容
下载资源
问答
  • 白盒测试的六种方法
    2021-10-22 18:24:43

    1-语句覆盖

    主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。

    2-判定覆盖

    主要特点:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。

    • 判定条件覆盖CDC(Condition/ Decision Coverage),设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果也至少出现一次。
    • 判定条件覆盖率的公式:条件判定覆盖率=被评价到的条件取值和判定分支的数量/(条件取值总数+判定分支总数)
    • 缺点:没有考虑单个判定对整体结果的影响,无法发现逻辑错误。

    3-条件覆盖

    主要特点:条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。

    • 条件覆盖CC(Condition Coverage),设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。
    • 条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%
    • 缺点:只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖.

    4-判定/条件覆盖

    主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

    5-条件组合覆盖

    主要特点:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。

    • 条件组合覆盖,也称多条件覆盖MCC Multiple Condition Coverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。
    • 这种方法包含了“分支覆盖”和“条件覆盖”的各种要求。满足条件组合覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖。
    • 条件组合覆盖率的公式:条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数
    • 缺点:判定语句较多时,条件组合值比较多。

    6-路径覆盖

    主要特点:设计足够的测试用例,覆盖程序中所有可能的路径。

    更多相关内容
  • 白盒测试六种方法案例分析

    千次阅读 2019-08-30 20:39:52
    1、语句覆盖 2、判定覆盖 3、条件覆盖 4、判定/条件覆盖 5、组合覆盖 6、路径覆盖

    1、语句覆盖

    2、判定覆盖

    3、条件覆盖

    4、判定/条件覆盖

    5、组合覆盖

    6、路径覆盖

    展开全文
  • 白盒测试--六种覆盖方法:语句覆盖、条件覆盖、判定覆盖、路径覆盖、条件组合覆盖、条件判定覆盖
  • 白盒测试是测试人员常用的一测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码测试用例而走...本文介绍六种白盒测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
  • 白盒测试中的六种覆盖方法软件测试摘要:白盒测试作为测试人员常用的一测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合...
  • 一、白盒测试根据软件产品的内部工作过程,在计算机上进行测试,以证实每内部操作是否符合设计规格要求,所有内部成分是否已经过检查。这种测试方法就是白盒测试白盒测试把测试对象看做一个打开的盒子,允许测试...
  • 白盒测试方法

    2021-09-17 12:22:19
    白盒测试是一测试手段,多用于单元测试阶段,测试对象是函数代码等。追求的目标叫做:逻辑覆盖率。共分为 语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖 ,条件组合,路径覆盖 共六种测试方法。 语句覆盖 语句覆盖...

    白盒测试是一种测试手段,多用于单元测试阶段,测试对象是函数代码等。追求的目标叫做:逻辑覆盖率。共分为 语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖 ,条件组合,路径覆盖 共六种测试方法。

    语句覆盖

    语句覆盖其就是让每句代码都至少执行一次的方法。

    比如下面这段代码:

    if a > 2:
        print ">"
    else:
        print "<"
    

    若是要保证每条语句都至少执行一次的话,你就需要俩条用例即可:a = 1 和 a = 3

    判定覆盖

    也叫分支覆盖,目的是让每个判定的 真假 都至少出现一次。

    比如下面这段代码:

    if a > 2 or b >3:
        print ">"
    else:
        print "<"
    

    若要保证每个判定真假都至少出现一次,则最少需要俩条用例:a = 3 和 a =1,b=1
    这样 就保证了 判定(a>2orb>3) 真假至少出现了一次。

    条件覆盖

    保证代码中每个条件的真假都至少出现一次,这个就比较难了。来看下面的代码:

    if a>1 or b>2:
        print '>'
    elseprint '<'
    

    若要保证条件(a>1)和(b>2)和(else)都至少出现一次真假,那么用例如下:

    a = 0,b = 0 :此时条件(a>1)和(b>2)都出现了假

    a = 4, b=4 :此时条件(a>1)和(b>2)都出现了真

    判定条件覆盖

    这个方法就是要把判定和条件组合起来。用尽量少的用例同时满足俩种覆盖率的技术。

    比如这段代码:

    if a>1 and b>1:
        print '>'
    else:
        print '<'
    

    用例设计如下:

    a = 0,b=0 此时条件(a>1)为假,条件(b>1)为假,判定(a>1 and b>1) 也为假。

    a =2 ,b=2 此时条件(a>1)为真,条件(b>1)为真,判定(a>1 and b>1) 也为真。

    这样我们仅用了 两条用例就完美实现了 所有条件和所有判定的真假都至少出现了一次的情况,当然面对更为复杂的判断,这个则更难,比如:

    if a>1 and b>1 and c<1:
        print '>'
    else:
        print '<'
    

    用例如下 a =0,b=0,c=2 ,此时条件(a>1)(b>1)(c<1) 都为假,而判定(a>1 and b>1 and c<1) 也为假

    a = 5,b=5,c=0 ,此时条件(a>1)(b>1)(c<1) 都为真,而判定(a>1 and b>1 and c<1) 也为真

    条件组合覆盖

    注意这个方法是针对判定作为结果的,只是手段是条件而已。

    目的为:保证 判定的所有情况都至少出现一次 ,而不单单是真假。

    if a>1 or b>1:
        print '>'
    else:
        print '<'
    

    我们这里要保证判定(a>1 or b>1)的所有情况都出现一次,用例如下:

    a = 0,b=0 : 假假 = 假

    a = 5,b=5 : 真真 = 真

    a = 0,b=5 : 假真 = 真

    a = 5,b=0 : 真假 = 真

    结果就是至少4条用例才能判定的所有情况都至少出现一次,虽然三个都是真,但是原因是不同的。

    路径覆盖

    保证代码中每条路径都至少执行一次!注意,这里并非语句,而是路径。

    例子如下:

    if a>1:
        print '*'
    else:
        print '%'
    if b>1:
        print '&'
    else:
        print '#'
    

    这个例子中,如果我们是语句覆盖,那么俩条用例足以,保证每条语句都至少执行一次,最终的输出可以为:*& 和 %#

    但是路径覆盖则不这么简单,路径中,第一个判定的真假和第二个判定的真假各种组合 成为各种路径。

    所以要求输出至少为以下所有情况路径:*& 和 *# 和 %& 和 %# 排列组合共四种路径。

    所以至少需要如下四条用例:

    a = 5,b=5: *&

    a = 5,b=0: *#

    a = 0,b=5: %&

    a = 0,b=0: %#

    好了这就是路径覆盖,也是号称最强的覆盖法,在时间成本不够的情况下,优先选用路径覆盖是最全面的。

    最后还要给大家多介绍俩种白盒覆盖率方法,只是这俩种更加冷门,知道的人不多:

    ESTCA覆盖法

    也叫错误敏感测试用例分析规则。由Foster提出,属于根据程序中的谓词最容易出错的部分得出的规则,属于大数据的范畴。

    LCSAJ覆盖法

    也叫线性代码顺序和跳转覆盖法,是一个比较全面的测试方法。

    每个LCSAJ定义为一段代码:起始于程序入口或者一个跳转点,结束于程序出口或一个跳转点。

    整个方法的做法就是:分层测试

    第一层用语句覆盖,第二层是分支覆盖,第三层就是一段LCSAJ覆盖,第四层就是任意相连的俩段LCSAJ覆盖。第五层就是任意相连的三层LCSAJ覆盖,以此类推。看起来更像是 一种集成测试的方法。

    展开全文
  • 白盒测试方法白盒测试六种方法比较分析

    万次阅读 多人点赞 2019-12-20 14:49:17
    白盒测试六种方法比较分析 一、摘要 白盒测试是测试人员常用的一测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码测试用例而走,需要根据不同的测试需求,结合不同的测试对象,使用适合的...

    白盒测试的六种方法比较分析

    一、摘要
    白盒测试是测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码测试用例而走,需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。本文介绍六种白盒测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

    二、概述
    白盒测试也称结构测试或逻辑驱动测试, 它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明 书的规定正常进行,检验程序中的每条通路是 否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据 程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否 与预期的状态一致。常崩的软件测试方法有两大类:静态测试方法和动态测试方法。其中 软件的静态测试不要求在计算机上实际执行 所测程序,主要以一些人工的模拟技术对软件 进行分析和测试-而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的 过程。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何 运作的。

    三、白盒的测试用例需要做到

    1. 保证一个模块中的所有独立路径至少被使用一次
    2. 对所有逻辑值均需测试Lrue和false
    3. 在上下边界及可操作范围内运行所有循环
    4. 检查内部数据结构以确保其有效性

    四、白盒测试的目标
    通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,在程序不同地方设立检查点,检查程序的状态,以确定实际运行 状态与预期状态是否一致。
    下面这些规则也可以看作是测试的目标或定义:

    1. 测试是为了发现程序中的错误而执行 程序的过程,
    2. 好的测试方案是极可能发现迄今为止 尚未发现的错误的测试方案;
    3. 成功的测试是发现了至今为止尚未发 现的错误的损4试。

    五、白盒测试的特点
    依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测 试用例、对软件的逻辑路径进行覆盖测试。是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测 试用例,对程序所有逻辑路径进行测试,通过 在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

    六、白盒测试的实施步骤

    1. 测试计划阶段:根据需求说明书,制定测试进度;
    2. 测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例;
    3. 测试执行阶段:输入测试用例,得到测试结果;
    4. 测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

    七、白盒测试的方法
    总体上分为静态方法和动态方法两大类。

    静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。

    动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后.,对软件系统行为的分析。动态分析包含了程 序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个系统在检查状态 下是正确还是不正确。在动态分析技术中,最 重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

    八、白盒测试的优缺点
    优点:使得测试人员去仔细思考软件的实现。可以检测代码中的每条分支和路径,能尽量揭示隐藏在代码中的错误,对代码的测试比较彻底。

    缺点:昂贵、费时,很难检测代码中遗漏的路径和数据。

    九、白盒测试的六种方法比较分析
    在这里插入图片描述
    1、语句覆盖
    (1)主要特点
    语句覆盖是最基本的结构覆盖要求,语句覆盖要求设计足够多的测试用 例,使得程序中每条语句至少被执行一次。

    (2)用例设计
    如果此时将A路径上的隐式语句l—Print去掉,那么用例如下👇

    XY路径
    15035OBDE
    210040OBCE

    (3)优点
    可以很直观地从源代码得到测试用例,无须细分每条判定表达式。

    (4)缺点
    由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。在本例中去掉了语句1一Print去掉,那么就少 了一条测试路径。在if结构中若源代码没有给出else后面的执行分支。那么语句覆盖测试就不会考虑这种情况。但是我们不能排除这种以外的分支不会被执行,而往往这种错误会经常出现。再如,在Do-While结构中,语句覆 盖执行其中某一个条件分支。那么显然,语句覆盖对于多分支的逻辑运算是无法全面反映 的,它只在乎运行一次,而不考虑其他情况。

    2、判定覆盖
    (1)主要特点
    又称分支覆盖,设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次。即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。

    (2)用例设计

    XY路径
    1120120OAE
    25035OBDE
    310040OBCE

    (3)优点
    判定覆盖比语句覆盖要多几乎一倍的测试路径,当然也就具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。
    (4)缺点
    往往大部分的判定语句是由多个逻辑条件组合而成(如:判定语句中包含AND、 OR、CASE)。若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。

    3、条件覆盖
    (1)主要特点
    条件覆盖要隶设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。

    (2)用例设计

    XY路径
    110040OBCE
    25035OBDE

    (3)优点
    显然条件覆盖比判定覆盖,增加了对符合判定情况的测试,增加了测试路径。

    (3)缺点
    要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

    4、判定/条件覆盖
    (1)主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

    (2)用例设计

    XY路径
    1120120OAE
    25035OBDE
    310040OBCE
    47090OBCE

    (3)优点
    判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。

    (4)缺点
    判定/条件覆盖准则的缺点是未考虑条件的组合情况。

    5、组合覆盖
    (1)主要特点
    要求设计足够多的测试用例,使得每个判定种条件结果的所有可能组合至少出现一次。

    (2)用例测试

    XY路径
    1120120OAE
    210040OBCE
    35035OBDE
    47090OBCE
    53590OBDE
    67075OBDE
    76060OBDE

    (3)优点
    多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。更改的判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次。每个判定本身的所有可能结果也至少出现一次,并且每个条件都显示能单独影响判定结呆。

    (4)缺点
    线性地增加了测试用例的数量。

    6、路径覆盖
    (1)主要特点
    设计足够的测试用例,覆盖程序中所有可能的路径。

    (2)用例设计

    XY路径
    1120120OAE
    25050OBDE
    310040OBCE
    440100OBCE

    (3)优点
    这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。

    (4)缺点
    由于路径覆盖需要对所有可能的路径进行测试(包括循环,条件组合.分支 选择等).那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些情况下,一些执行路是不可能被执行的,如:
    If(!flag)x++;
    If(!flag)y–;
    这两个语句实际只包括了2条执行路径,即flag为真或假时候对x和y的处理,真或假不可能都存在,而路径覆盖测试认为是包含了真与假的4条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。

    展开全文
  • 白盒测试-六种基本方法

    千次阅读 2021-05-22 21:54:53
    对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两情况 三、条件覆盖 设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果 四、判断条件覆盖(分支...
  • 题目一:用逻辑覆盖测试方法测试以下程序段 void DoWork (int x,int y,int z){ 1 int k=0, j=0; 2 if ( (x>3)&&(z) ) 3 { 4 k=x*y-1; 5 j=sqrt(k); 6 } 7 if((x==4)||(y>5)) 8 j=x*y+10; 9 j=j%3; 10 } 说明:程序段...
  • 白盒测试设计方法 测试设计方法——逻辑覆盖法逻辑覆盖法:是通过对程序逻辑结构的遍历实现程序的覆盖。覆盖率:是用来度量测试完整性的一个手段测试设计方法——语句覆盖语句覆盖:设计测试用例,使得程序中每条...
  • 第6章单元测试及结果审核  虽然软件测试行业的单元测试通常要求开发人员来做,但是测试人员也应该会做单元测试。就算不需要测试人员...  6.1白盒测试基础  白盒测试是针对程序的内部逻辑结构设计测试用例的技术。
  • 白盒测试和黑盒测试是软件测试的两基本方法。 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子...
  • 单元测试的测试数据可以用两个基本的方法系统地构建。...这个技术也称为白盒测试(结构测试、逻辑驱动测试以及面向路径测试)。  规格说明测试的可行性:  考虑下面的例子。假定某个数据处理产品的规格
  • 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一 测试用例设计方法,盒子指的是被测试的...白盒测试是一典型的测试方法是一按照程序内部逻辑结构和编码结构设计测试数据并完成测
  • 白盒测试六种覆盖方法区分

    千次阅读 2020-05-14 10:31:41
    用判定覆盖设计的测试用例: a = 5, b = 1 (判定表达式的值为“真”) a = 0, b = 1 (判定表达式的值为“假”) 注意:这里并不需要管b的取值,就已经满足判定覆盖的条件了。 用条件覆盖设计的测试用例: a = 5, b .
  • 这是软件质量测试课程的实验白盒测试的实验报告模板
  • xauat软件质量保证与测试实验报告,包含了整体的黑盒测试,白盒测试,系统测试三,是三分独立的报告,需要的请下载。需要doc请csdn联系我
  • 二、白盒测试 1.静态测试 2.动态测试 一、黑盒测试 1.等价类划分 等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试...
  • 白盒测试之基本路径测试法[1]软件测试白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。其中运用最为广泛的是基本路径测试法...
  • 白盒测试-覆盖测试 测试覆盖率:用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语句、分支、条件等。 结构覆盖率包括语句覆盖率、分支覆盖率、循环覆盖率、路径覆盖率...
  • 如何编写单元测试用例(白盒测试)软件测试前段时间公司进行有关的培训,集成测试,,压力测试说了很多。由于本人还处于Coder阶段,只是对测试有了些了解。写下来怕以后自己忘记了。都是些自己的看法,不一定准确,...
  • 一、VcTester生产厂商深圳市领测科技有限公司简介VcTester由深圳市领测科技有限公司自主研发,专业服务于嵌入式白盒测试领域的测试工具,它遵循第4代白盒测试方法(4GWM,The4thGenerationWhite-box-...
  • 三角形问题白盒测试

    2019-05-06 10:44:36
    编写程序输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别说明,并对该程序进行白盒测试
  • 软件如何编写软件单元测试用例(白盒测试)软件测试前段时间公司进行有关测试的培训,集成测试,性能测试,压力测试说了很多。由于本人还处于Coder阶段,只是对单元测试有了些了解。写下来怕以后自己忘记了。都是些...
  • 详细的介绍了:语句覆盖,分支覆盖,谓词覆盖,分支—谓词覆盖以及复合谓词覆盖,简单的说明了路径覆盖
  • 白盒测试及例题

    2018-10-04 15:25:36
    软件测试中,讲述白盒测试方法及其例题,可以帮助初学者。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,744
精华内容 17,497
关键字:

白盒测试的六种方法

友情链接: 4616124.rar