白盒测试主要使用逻辑覆盖测试方法,包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖等。

假设逻辑判断流程图如下图所示,我们简单来说说每种白盒测试方法是如何来进行的。

一、语句覆盖

语句覆盖的定义是:程序中的每个可执行语句至少执行1次。能发现语句错误,但不能发现逻辑错误。

那就是相当于把ABCD四条路径都要走一遍,则至少需要3条测试用例:AB、AC、AD。具体测试用例根据实际情况来定。

二、判定覆盖
判定覆盖也称分支覆盖,程序中的每个判定的取真分支和取假至少执行一次。能发现逻辑错误,但不能发现组合判断中的条件错误。

如上图所示,即要保证圈起来的N和Y路径都要执行一次。

三、条件覆盖

条件覆盖的定义是:程序每个判定中每个条件的可能取值至少满足一次,能发现条件错误,但不能发现逻辑错误。

即表示每个判定里面的每个小条件真或假各取一次。如:

判定一:

条件1(真)条件2(假)条件3(假)

条件1(假)条件2(真)条件3(真)

判定二:

条件1(真)条件2(假)

条件1(假)条件2(真)

四、判定条件覆盖

判定条件覆盖的定义:每个条件中的所有可能取值至少执行一次,同时,每个判定的可能结果至少执行一次。(即判定结果中真假至少执行一次,且每个条件的真假也至少执行一次)

判定结果:真、假

条件1(真)条件2(假)条件3(假)

条件1(假)条件2(真)条件3(真)

五、条件组合覆盖

条件组合覆盖的定义:每个判定中的所有的条件取值组合至少执行一次。

比如有3个条件,那每个条件组合都要执行一次,那就是8条用例:

真真真,真真假,真假真,真假假,假真真,假真假,假假真,假假假

如果有2个条件,那就是4条用例:

真真、真假,假真,假假

五、路径覆盖

路径覆盖的定义:用例覆盖程序中的所有可能的执行路径,如果路径数很多,会变得不切实际。

本例中的路径就只有:AB、AC、AD。

以上为本人对于白盒测试方法的理解,如有错误欢迎指正。

白盒测试方法的简单理解(通俗易懂)相关推荐

  1. Golang中调用“方法”的简单理解

    如果声明函数的时候带有接收者,则意味着声明了一个方法,同时,这个方法会和指定的接收者的类型绑在一起. 如: func (m defaultMatcher) Search(feed *Feed, sea ...

  2. 对TCP和UDP的简单理解——通俗易懂,图文并茂

    前言 tcp协议和udp协议都在传输层工作,他们的目标都是在程序之间传输数据(可是文本,图片,视频)对于tcp和udp都是二进制数. TCP和UDP之间的区别是什么? TCP是基于连接的,而UDP是基 ...

  3. (以pytorch为例)路径(深度)的正则化方法的简单理解-drop path

    文章目录 原理 代码 原理 drop path的原理就是:对于一个输入进来的向量x=(0.4,−0.2)x=(0.4,-0.2)x=(0.4,−0.2)(不妨设),以p的概率随机将xxx所有元素置为0 ...

  4. java阻塞队列作用_简单理解阻塞队列(BlockingQueue)中的take/put方法以及Condition存在的作用...

    简单理解阻塞队列(BlockingQueue)中的take/put方法以及Condition存在的作用 Condition:可以理解成一把锁的一个钥匙,它既可以解锁(通知放行),又可以加锁(阻塞) n ...

  5. 简单粗暴通俗易懂的理解贝塞尔曲线

    在Android开发和面试中(尤其是一些中高级岗位面试),面试官可能会问你自定义控件的详细内容,我们知道自定义控件这一块涉及到的内容很多,回答的越多越深入,那么面试的印象会更好.自定义控件涉及的内容比 ...

  6. 【简单理解】自然语言处理-平滑方法(Smoothing)

    [简单理解]自然语言处理-平滑方法(Smoothing) 简单介绍平滑策略 平滑策略的引入,主要使为了解决语言模型计算过程中出现的零概率问题.零概率问题又会对语言模型中N-gram模型的Perplex ...

  7. 简单理解二进制的左移和右移(通俗易懂)

    左移(<<) 符号表示 : << 简单理解:二进制左移几位就是后面加几个0,前面去掉几位 举例说明: 39左移两位 右移(>>) 符号表示: << 简单 ...

  8. Emscripten 单词_分享15个英语单词记忆方法,简单实用,赶紧收藏吧!

    分享15个英语单词记忆方法,简单实用,赶紧收藏吧! 单词是学习英语的基石,英语程度的好坏,单词是最重要的衡量标准.单词的构成方式其实很简单,就是26个字母的排列组合. 那有什么方法能够让我们更好地把单 ...

  9. 『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?

    软件测试--详解白盒测试基本概念,四种白盒测试方法 一.白盒测试基本概念 1.白盒测试的定义 2.白盒测试的测试对象 3.白盒测试的原则 4.白盒测试的分类 二.静态白盒测试 1.代码检查法 (1)代 ...

最新文章

  1. 小程序商城制作,轻松打造自己的会员系统
  2. Android中Parcelable的原理和使用方法
  3. web---jsp文件乱码的解决办法
  4. python3.6创建exe可执行程序
  5. 小汤学编程之JAVA基础day10——常用类(二):String常用方法、正则、StringBuffer和StringBuilder、Math和Random类、日期类和数字类
  6. matlab没有pso工具箱,MATLAB-PSO工具箱
  7. springboot集成swagger2,构建优雅的Restful API
  8. hadoop框架分析
  9. spring cloud config client refresh过程
  10. Oracle 当前用户给另一个用户授权查询指定表或视图的权,否则另一个用户提示不存在视图或表
  11. android项目中如何导入model
  12. 俄亥俄州立大学计算机专业排名,俄亥俄州立大学计算机科学专业
  13. 宇枫资本你需要了解的三个理财点
  14. 数星星(结构体专题)
  15. HTML canvas 输入文字,关于Canvas写字
  16. 紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法
  17. 基于ZYNQ的数据存储和实时成像系统
  18. kali下经典的ddos攻击软件_Kali-DDoS工具集合
  19. 2023最详细的接口测试用例设计教程
  20. 距离会玩痛点的文案高手,你还差在哪

热门文章

  1. 2014年华为南研所校园招聘---机试+面试
  2. 设计模式学习之假如你是一个建造者(建造者模式)
  3. 加路由时提示Network is unreachable的一种解决方法
  4. Discuz!无法连接阿里云RDS数据库代理问题的处理方案
  5. html document自动加载,document.html
  6. CNN模型之DenseNet总结
  7. 索引的底层实现原理是什么?
  8. 读书笔记《股票作手回忆录》
  9. linux系统vi替换命令,linux:vi 替换命令
  10. Google Map API 使用总结