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

白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。就是在知道软件代码,和内部逻辑结构后进行的一项测试。主要目的是检查内部结构,逻辑。方法是检查每一条路径。与黑盒测试相比,黑盒测试更偏向用户,白盒测试更偏向于开发者。黑盒测试只需要输入和结果。而白盒测试更需要测试,软件内部是如何运行的。

今天我想说一说,白盒测试中的几种逻辑覆盖

白盒测试,为了保证测试的完整性,就要测试软件内部的每一条路径。逻辑覆盖方法能帮助我们设计测试用例,以减少不必要的消耗:

逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

1.语句覆盖每条语句至少执行一次。

2.判定覆盖每个判定的每个分支至少执行一次。

3.条件覆盖每个判定的每个条件应取到各种可能的值。

4.判定/条件覆盖同时满足判定覆盖条件覆盖。

5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

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

以下我举个例子

对于一个这样逻辑的程序它的代码大致如下

...
if(y>1&&z=0)
    x=x/y;
if(y=2||x>1)
    x=x+1;
...

1.语句覆盖每条语句至少执行一次。

  我们只需是每条语句执行一次即可 x=4,y=2,z=0

2.判定覆盖每个判定的每个分支至少执行一次。

  我们只需是每个分支执行一次即可

  假设第一个用例在两个判断都为真,第二个用例都为假

  x=4,y=2,z=0;x=1,y=1z=1

3.条件覆盖每个判定的每个条件应取到各种可能的值。

  只需让每个调剂出现一次,条件为y>1,z=0,y=2,x>1

  用例一让所有条件为真x=4,y=2,z=0;用例二是所有条件为假x=1,y=1z=1

4.判定/条件覆盖同时满足判定覆盖条件覆盖。

  x=4,y=2,z=0;x=1,y=1z=1

5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

  可能组合为 真真,真假,假真,假假

  用例一x=4,y=2,z=0;用例二x=1,y=2,z=1;三(2,1,0);四(1,1,1)

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

  即两个判断组合为真真,真假,假真,假假

  一(4,2,0)二(1,1,0)三(4,2,1)四(1,1,1)

以上

时间: 2024-10-13 00:07:38

白盒测试中的几种逻辑覆盖的相关文章

白盒测试——逻辑覆盖法

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

浅析白盒测试中的逻辑覆盖测试

在白盒测试中,逻辑覆盖测试是使用较多的方法.按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖.判定覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖.路径覆盖. 在这里,不深究各个覆盖的优缺点,仅仅根据一个实际例子来看看如何写出6种覆盖的测试用例. public void function(int a, int b, int c) { if ((a > 1) && (b == 0)) { c /= a; } if ((a == 5) || (c > 1)) { c +=

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

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

白盒测试的逻辑覆盖法

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

白盒测试之逻辑覆盖法

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

逻辑覆盖

参考内容: 百度词条 https://baike.baidu.com/item/%E9%80%BB%E8%BE%91%E8%A6%86%E7%9B%96/3231015?fr=aladdin#1_1 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术.它属白盒测试. 逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖.它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试. [1] 根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为: 1.语句覆盖(SC) 2. 判定

逻辑覆盖法和基本路径法

逻辑覆盖法 逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解.逻辑覆盖可分为:语句覆盖.判定覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖与路径覆盖. 1. 语句覆盖就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次. 2. 判定覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次. 3. 条件覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次

JavaScript中的三种弹出对话框

JavaScript中的三种弹出对话框 *****本文来自互联网****** 学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性更精彩,实际上我们经常会在进行网页浏览时简单这种类型的对话框,在用户与应用程序进行双向交流时,经常要用到对话框.avascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prom

【转】UML中的几种关系详细解析

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依