六种覆盖标准发现错误的能力呈由弱到强的变化

  • 语句覆盖:每条语句至少执行一次。
  • 判定覆盖:每个判定的每个分支至少执行一次。 (包含语句覆盖,每个判断T、F各一次)
  • 条件覆盖:每个判定的每个条件应取到各种可能的值。 (包含语句覆盖,每个条件T、F各一次)
  • 判定/条件覆盖:同时满足判定覆盖和条件覆盖。
  • 条件组合覆盖:每个判定中各条件的每一种组合至少出现一次。
  • 路径覆盖:使程序中每一条可能的路径至少执行一次。
'假设有一个待测试的小程序,其Java源代码如下。使用以上白盒测试方法,完成对小程序的测试用例设计。'
public void foo (int a, int b, int x) {if(a>1 && b ==0) {x = x/a;}if (a==2 || x>1) {x = x+1;}
}

语句覆盖

只需要遍历路径ace,便将程序中的所有语句便都执行了一次。生成的用例及其遍历路径如下:

A=2,B=0,X=4 ace

缺点:语句覆盖是“最弱的覆盖”,它难以发现程序中的错误。

①程序中存在一条x的值未发生改变的路径abd没有测试。

②它无法发现判定的错误,比如第一个判定条件也许应该是“或”,而不是“与”。

③无法发现条件的错误,比如第二个判断中的条件X>1,也许事实上应该是X>0。

判定覆盖

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

A=3,B=0,X=3 acd
A=2,B=1,X=1 abe

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

A=2,B=0,X=2 ace
A=3,B=1,X=1 abd

缺点:这两组测试用例都存在同一个问题:当判定由多个条件组合构成时,它未必能发现每个条件的错误。如果第二个判定把条件X>1错误的写成了X<1,我们设计的测试用例仍然无法找出这个错误。

条件覆盖

第一个判断的所有条件的可能取值情况是A>1或A≤1,B=0或B≠0。第二个判断的所有条件可能的取值情况为A=2或A≠2,X>1或X≤1。生成的用例及其遍历的路径如下所示:

A=1,B=0,X=3 abe
A=2,B=1,X=1 abe

缺点条件覆盖并不一定总能覆盖全部分支。测试用例虽然满足了条件覆盖准则,但是只涵盖了程序的路径abe。但是,条件覆盖还是要比判定覆盖强一些,因为条件覆盖可能会使判断中各个条件的结果都取“真”或着取“假”,而判定覆盖却做不到这一点。

白盒测试用例设计方法(语句覆盖、判定覆盖、条件覆盖)相关推荐

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

    判定覆盖也被成为分支覆盖(Branch Coverage)是设计足够多的测试用例,使得程序中的每一个判断至少获得一次"真"和一次"假",即使得程序流程图中的每一 ...

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

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

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

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

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

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

  5. 白盒测试的用例设计方法

    文章目录 1. 白盒测试方法的概念及应用场景 2. 白盒测试方法有哪些 3.使用6种逻辑覆盖法来设计白盒测试用例 3.1. 语句覆盖 3.2. 判定覆盖 3.3. 条件覆盖 3.4. 判定条件覆盖法 ...

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

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

  7. 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖.

    第一题: 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖. [1]语句覆盖(设计若干个测试用例,使程序中的每个可执行语句至少执行一次) (x>3)& ...

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

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

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

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

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

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

最新文章

  1. 有关中断唤醒源的思考
  2. 教你从0到1搭建秒杀系统-缓存与数据库双写一致
  3. LeetCode-有效的字母异位词
  4. filenotfoundexception是什么异常_Java异常处理:给程序罩一层保险
  5. 消息中间件核心实体(1)
  6. 嵌入式软件面试(基础题)总结,不断更新
  7. 虚拟机卡在登录界面卡住了_手机都10核了 为何还是照样卡?
  8. python DataFrame数据分组统计groupby()函数
  9. 三位分节制顺口溜_一位高人写的ISO14001顺口溜,超赞!
  10. 动画:面试官问我 JS「变量提升」我头皮发麻,最后把这篇动画甩给了他
  11. 高职计算机应用与信息检索,信息检索论文,关于高职院校图书馆对学生信息检索的教育相关参考文献资料-免费论文范文...
  12. 开发者工具的暖心提示语
  13. 遇到不同网段互相访问的一些问题的总结
  14. 供应商主数据屏幕增强XK02,XK03
  15. hooks引用useRef,报错object is possibly undefined
  16. NTC测温中 经典温度查表算法--二分查找法
  17. vue init webpack Travel项目初始化失败的解决办法
  18. esp8266 AT指令以及刷固件
  19. JAVA--API中文在线帮助文档【转载】
  20. 专业性项目,品质背景图片素材

热门文章

  1. java多线程那些靠谱的总结
  2. 如何解决浏览器未安装FLASH控件的提示
  3. 电线电缆材料stru结构检测知识大全
  4. Packet Tracer安装包及安装教程(8.0版本)
  5. 【算法竞赛入门经典】习题1-4:正弦和余弦
  6. [Kattis-crisscrosscables] Criss-Cross Cables (贪心+优先队列)
  7. 公众号被封小感:你是否拥有绝地反击的能量?
  8. 【渝粤教育】广东开放大学 企业财务报表分析 形成性考核 (26)
  9. 上帝掷骰子吗?量子物理史话——读书笔记
  10. 在线直播系统搭建的功能包含哪些?