语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

2023-10-31


逻辑覆盖率:语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖

语句覆盖

基本思想:设计用例,使程序中的每个可执行语句至少执行一次。
每个可执行语句:每个语句,那么下图中执行为:1->2->3->4
在这里插入图片描述

  • 优点:可以很直观的从源代码获得用例,无需细分每条判定表达式
  • 缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的,如在多分支的逻辑运算中无法全面考虑。语句覆盖是最弱的逻辑覆盖

判定覆盖

基本思想:设计用例,使得程序中的每一个判断取真分支和取假分支至少经历一次,即判断真假值均曾被满足
在这里插入图片描述
重点是判定针对于真假判断),覆盖条件:

条件1:T,条件3:F
条件1:F,条件3:T

或者

条件1:T,条件3:T
条件1:F,条件3:F

  • 优点:判定覆盖比语句覆盖具有更强的测试能力。同时判定覆盖与具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例
  • 缺点:往往大部分的测试用例是由多个逻辑条件组合的,若仅仅判断其整个的最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径,判定覆盖仍是很弱的逻辑覆盖

条件覆盖

基本思想:设计用例,使每个判断中的每个条件的可能取值至少满足一次
在这里插入图片描述
重点是判断语句的条件针对条件语句

判断表达式1:
设条件 a>0 为真 记T1
			假 记F1
条件 b>0   为真 记T2
			假 记F2 
			
判断表达式3:
设条件 a>1 为真 记T3
			假 记F3
条件 c>1   为真 记T4
			假 记F4		

覆盖条件:

T1,F2,T3,F4
F1,T2,F3,T4

我们用条件覆盖的思想就是覆盖T1,T2,T3,T4,F1,F2,F3,F4

  • 优点:增加了对条件判断情况的测试,增加了测试路径
  • 缺点:条件覆盖不一定包含判定覆盖,例如,上面的测试用例中就不包含判断1的T分支,判断3的F分支。条件覆盖只能保证每个条件语句取值至少有一次为真,而不考虑所有的判定结果

条件–判定覆盖

基本思想:设计用例,使判定条件中的所有可能(条件成立、不成立)至少执行一次取值,同时,所有判断的可能结果(取真,取假),至少执行一次
在这里插入图片描述
覆盖条件用例:

T1,T2,T3,T4
F1,F2,F3,F4

要满足:T1,T2,T3,T4,F1,F2,F3,F4

  • 优点:能同时考虑到判定,条件两种覆盖
  • 缺点:未考虑条件的组合情况

组合覆盖

基本思路:设计用例,使所有可能的条件取值组合至少执行一次
在这里插入图片描述
重点:所有条件取值的组合

编号 覆盖条件取值
1 T1,T2
2 T1,F2
3 F1,T2
4 F1,F2
5 T3,T4
6 T3,F4
7 F3,T4
8 F3,F4
覆盖条件 覆盖组合
T1,T2 , T3 , T4 1,5
T1,F2 , T3 , F4 2,6
F1,T2 , F3 , T4 3,7
F1,F2 , F3 , F4 4,8
  • 优点:组合覆盖满足了判定覆盖、条件覆盖、和判定、条件覆盖准则。
  • 缺点:线性的增加了测试用例的数量

路径覆盖

基本思想:设计测试用例,来覆盖程序中的所有可能执行的路径
在这里插入图片描述
继上面的的条件取值表格

