白盒测试技术—逻辑覆盖方法

逻辑覆盖测试,又称,对判定的测试

1.逻辑覆盖基本测试原则

  • 对程序中所有的逻辑值均需要测试真值和假值的情况

注:图片中应该是程序流程图,而不是控制流图

1.1语句覆盖

  • 设计测试用例时,需要保证程序中每一条可执行语句至少应执行一次。

  • 实质上就是,满足控制流图中的点覆盖(即:访问程序中所有节点)

  • 语句覆盖的弊端

    • 关注语句,而非关注判定节点
    • 对隐式分支无效
    • 对策:优选测试数据
    • 更强的覆盖标准:判定覆盖

    语句覆盖是最弱的一种覆盖标准,它主要存在两方面弊端。

1.2判定覆盖

  • 判定覆盖也称为分支覆盖;
  • 设计测试用例时,应保证程序中每个判定节点取得每种可能结果至少一次。
  • 判定覆盖相当于对控制流图进行边覆盖。

  • 需同时执行L13L24,或者同时执行L14L23

  • 判定覆盖的局限性

1.3条件覆盖

  • 设计测试用例时,应保证程序中每个复合判定表达式中,每个简单判定条件的取真和取假情况至少执行一次。
  • 条件覆盖并不能确保满足判定覆盖
  • 相比于判定覆盖,条件覆盖虽然进一步深入检查了判定节点中的每个子条件,但判定节点局部的完全覆盖并不能保证对判定节点整体的完全覆盖

1.4判定/条件覆盖

  • 测试用例设计应满足判定节点的取真、取假分支至少执行一次,且每个简单判定条件的取真和取假情况也至少执行一次,即判定覆盖+条件覆盖。
  • 将程序中的所有复合判定表达式拆分为简单节点,消除复合表达式中的“与”、“或”关系,此时,判定/条件覆盖就等同于判定覆盖了。
  • 设计测试用例的难度大

1.5 条件组合覆盖

  • 测试用例的设计应满足每个判定节点中,所有简单判定条件的所有可能的取值组合情况应至少执行一次。
  • 考虑判定条件之间是否存在关联性

两个判定节点构成串联关系,判定节点的整体取值存在多种组合情况,如果也需要完全覆盖到,则应将所有子条件的取值放在一起考虑。例子所示:应有16种。

这里,判定条件存在关联,故有些测试用例组合不存在!!!

  • 优势:方法简单;只需要找到所有简单条件,并列出真值表,穷尽所有组合情况即可。
  • 弊端:测试用例太多,冗余严重。

总结:已有的覆盖指标

  • 语句覆盖太弱;
  • 判定覆盖和条件覆盖不够全面;
  • 判定/条件覆盖设计难度大;
  • 条件组合覆盖的测试用例数量太多;

1.6修正的判定/条件覆盖指标

  • 通过引入判定条件的独立影响来克服以上不足。
  • 该覆盖指标被广泛应用于国防和航空航天领域。

基本思想:在满足判定/条件覆盖的基础上,每个简单判定条件都应独立地影响到整个判定表达式的取值。

实质:利用简单判定条件的独立影响性来消除测试用例的冗余。

什么是独立影响性

为了消除冗余,我们分别考察条件A和条件B对整个判定节点的独立影响性。

若条件A取真值,则结果为真;

若条件A取假值,则结果为假。

对于本例与关系来说,若条件B取假值,则条件A的取值对整个判定表达式的结果不产生任何影响。

具体措施:抽取能体现所有简单判定条件独立影响性的最少独立影响对。

无法处理耦合的判定条件,例如:year这个变量,同时存在于两个子条件中,则无法使用这种方法,满足修正的判定条件覆盖。

1.7对判定的测试小结

-

前三种,使用最为广泛

