逻辑覆盖测试之3-1 条件与判定

((x>5)&&(y>0))

  • 判定覆盖准则(DC):判定的 true 和 false至少各执行一次.

// {(6, 1), (1,1)}--DC
int foo(int x, int y) {
int z = y*2; \\ z=y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

  • 条件覆盖(CC): 每个条件的true和false至少各被执行一次

(x>5) :true and false
(y>0) :true and false

// {(6, 0), (0,1)}--CC
int foo(int x, int y) {
int z = y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

-----Subsume 关系

C1 蕴含 C2 (或 C2 被C1蕴含), 记为
A ≥ B:对于任意P: C1(P) ?C2(P).
DC ≥ SC
CC not ≥ SC
DC not ≥ CC, CC not ≥ DC

  • 条件判定覆盖(C/DC):同时满足DC和 CC. 

C/DC(P)=CC(P) ∩ DC(P)

C/DC ≥ CC

C/DC ≥ DC

//
int foo(int x, int y) {
int z = y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

  • 修订条件判定覆盖(MC/DC):  每个条件独立影响判定true和false各一次

MC/DC
((x>5) && (y>0))

T T T
T F F
F T F
F F F

MC/DC
Modified Condition/Decision Coverage
(MC/DC) 是C/DC得到一个增强版本.
MC/DC 是DO-178B 标准的一个重要准则
(Federal Aviation Administration)
MC/DC作为控制软件最为严格(Level A )
的逻辑测试覆盖准则

原文地址:https://www.cnblogs.com/lianlianqingning/p/9867727.html

时间: 2024-10-08 12:45:09

逻辑覆盖测试之3-1 条件与判定的相关文章

白盒测试——逻辑覆盖法

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

逻辑覆盖法和基本路径法

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

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

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

白盒测试技术-逻辑覆盖

1.语句覆盖 选择足够多的测试数据,使被测试程序中每个语句至少执行一次 2.判定覆盖 判定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次 3.条件覆盖 不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果 4.判定/条件覆盖 选取足够多的测试数据,使得判定表达式中的每个条件都取得可能的值,而且每个判定表达式也都取得各种可能的结果 5.条件组合覆盖 选取足够多的测试数据,使得每