逻辑覆盖法和基本路径法

逻辑覆盖法

  逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖与路径覆盖。

  1. 语句覆盖就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。

  2. 判定覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。

  3. 条件覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。

  4. 判定--条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。

  5. 条件组合覆盖就是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次。

  6. 路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。

  每一种覆盖方法都有其优缺点,这6种覆盖方法关系,如图1:

 

  图1

  通常在设计测试用例时应该根据代码模块的复杂度,选择覆盖方法。一般的代码的复杂度与测试用例设计的复杂度成正比。因此,设计人员必须做到模块或方法功能 的单一性、高内聚性,使得方法或函数代码尽可能的简单;这样将可大大提高测试用例设计的容易度,提高测试用例的覆盖程度。

基本路径法

  基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。基本路径测试法包括以下5个方面:

  1. 程序的控制流图:描述程序控制流的一种图示方法。

  2. 程序环境复杂性:McCabe复杂性度量;从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行依次所必须的测试用例数目的上界。

  3. 导出测试用例。

  4. 准备测试用例,确保基本路径集中的每一条路径的执行。

  5. 图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

  另外,对于测试用例的选择除了满足所选择的覆盖程度(或覆盖标准)外还需要尽可能的采用边界值分析法、错误推测法等常用地设计方法。采用边界值分析法设计 合理的输入条件与不合理的输入条件;条件边界测试用例应该包括输入参数的边界与条件边界(if,while,for,switch ,SQL Where子句等)。错误推测法,列举出程序中所有可能的错误和容易发生错误的特殊情况,根据它们选择测试用例;在编码、单元测试阶段可以发现很多常见的 错误和疑似错误,对于这些错误应该作重点测试,并设计相应的测试用例。

时间: 2024-08-07 10:21:37

逻辑覆盖法和基本路径法的相关文章

白盒测试——逻辑覆盖法

  白盒测试又称结构测试.透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的."白盒"法全面了解程序内部逻辑结构.对所有逻辑路径进行测试."白盒"法是穷举路径测试.在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据.   白盒测试法的覆盖标准有逻辑覆盖.循环覆盖和基本路径测试.今天我们主要研究逻辑覆盖,逻辑覆盖包括语句覆

白盒测试法:逻辑覆盖与路径覆盖

一.实验目的 (1)掌握逻辑覆盖和路径覆盖测试的基本方法 二.实验要求 (1)完成程序的编写 (2)运用逻辑覆盖和基本路径覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否 三.实验内容 (1)设计程序的逻辑覆盖测试用例,语句覆盖.条件覆盖.分支覆盖.分支/条件覆盖.条件组合覆盖. (2)设计程序的基本路径覆盖测试用例(要求绘制控制流图,利用三种方式计算圈复杂度). (3)编写程序进行实际测试,并给出测试结果. 伪代码程序如下: 1    Input(X) 2    If

白盒测试之逻辑覆盖法

白盒测试之逻辑覆盖法 白盒测试又叫逻辑驱动测试或结构测试. 与黑盒测试区别:关注代码内部结构 白盒测试的前提:已知代码内部逻辑 测试方法:逻辑覆盖法 逻辑覆盖法包括六种,从弱到强依次是:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖. 逻辑覆盖法 语句覆盖 将要测试的代码块中的每个语句都至少执行一遍.不关心语句的执行结果,只要执行了某个语句,就说该语句被覆盖了. 判定覆盖 判定可以看做是一个if语句,在程序流程图中用一个菱形表示,这个if语句只有两种结果:真.假.所以判定覆

白盒测试的逻辑覆盖法

逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术.它属白盒测试.逻辑覆盖包括语句覆盖.判定覆盖.条件覆盖.判定/条件覆盖.条件组合覆盖和路径覆盖. 六种覆盖标准发现错误的能力呈由弱到强的变化: 1.语句覆盖 2.判定覆盖 3.条件覆盖 4.判定/条件覆盖 5.条件组合覆盖 6.路径覆盖 对上述6种覆盖标准的具体介绍: 1.语句覆盖(Statement Coverage):就是设计若干个测试用例,运行被测程序,使得程序中每一可执行语句至少执行一次.这里的“若干个”,意味着使用测试用例越少越

[白盒测试学习] 从逻辑覆盖实例学起

1. 什么是白盒测试 白盒测试也称结构测试.逻辑驱动或基于程序的测试,是一种测试用例设计方法. 一般用于分析程序的内部结构. 针对特定的条件和循环设计测试用例,对程序的逻辑路径进行测试. 用这种发方法进行程序设计时,测试者可以看到被测程序,并分析其内部结构,白盒测试要求对被测程序的结构特性做到一定程度的覆盖. 从这个角度上说,白盒测试也是基于覆盖的测试技术. 2. 白盒测试方法概述 白盒测试通常分为静态和动态两种类型,包含很多常用的方法. 静态分析: 按照一定步骤直接见车源代码或代码的测试方法.

白盒测试——基本路径法

白盒测试的测试方法: 代码检查法.静态结构分析法.静态质量度量法.逻辑覆盖法.基本路径测试法.域测试.符号测试.Z路径覆盖.程序变异. 我们这次主要了解一下路径测试法: 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法. 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例.包括以下4个步骤和一个工具方法: 1. 程序的控制流图:描述程序控制流的一种图示方法. 2. 程序圈复杂度:McC

白盒测试以及基路径法测试

测试用例: 语句覆盖: 1. x=3,y=3,z=0. 预期输出 x=2 (a(T),b(T)) 2. x=3,y=3,z=1. 预期输出 x=1 (a(F),b(T)) 判定覆盖: 1. x=3,y=1,z=0. 预期输出 x=2 (a(F),b(F)) 2. x=3,y=3,z=0. 预期输出 x=2 (a(T),b(T)) 条件覆盖: 1. x=1,y=1,z=1. 预期输出 x=0 (a(F,F),b(F,F)) 2. x=3,y=3,z=0. 预期输出 x=2 (a(T,T),b(T,

白盒测试中的几种逻辑覆盖

白盒测试又称为结构测试.透明盒测试.逻辑驱动测试或基于代码的测试.就是在知道软件代码,和内部逻辑结构后进行的一项测试.主要目的是检查内部结构,逻辑.方法是检查每一条路径.与黑盒测试相比,黑盒测试更偏向用户,白盒测试更偏向于开发者.黑盒测试只需要输入和结果.而白盒测试更需要测试,软件内部是如何运行的. 今天我想说一说,白盒测试中的几种逻辑覆盖 白盒测试,为了保证测试的完整性,就要测试软件内部的每一条路径.逻辑覆盖方法能帮助我们设计测试用例,以减少不必要的消耗: 逻辑覆盖包括语句覆盖.判定覆盖.条件

骆驼命名法,帕斯卡命名法和匈牙利命名法(转)

一.匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中.      Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯?西蒙尼(Charles Simonyi) 提出的.        匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等.这些符号可以多个同时使用,顺序是先m_(成员变量), 再指针,再简单数据类型,再其他.例如:m_lpszStr, 表示指