白盒测试技术—逻辑覆盖方法相关推荐

  1. 白盒测试——静态测试/逻辑覆盖/基本路径测试

    一.实验目的 能够掌握白盒测试的静态测试.逻辑覆盖(语句覆盖.判定覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖.路径覆盖).基本路径测试原理 能够运静态白盒测试.逻辑覆盖(语句覆盖.判定覆盖.条件覆盖 ...

  2. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点

    详述白盒测试的逻辑覆盖的路径覆盖及其优缺点 定义: 与其他覆盖的关系: 路径覆盖率: 测试用例: 优缺点: 定义: https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢 ...

  3. 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点

    条件覆盖 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点: 条件覆盖的定义: 与判定覆盖的区别: 条件覆盖率: 测试实例: 代码: 优缺点: 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点: https:// ...

  4. 详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 详述白盒测试的逻辑 ...

  5. 白盒测试之逻辑覆盖准则

    白盒测试之逻辑覆盖准则 逻辑覆盖准则 需要测试的逻辑结构图(源程序) 语句覆盖准则 判定覆盖准则 条件覆盖准则 判定/条件覆盖准则 多重条件覆盖准则 逻辑覆盖准则 白盒测试关注的目标是测试用例执行的程 ...

  6. 软件测试-白盒测试:逻辑覆盖

    逻辑覆盖 参考文献: 软件测试第4章白盒测试一 软件测试--白盒测试 白盒测试-覆盖测试(六种覆盖方法) 几种常用的逻辑覆盖测试方法 目的:结构测试是依据被测程序的逻辑结构设计测试用例,驱动被测程序运 ...

  7. 白盒测试之逻辑覆盖---软考

    白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要. 白盒测试常用的技术是逻辑覆盖.循环覆盖和基本路径测试. 本次,小编为大家介绍逻辑覆 ...

  8. 详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点

    条件判定覆盖的定义: 设计足够多的测试用例,使被测程序中每个判定的每个条件的所有可能取值(真假)至少执行一次,并且每个判定的所有可能(真假)分支也至少执行一次 .通俗来讲,就是条件和判定覆盖的升华! ...

  9. 详解软件测试中白盒测试基本概念及四种白盒测试方法以及六种逻辑覆盖法(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)

    在这篇文章中,我们将讲解白盒测试的基本概念,以及四大常用的白盒测试方法. 一.白盒测试基本概念 1.白盒测试的定义 白盒测试又称为结构测试或逻辑驱动测试,它是把测试对象看成一个透明的盒子,它允许测试人 ...

  10. 白盒测试方法之逻辑覆盖

    单元测试基本 是指对软件中的最小可测试单元进行检查和验证.单元测试是软件测试中最基础的测试,集成测试.功能测试和系统测试都建立在单元测试之上.单元测试的对象是构成软件产品或系统的最小的独立单元,如封装 ...

最新文章

  1. MySQL数据库介绍、安装(服务端软件安装、客户端软件安装(图形化界面客户端和命令行客户端))
  2. TeeChart for .NET常用属性总结
  3. 《穿越计算机的迷雾》读书笔记二
  4. 数据科学与python语言——Matplotlib数据可视化基础
  5. 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...
  6. 开发无框架单页面应用 — 老码农的祖传秘方
  7. 为什么饿着饿着就不饿了
  8. [译] 用 Swift 创建自定义的键盘
  9. BZOJ1768 : [Ceoi2009]logs
  10. 巧用EasyRecovery监控硬盘 为你的电脑保驾护航
  11. Ajax与Comet
  12. 高性能服务框架-Dubbo实战教程,看这一篇就够了
  13. Android Studio开发引入Speex
  14. Minimax博弈算法设计井字棋AI(Golang)
  15. PR/PS/AE/达芬奇免费模板素材网站分享——个人纯分享,没有公众号,没有广告!
  16. 112A.Petya and Strings
  17. WEB前端打印使用记录
  18. 仿微信表情输入键盘(支持 Gif 表情图文混排 )
  19. 求一元多项式pn(x)=a(i)x^i(i~n的和)的值pn(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为a(i)(i=0,1,.
  20. 云之讯java短信验证码真小白教程

热门文章

  1. 常见问题之Golang——verifying github.com/go-playground/assert/v2@v2.0.1/go.mod: checksum mismatch错误...
  2. 国家各个政府机构网站
  3. java提取jks文件提取私钥_如何从JKS文件中取出PEM格式证书
  4. MD5简介与代码实现
  5. HDU 2567 寻梦
  6. win10服务器系统要设置要密码是什么,云服务器win10系统初始密码
  7. html5临时保存与永久保存,5种方法永久保存网页内容
  8. Linux普通用户执行root权限脚本且没有读写权限
  9. cfg文件怎么改回计算机程序,我把一个拓展名为cfg文件用word打开后,凡是cfg的文件图标都变成了word,肿么改回去?...
  10. SpringCloud蓝绿发布