精华内容
下载资源
问答
  • 白盒测试方法

    2017-06-27 18:48:48
    白盒测试文档
  • 2.2 对判定的测试 示例源代码: Dim a,b As Integer Dim c As Double if (a>0 And B>0) Then c = c/a End if if (a>1 OR c>1) Then c = c+1 End if c = b + c 程序流程图 入口 c=b+c (a>0 and B>0 (a>1 or c>1 c = c ...
  • 白盒测试方法应用的一个实验报告!有需要的可以下载下来参考参考哦!
  • 本文介绍六种白盒测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 二、概述 白盒测试也称结构测试或逻辑驱动测试, 它是按照程序内部的结构测试程序,通过测试来...

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

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

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

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

    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条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。

    展开全文
  • [ 试题分类 ]: [04] 白盒测试方法 /[0400][ 综合 ] 白盒测试方法 下面不属于白盒测试能保证的是 模块中所有独立途径至少测试一次 测试所以逻辑决策真和假两个方面 在所有循环的边界内部和边界上执行循环体 不正确或...
  • 软件测试——白盒测试方法

    千次阅读 2021-10-20 13:25:19
    白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是...

    01.

    白盒测试基本概念

    白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

    02.

    白盒测试需要遵循的原则

    ①保证一个模块中的所有独立路径至少被测试一次;

    ②所有逻辑值均需要测试真(true)和假(false),两种情况;

    ③检查程序的内部数据结构,保证其结构的有效性;

    ④在上下边界及可操作范围内运行所有循环。

    03.

    常用白盒测试方法

    静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

    动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

    04.

    白盒测试中的逻辑覆盖

    ①语句覆盖:语句覆盖每条语句至少执行一次;

    ②判定覆盖:判定覆盖每个判定的每个分支至少执行一次;

    ③条件覆盖:条件覆盖每个判定的每个条件应取到各种可能的值;

    ④判定/条件覆盖:.判定/条件覆盖同时满足判定覆盖条件覆盖;

    ⑤条件组合覆盖:条件组合覆盖每个判定中各条件的每一种组合至少出现一次;

    ⑥路径覆盖:路径覆盖使程序中每一条可能的路径至少执行一次。

    六种覆盖标准发现错误的能力呈由弱到强的变化。

    如果有对软件测试感兴趣的小伙伴可以加群了解更多:点击进群icon-default.png?t=L9C2http:// https://jq.qq.com/?_wv=1027&k=La0N2dgg

    展开全文
  • 第6章单元测试及结果审核  虽然软件测试行业的单元测试通常要求开发人员来做,但是测试人员也应该会做单元测试。就算不需要测试人员...  6.1白盒测试基础  白盒测试是针对程序的内部逻辑结构设计测试用例的技术。
  • 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种 测试用例设计方法,盒子指的是被测试的...白盒测试是一种典型的测试方法是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测
  • 白盒测试:(结构性测试,逻辑驱动测试) 基于被测程序的源代码,而非基于定义 支持严格定义、数据分析、精确度量 方法: 控制流/路径测试 数据流测试 其他:程序插装、域测试法、符号测试、Z路径覆盖法、程序变异 ...

    白盒测试:(结构性测试,逻辑驱动测试)

    基于被测程序的源代码,而非基于定义
    支持严格定义、数据分析、精确度量

    方法:

    • 控制流/路径测试
    • 数据流测试
    • 其他:程序插装、域测试法、符号测试、Z路径覆盖法、程序变异

    程序图

    有向图

    • 结点:语句片段
    • 边:控制流

    DD-路径

    DD-路径是程序图中的一条链,使得:

    • 情况1:由一个节点组成,内度=0
    • 情况2:由一个节点组成,外度=0
    • 情况3:由一个节点组成,内度≥2或外度≥2
    • 情况4:由一个节点组成,内度=1并且外度=1
    • 情况5:长度≥1的最大链

    测试覆盖指标

    • 语句覆盖:每个可执行语句至少执行一次

    • 分支覆盖(判定覆盖):每个判定至少都获得一次“真”值和“假”值.

    • 条件覆盖:每个判定中每个条件的可能值至少满足一次.

    • 条件判定覆盖:每个判定中的每个条件的所有可能(真/假)至少出现一次并且每个判定本身的结果(真/假)也至少出现一次.

    • 条件组合覆盖:每个判定中条件的各种可能组合都至少出现一次,显然满足条件组合覆盖的测试用例一定满足“(判定)分支覆盖”、“分支条件覆盖”和“条件判定覆盖”.

    • 路径覆盖:覆盖程序中所有可能的路径.

    展开全文
  • 白盒测试方法 + 实战

    千次阅读 2020-05-10 20:02:26
    白盒测试方法:大致分为静态方法和动态方法两大类。 A. 静态分析:  是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。 B. 动态分析:  当

    定义

    白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。
      
    目的
      通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

    白盒测试的方法:大致分为静态方法和动态方法两大类。

    A. 静态分析:
      是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。

    B. 动态分析:
      当软件系统在模拟或真实的环境中执行前、过程中和执行后,对其行为分析。它显示了一个系统在检查状态下是否正确。在动态分析技术中,最重要的技术是路径和分支测试。逻辑覆盖法的六种覆盖测试方法属于动态分析方法。

    1.逻辑覆盖法
    2.循环覆盖法
    3.基本路径法

    逻辑覆盖法的六种方法:

    符号说明:

    ^ 代表逻辑运算符 && 或者 ||
      
      T 代表 True F 代表 False
      
      A / B 代表条件表达式

    (1)语句覆盖

    每条语句至少执行一次,重点在语句。
      测试用例条件: A ^ B = T

    (2)判定覆盖(分支覆盖)

    每个分支都要执行一次,重点在分支。在设计用例的时候,要设计判断语句结果为True和False的两种情况
      
    测试用例条件:
           A ^ B = T
           A ^ B = F
           
    (3)条件覆盖

    设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果。

    测试用例条件:
           A=T     A=F
           B=T     B=F

    (4)判定条件覆盖(分支条件覆盖)

    设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次,即判定+条件覆盖-重复用例。
      
    测试用例条件:
           A ^ B = T    A ^ B = F
           A=T     A=F
           B=T     B=F

    (5)条件组合覆盖

    设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次。若有N个条件,则有2的n次方个组合用例。

    测试用例条件:
           A= T    B= T
           A= T    B= F
           A= F    B= T
           A= F    B= F

    (6)路径覆盖

    设计测试用例时,覆盖程序中所有可能的执行路径

    优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

    缺点:由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。

    举例:

    def Do(a,b,x):
    	if(a>1) and (b==0):
    		x=x/a
    	if(a==2) or (x>1):
    		x=x+2
    return x
    

    【图1.1】

    分支
    A:if(a>1) and (b==0):
    B:if(a==2) or (x>1):
    条件表达式:
    M:a>1
    N:b==0
    X:a==2
    Y:x>1

    (1)语句覆盖 【图 1.1】适用
    a)主要特点:使程序中的每个可执行语句至少被执行一次。
    b) 用例设计

    XY路径
    15050ACEF
    29070ACDF

    【图1.2】
    在这里插入图片描述
    (2)判定覆盖【图 1.2】适用
    a)主要特点: 对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况。
    b) 用例设计

    XY路径
    19090ABF
    25050ACEF
    39070ACDF

    (3)条件覆盖【图 1.2】适用
    a) 主要特点:设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果。
    b) 用例设计

    XY路径
    19070ACD
    24085ACE

    (4)判定条件覆盖【图 1.2】适用

    XY路径
    19090ABF
    25050ACEF
    39070ACDF
    47090ACDF

    (5)条件组合覆盖** 【图 1.2】适用

    XY路径
    19090ABF
    29070ACDF
    39030ACEF
    47090ACDF
    53090ACEF
    67070ACEF
    75050ACEF

    (6)基本路径法 【图 1.2】适用
    a)主要特点: 设计测试用例时,覆盖程序中所有可能的执行路径
    b) 用例设计

    XY路径
    19090ABF
    25050ACEF
    39070ACDF
    47090ACDF

    已知三角形三遍abc,现在有个程序能判断三角形类别(如:等腰三角形),请为这个程序设计测试用例。

    分析:

    1. 构成三角形的条件:两边之和大于第三边
    2. 构成等腰三角形的条件:任意两边相等
    3. 构成等腰直角三角形的条件:任意两边相等且两边的平方和等于第三边的平方和
    4. 构成等边三角形的条件:三条边都相等

    用到设计测试用例的方法:等价类、边界值、因果图

    等价类:

    1. 有效等价类
      输入三个正整数或正小数

    2. 无效等价类
      a. 空
      b. 非数字
      c. 小于三个数
      d. 大于三个数
      f. 负整数

    测试用例如下:

    输入条件有效等价类无效等价类
    是否是三角形a>0
    展开全文
  • 黑盒和白盒测试方法详解

    万次阅读 2020-03-19 12:14:53
    1. 黑盒测试 黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出...黑盒测试方法, 详见https://blog.csdn.net/asdx1020/article/details/10487091...
  • 实验2 白盒测试 一实验目的与要求 1掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用 2掌握条件覆盖条件组合覆盖的方法提高应用能力 3掌握路径法测试 二实验设备 1电脑PC 三实验原理 白盒测试原理 已知产品的...
  • 白盒测试方法介绍

    2015-08-19 12:25:25
    白盒测试入门介绍,白盒测试发展,白盒测试方法
  • 三角形问题白盒测试

    2019-05-06 10:44:36
    编写程序输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别说明,并对该程序进行白盒测试
  • 白盒测试方法以及归纳

    千次阅读 2017-05-21 12:10:23
    白盒测试(white-box testing)又称透明盒测试(glass box testing)、结构测试(structural testing)等,软件测试的主要方法之一,也称结构测试、逻辑驱动测试或基于程序本身的测试。测试应用程序的内部结构或...
  • 软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能...白盒测试方法和黑盒测试方法 黑盒
  • 白盒测试及例题

    2018-10-04 15:25:36
    软件测试中,讲述白盒测试方法及其例题,可以帮助初学者。
  • 白盒测试测试用例设计,实验中经常用到的典型的白盒测试案例!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,515
精华内容 15,006
关键字:

白盒测试方法