判定覆盖也被成为分支覆盖(Branch Coverage)是设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。使设计的测试用例保证程序中每个判断的每个取值分支(ture or false)至少经历一次。

使用此准则测试小程序,只需要涵盖路径ace和abd,或涵盖路径acd和abe,就可以使得两个判定为“真”和为“假”的分支都执行一次。如果选择后一种情况,生成的用例及其遍历的路径如下:

用例1:A=3,B=0,X=3 acd

执行用例1 ,判定(A > 1 and B == 0)为真 ,执行X = X / A ,X =3/3=1;
判定(A == 2 or X > 1)为假,不执行X = X + 1 ; 覆盖路径acd,序结束

用例2:A=2,B=1,X=1 abe

执行用例2 ,判定(A > 1 and B == 0)为假,不执行X = X / A ;
判定(A == 2 or X > 1)为真,执行X = X + 1,x=1+1=2 ; 覆盖路径abe,程序结束

我们仅有50%的可能性遍历到X值未发生改变的路径,即,只有我们选择涵盖路径ace和abd的情况,而不是涵盖路径acd和abe时。对应的测试用例如下:

用例1:A=2,B=0,X=2 ace

执行用例1 ,判定(A > 1 and B == 0)为真 ,执行X = X / A ,X =2/2=1;
判定(A == 2 or X > 1)为真,执行X = X + 1 ,x=2+1=3; 覆盖路径ace,程序结束

用例2:A=3,B=1,X=1 abd

执行用例1 ,判定(A > 1 and B == 0)为假 ,不执行X = X / A ;
判定(A == 2 or X > 1)为假,不执行X = X + 1 ; 覆盖路径abd,程序结束

【优点】:分支(判定)覆盖具有比语句覆盖更强的测试能力。同样分支(判定)覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。

【缺点】:往往大部分的分支(判定)语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。

白盒测试 | 用例设计方法之判定覆盖相关推荐

  1. 白盒测试 | 用例设计方法之语句覆盖

    语句覆盖,顾名思义就是针对代码语句的嘛.它的含义是我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次.通常语句覆盖被认为是"最弱的覆盖",原因是它仅仅考虑对代码中的执行语 ...

  2. 白盒测试 | 用例设计方法之条件覆盖

    条件覆盖,程序各判定中的每个条件获得各种可能的取值至少满足一次即可,不考虑路径的覆盖. 上图中有两个判定表达式,每个判定表达式中有两个条件,为了做到条件覆盖,第一个判断的所有条件的可能取值情况是A&g ...

  3. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  4. 软件测试方法——黑盒测试九大用例设计方法

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持! 导读:面试和工作必备的九大黑盒软件测试方法. 目 ...

  5. 用例设计方法及其覆盖率

    用例设计方法及其覆盖率 ---<软件测试:一个软件工艺师的方法>读书笔记 2018-01-27 1 基本概念 错误(error):同义词过失(mistake),编程时的错误成为bug. 故 ...

  6. 年月日软件测试用例的设计,实验三日期题白盒测试用例设计.doc

    实验三日期题白盒测试用例设计 日期问题白盒测试用例的设计(实验时间2012.3.21) 一.实验目的 1.熟练掌握如何运用基路径测试方法进行测试用例设计. 二.实验内容 1.题目 前一日函数PreDa ...

  7. 软件测试 | 等价类用例设计方法及演示

    常见的用例设计方法包括:等价类.边界值.因果图.判定表.状态迁移.场景分析法.正交实验法.下面是等价类用例设计方法. 1为什么需要使用等价类方法 如果我们输入的数据是一个很大范围数据时,我们测试时会出 ...

  8. 软件质量保证与测试技术实验报告(一)白盒测试用例设计

    1.实验名称--白盒测试用例设计 2.实验目的 (1)能够利用白盒测试方法对程序进行测试. (2)会用各种逻辑覆盖法设计测试用例. (3)会用基本路径测试法设计测试用例. 3.实验内容 题目1:使用语 ...

  9. 软件测试流程及主要用例设计方法

    软件测试流程及主要用例设计方法 测试新手人门,首先要掌握测试的流程和实际运作项目流程和基础的用例设计方法. 掌握测试和项目流程是了解研发过程中测试的主要工作:掌握最主要的用例设计方法就是掌握测试岗位最 ...

最新文章

  1. 如何添加显示桌面图标置于快速启动栏
  2. Nuxt项目中使用axios
  3. Mysql捕捉(网站)应用执行的语句
  4. CSDN、博客园等6大技术博客平台的写作体验测评
  5. Ubuntu无法正常输入英文单引号符号 + 误删除package导致系统设置异常(解决方案)...
  6. 【语义分割】PSPNet:Pyramid Scene Parsing Network
  7. leetcode LCP 19. 秋叶收藏集(dp)
  8. 保险条款精解(三) 撞车
  9. 364 页 PyTorch 版《动手学深度学习》分享(全中文,支持 Jupyter 运行)
  10. 【操作系统】输入输出系统(中)-思维导图
  11. wcdma码片速率_WCDMA中的码片速率,符号速率,信息速率(bit rate)之间的关系
  12. List集合之CopyOnWriteArrayList
  13. matlab导入arcgis中国边界图,【干货】ArcGIS提取影像边界的几种方法
  14. excel 组合框控件使用方法
  15. ios视频实现H264硬编码和软编码编译ffmpeg库及环境搭建(附完整demo)
  16. 优秀的程序员应该具备哪些素质
  17. STM32通过IIC读取MPU6050原始数据过程详解
  18. 差分运算放大器的计算
  19. 网站关键词优化怎么做的(seo如何挖掘关键词)
  20. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...

热门文章

  1. mysql sql in or 替换_sql IN 的用法一例--替换 mysql longtext字段中某些内容的用法
  2. Gensee移动SDK之(一)结构组成
  3. 华为java 优招面试题_2017华为优招笔试题
  4. Guava常用工具类的使用
  5. mac 黑窗口连接mysql_mac上终端起动MySQL的方法
  6. (DFS)棋盘问题(poj1321)
  7. python人脸识别程序如何嵌入到app_只用Python就能写安卓,简单几步实现人脸识别的App...
  8. python序列类型举例说明_Python(第八课,序列类型)
  9. hashmap containsvalue时间复杂度_不看看HashMap源码,怎么和面试官谈薪资
  10. pandas python groupby_python – 如何使用pandas groupby汇总多个列?