定义:
  白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。

白盒测试的目的:
  通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

**白盒测试的方法:**大致分为静态方法和动态方法两大类。

A. 静态分析:
  是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。

B. 动态分析:
  当软件系统在模拟或真实的环境中执行前、过程中和执行后,对其行为分析。它显示了一个系统在检查状态下是否正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

符号说明:

^ 代表逻辑运算符 && 或者 ||
  
  T 代表 True F 代表 False
  
  A / B 代表条件表达式

(1)语句覆盖

使程序中的每个可执行语句都能执行一次的测试用例

测试用例条件: A ^ B = T

(2)判定覆盖(分支覆盖)

对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况
  
测试用例条件:
       A ^ B = T
       A ^ B = F
       

(3)条件覆盖

设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果

测试用例条件:
       A=T     A=F
       B=T     B=F
       

(4)判定条件覆盖(分支条件覆盖)

设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。

测试用例条件:
       A ^ B = T    A ^ B = F
       A=T     A=F
       B=T     B=F

(5)条件组合覆盖

设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次

测试用例条件:
       A= T    B= T
       A= T    B= F
       A= F    B= T
       A= F    B= F

(6)路径覆盖

设计测试用例时,覆盖程序中所有可能的执行路径

优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。

白盒测试----六种覆盖方法相关推荐

  1. 白盒测试中的六种覆盖方法及案例分析

    语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误: 判定覆盖<又叫分支覆盖率>是指选择足够的测试用例,使得运 ...

  2. 白盒测试-覆盖测试(六种覆盖方法)

    白盒测试-覆盖测试(六种覆盖方法) 测试覆盖率 测试覆盖率:用于确定测试所执行到的覆盖项的百分比.其中的覆盖项是指作为测试基础的一个入口或属性,比如语句.分支.条件等.测试覆盖率可以表示出测试的充分性 ...

  3. 白盒测试-六种基本方法

    一.语句覆盖 使程序中的每个可执行语句都能执行一次的测试用例 二.判断覆盖(分支覆盖) 对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况 三.条件覆盖 设计用例时针对 ...

  4. python多个条件组合覆盖_白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...

    ·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 六种覆盖方法 首先为了下文的举例描述方便,这里先给出一张程序流程图.(本文以1995年软件设计师考试的一道考试题目为例,图中红 ...

  5. 白盒测试有哪些方法_QA测试开发常考的面试题+答案汇总(持续更新)

    最近很多朋友都在说今年的互联网行情不好,面试很难,不知道怎么复习,我最近总结了一份在测试开发面试中比较常见的面试题合集,希望对大家有帮助. 本文共 4800 字,预计阅读时间 13 分钟,建议点赞+收 ...

  6. 白盒测试概述及其方法简介

    引言: 白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视.白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试.因为对于不同复 ...

  7. 软件测试基础:黑盒测试,白盒测试及具体方法

    1.      程序的质量主要取决于设计的质量. 2.      测试分为单元测试,集成测试,系统测试. 3.      测试的目标是在既定时间内尽可能多的发现系统中的错误,但是不能证明程序的正确性. ...

  8. 软件测试 白盒测试 语句覆盖 判定覆盖

    前置知识 白盒测试用例设计方法(语句覆盖.判定覆盖.条件覆盖.判定/条件覆盖.组合覆盖.路径覆盖.基本路径覆盖) 语句覆盖:每条语句至少执行一次. 判定覆盖:每个判定的所有可能结果至少出现一次.(又称 ...

  9. 《Hack与HHVM权威指南》——1.5.2 覆盖方法的类型

    本节书摘来自华章出版社<Hack与HHVM权威指南>一书中的第1章,第1.5.2节,作者 Owen Yamauchi,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

最新文章

  1. 服务器信息采集协议,服务器信息采集
  2. Android中实现双击屏幕跳转
  3. 编程菜鸟的日记-初学尝试编程-寻找2到n之间的素数并输出
  4. 为自增(++)自减(--)运算符正名
  5. REBOOT Reload - 可安装在优盘的 Windows 和 DOS 启动盘
  6. python试卷河南理工大学万方科技学院_河南理工大学万方科技学院
  7. cnn stride and padding_经典CNN网络解析
  8. 中国刹车片自动检测系统行业市场供需与战略研究报告
  9. C++ 关于I/O
  10. HBase在新能源汽车监控系统中的应用
  11. java将pdf转换为jpg图片格式
  12. 如何使用Javascript复制到剪贴板
  13. 微信支付宝无现金之争:瞄准用户支付大数据
  14. 2022年奶茶行业发展趋势
  15. python去掉标点、特殊符号_删除URL的Python列表末尾的特殊字符/标点符号
  16. oracle 挖掘日志,使用Oracle的Logminer工具进行日志挖掘
  17. Solidity动态数组汇编开发教程
  18. Gos —— 实现线程和进程
  19. 黑镜狗再现!波士顿动力「大黄狗」上岗SpaceX,勘察火箭爆炸现场
  20. kuberbetes 容器探测(liveness/readiness probes)

热门文章

  1. linux查看python安装路径,版本号
  2. 测试简历投递一定要注意这10点,否则大概率会被刷掉
  3. 每日一诗词 —— 《瓦尔登湖》节选
  4. java中集合转数组中_JAVA中集合转数组遍历
  5. linux中ping命令网络不可达或ping www.baidu.com未知的名称与服务
  6. mysql 数据库还原_MySQL数据库备份和还原的常用命令
  7. 备考ocp_ORACLE专题之网络
  8. Git上传代码到云仓库
  9. 你的公司到底是技术驱动还是业务驱动?如何权衡?
  10. linux卸载erlang