覆盖路径 覆盖组合
1-2-4 1,5
1-2-5 1,8
1-3-4 4,7
1-3-5 4,8
  • 优点:这种测试方法可以对程序进行彻底的测试,比前面五种的测试要广
  • 缺点:需要设计大量的,复杂的测试用例,使得工作量呈指数增长,不见得能把所有的条件组合都覆盖
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖 的相关文章

  • 闲扯测试工程师之发展(觉得不错,拿来与大家分享)

    一 测试工程师的历史 我算是接触互联网测试工作比较早的一批人了 在2010年研二实习的时候就开始在一家加拿大的企业做测试开发工程师了 2012年毕业的时候 貌似互联网行业开始有专职的测试人员 而且不少中小型公司还没有专职的测试人员 程序的质
  • 软件测试--静态白盒测试

    软件测试 静态白盒测试 静态测试是指测试非运行部分 检查和审查 静态白盒测试是指在不执行软件的条件下条理地仔细审查软件设计 体系结构和代码 从而找出软甲缺陷的过程 又称为结构化测试 静态白盒测试的好处 能够尽早发现软件缺陷 并且能够为黑盒测
  • 白盒测试案例设计(我爷爷都能看懂)

    目录 一 白盒测试的概念及特点 1 什么是白盒测试 2 白盒测试的特点 二 白盒测试设计方法 1 静态设计方法 2 动态设计方法 三 逻辑覆盖法 1 语句覆盖 2 判定覆盖 3 条件覆盖 4 判定条件覆盖 5 条件组合覆盖 6 路径覆盖 四
  • 行业合规标准MISRA如何帮助C/C++代码程序员高效地编写代码?

    MISRA标准包含编写软件的准则和代码规则 汽车 航空航天和国防 医疗 工业自动化和铁路等行业都使用该标准来帮助他们的开发人员编写源代码 以确保软件的安全 安保和可靠性 由于嵌入式软件工程师使用C和C 编程语言来编写安全关键型软件的代码 M
  • 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

    文章目录 语句覆盖 判定覆盖 条件覆盖 条件 判定覆盖 组合覆盖 路径覆盖 逻辑覆盖率 语句覆盖 lt 条件覆盖 lt 判定覆盖 lt 条件 判定覆盖 lt 组合覆盖 lt 路径覆盖 语句覆盖 基本思想 设计用例 使程序中的每个可执行语句至
  • 【软件测试】黑盒测试、白盒测试、静态测试

    文章目录 一 黑盒测试 1 定义 2 分类 3 常见黑盒测试方法 1 功能测试方法 设计测试用例 2 性能测试方法 3 可用性测试方法 4 黑盒测试方法的实际使用 5 黑盒测试经验 二 白盒测试 1 定义 2 程序结构分析 3 逻辑覆盖 4
  • 软件测试之检查产品说明书

    场景 学习 软件测试 第4章节 检查产品说明书 关于黑盒测试和白盒测试 黑盒测试只需要知道软件要做什么 而无法看到盒子里的软件是怎么运行的 只要进行一些输入 然后输出结果 目前我们做的基本上是这种测试 我们知道输入和预计输出 只要把按操作输
  • 大数据平台测试-白盒测试静态方法解析(我奶奶都能看懂)

    软件测试从某种维度上分为黑盒测试和白盒测试 黑盒测试更多的是增啥改查 也就是功能测试 关于功能测试参考这里 增删改查测试场景 菜市场的大妈都能看懂 关于白盒测试的资料参考这里 白盒测试案例设计 我爷爷都能看懂 注意并不是说白盒测试一定就是要
  • 白盒测试之静态检查

    态检查一般是检查编码标准规范 错误列表 编码规范往往团队 会根据自己的经验和风格进行设置一些规范 现在很多IDE工具都会 在编辑代码的时候实时的提醒是否符合代码风格 错误列表 一般 是代码潜在的bug 由于某种代码写法虽然没有语法错误 但是
  • 循环代码模型构建方法

    循环结构是源代码程序的重要结构 然而即使是简单的循环程序 也很容易出错 循环中的很多错误往往需要执行多次或者在某些特定的情况下才能被发现 检测这些错误的代价很高 所以需要重点开展对软件循环代码的安全性分析研究 而对循环代码结构进行研究的重要
  • 2021白盒测试常用工具介绍【建议收藏】

    白盒测试工具一般是针对代码进行测试 测试中发现的缺陷可以定位到代码级 根据测试工具原理的不同 又可以分为静态测试工具和动态测试工具 1 Jtest 是一个代码分析和动态类 组件测试工具 是一个集成的 易于使用和自动化的Java单元测试工具
  • 静态分析领域中弱点、不足、缺陷、故障等概念之间的关系

    在CWE范畴内 讨论的核心内容是 弱点 及 不足 而在软件静态分析范畴内 研究的核心内容是 缺陷 及 故障 CWE已经越来越多的被静态分析用于重要参照标准 因此有必要将这几个关键概念之间的关系梳理清楚 弱点 Weakness 定义 CWE中
  • 软件测试实验二 白盒测试

    一 实验目的 1 掌握等逻辑覆盖测试法 2 掌握基本路径测试法 3 掌握基于Junit的单元测试 二 实验内容 1 为以下判断等级的程序段设计一组测试用例 要求分别满足语句覆盖 判定覆盖 条件覆盖 判断 条件覆盖 条件组合覆盖 public
  • 白盒测试流程图及测试用例设计(软件测试实验报告)

    白盒测试流程图及测试用例设计 1 课程设计目的 1 理解白盒测试原理 2 绘制白盒测试流程图 2 课程设计方法 1 绘制流程图 2 设计测试用例 3 课程设计内容 题目 输入x和y值 首先判断x和y是否为正数 如果是正数 那么计算两者的数值
  • 3分钟学会在C ++中以编程方式合并Excel工作表中的单元格

    合并和取消合并单元格是Microsoft Excel的一项简单且常用功能 合并单元格可能会在某些情况下很有用 例如 当工作表中有多个列共享相同的标题时 可以合并列上方的单元格以使其具有共同的标题 如果不再需要合并的单元格 则可以轻松地取消合
  • (二)动态白盒测试(含逻辑覆盖例子)

    一 动态白盒测试 重点 1 概念 动态 测试运行中的程序 白盒 洞察盒子里面 检查代码并观察运行状况 生成测试数据 分析测试结果的工作量大 使开展测试工作费时 费力 费人 二 动态白盒测试常用的测试用例方法 a 逻辑覆盖 语句覆盖 分支 判
  • 白盒测试(程序流程图)

    白盒测试又称结构测试 透明盒测试 逻辑驱动测试或基于 代码的测试 白盒测试是一种 测试用例设计方法 盒子指的是被测试的 软件 白盒指的是盒子是可视的 你清楚盒子内部的东西以及里面是如何运作的 白盒 法全面了解程序内部逻辑结构 对所有逻辑路径
  • 软件工程——第7章实现知识点整理

    本专栏是博主个人笔记 主要目的是利用碎片化的时间来记忆软工知识点 特此声明 文章目录 1 实现由哪两个部分组成
  • 软件测试—第六章白盒测试基本路径测试法

    一 基本路径法 1 为什么使用基本路径法 一是降低了测试用例设计的难度 只要搞清了各种流程 就可以设计出高质量的测试用例来 而不用太多测试方面的经验 二是在测试时间较紧的情况下 可以有的放矢的选择测试用例 而不用完全根据经验来取舍 2 什么
  • 黑盒测试与白盒测试的定义与区别

    白盒测试 是指实际运行被测程序 通过程序的源代码进行测试而不使用用户界面 这种类型的测试需要从代码句法发现内部代码在算法 溢出 路径和条件等方面的缺点或者错误 进而加以修正 黑盒测试 又称功能测试 数据驱动测试或基于规格说明的测试 是通过使

随机推荐

  • 数字图像隐藏图像的两种算法及实现代码

    数字图像 二值图像 也叫单色图像 是将每个像素点存放在一个bit空间 值为0或者1 的图像 也就是说每个像素 非黑即白 主要用于图像形态学的研究 8位灰度图像 每个像素存放在一个byte空间 8位 0 255 0表示最暗色黑色 255表示最
  • Shell 异常处理

    原创 转载请注明出处 bin bash 服务器执行以下脚本 重新上传脚本到服务器 gt 部署启动的脚本 当任何一行的命令执行错误的时候 比如命令写错了 直接退出 不继续往下执行 function openErrexit set e 当任何一
  • Linux 系统设置开机自动运行脚本的方法

    Linux 系统设置开机自动运行脚本的方法 目录 前言 在工作中 我们经常有个需求 那就是在系统启动之后 自动启动某个脚本或服务 在 Windows 下 我们有很多方法可以设置开机启动 但在 Linux 系统下我们需要如何操作呢 Linux
  • 从功能测试到掌握自动化,四个月时间我是如何从点工进入互联网大厂

    年关了 回望2022年 你的这个2022年收获咋样啦 各大招聘网站 测试工程师月薪一万以上基本都有一个必备技能 那就是自动化测试 那么自动化测试到底难不难呢 下面我将会将我的经历讲给大家听 希望听完后 大家会有自己的一个判断 1 知识体系化
  • 【python】数字图像处理

    目录 基本概念 图像增强 整体代码 线性变换 分段线性变换 对数变换 幂律变换 直方图 图像滤波 平滑图像 锐化图像 基本概念 数字图像定义 对于一幅图像 我们可以将其放入坐标系中 这里取图像左上定点为坐标原点 x 轴向右 和笛卡尔坐标系x
  • caffe 进行手写数字训练

    案例数据准备 下载 链接 https pan baidu com s 10CmpZUdEVmma4A0mziu9dw 提取码 dmjr 复制这段内容后打开百度网盘手机App 操作更方便哦 解压后放到data mnist 进入C Window
  • vs2019登录不上账号怎么办

    别用校园网 用手机热点几分钟就登录上了 惨痛的教训
  • Android APP间跳转

    1 通过包名启动APP 启动方式 只需知道目标APP包名即可 例如 app1 跳转到app2 app2包名为 com demo skipdemo app1启动代码如下 通过目标APP的包名创建intent对象 Intent intent g
  • Hyper-V安装图形化界面

    七 Hyper V安装图形化界面 此处主要需要时间下载界面的安装包 故在此只贴出操作 1 登录 然后键入命令 yum grouplist 可以看到Avilable Environment Groups 中有图形界面GNOME Desktop
  • 求特殊方程的正整数解

    本题要求对任意给定的正整数N 求方程X2 Y2 N的全部正整数解 输入格式 输入在一行中给出正整数N 10000 输出格式 输出方程X2 Y2 N的全部正整数解 其中X Y 每组解占1行 两数字间以1空格分隔 按X的递增顺序输出 如果没有解
  • SpringBoot不同环境加载不同配置文件

    Spring不同环境加载不同配置文件 resource profile 我们在使用spring的时候 一般都会有不同的环境需要部署 开发环境 测试环境和生产环境 而不同的环境则会有不同的配置 比如数据库ip 解决这个问题 我所熟悉的有两种策
  • java中如何将String类型的日期格式为yyyyMMdd转化为date类型的yyyy-MM-dd格式

    今天在做webservice接口服务的时候 xml文件传入的一个节点为人员的出生日期 对应实体类的字段类型为Date类型 获取到的值为String类型 代码如下 获取的值为 19570323 String dateString emp ge
  • jquery之index与selectedIndex

    晚上有时间 继续再写一点 我们来讲一下关于select表单的所有操作 在项目中还是有很多地方需要用到的 讲select之前先讲一下index 的用法 很长时间之前用过一回 熟悉一下还是有用处的 1 index 同级元素的index 获得第一
  • JavaParser入门:以编程方式分析Java代码

    我最喜欢的事情之一是解析代码并对其执行自动操作 因此 我开始为JavaParser做出贡献 并创建了两个相关项目 java symbol solver和Effectivejava 作为JavaParser的贡献者 我反复阅读了一些非常类似的
  • cv2读取视频每10帧保存一张图像

    读取本地mp4视频 每隔10帧保存一张图像到本地 导入所有必要的库 import cv2 import os RootDir Users billiards SaveDir os path join RootDir data 从指定的路径读
  • GICP 配准点云(附python 代码)

    import open3d as o3d import numpy as np import copy def draw registration result src tar transformation source temp copy
  • IP地址分类(A,B,C,D,E类)

    A类的10 0 0 0 10 255 255 255 B类的172 16 0 0 172 31 255 255 C类的192 168 0 0 192 168 255 255为私网IP 除此之外 A B C三类的所有其余IP都是公网IP 或者
  • 记录Python学习 1:列表字符串转数字

    问题 如何将列表 1 2 3 4 5 中的字符串型转化为数值型 通常在使用 lst input split 获得输入时 列表里为字符串型 有时需要进行转换 常用的有两种方法 方法一 利用列表推导式 lst 1 2 3 4 5 lst int
  • android APP调用系统方法

    一般来说 有些系统方法是不提供在 中的 这种情况下 需要把app的源码放到系统源码的目录下编写Android mk进行编译 使其能访问到 hide的系统方法 但是 即使编译通过 在系统中运行的时候 仍然会碰到权限被拒绝的问题 昨天 我在AP
  • 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

    文章目录 语句覆盖 判定覆盖 条件覆盖 条件 判定覆盖 组合覆盖 路径覆盖 逻辑覆盖率 语句覆盖 lt 条件覆盖 lt 判定覆盖 lt 条件 判定覆盖 lt 组合覆盖 lt 路径覆盖 语句覆盖 基本思想 设计用例 使程序中的每个可执行语句至