Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)

条件覆盖

设计测试用例,使每个判断中每个条件的可能取值至少满足一次。

条件判定覆盖

通过设计足够的测试用例,满足如下条件:

所有条件的可能至少执行一次的取值

所有判断的可能结果至少执行一次

条件判定覆盖同时满足判定覆盖和条件覆盖

案例描述

Java 代码段如下所示,请使用白盒测试的、辑覆盖方法为其设计测试用例。

if 〈 a > 1 b = 0 ){

x = x/a

};

if(a == 2 || x > 1) {

x = x + 1

};

两个判定中有四个条件,每个条件均可取真假两种值:

若要实现条件覆盖,应使以下 8 种结果成立:

a > 1 a <= 1 b == 0 b != 0 【在P1点出现】

a ==2 a != 2 x > 1 x <= 1 【在P3点出现】

为了覆盖以上 8 种可能,可设计如下两组测试用例:实现了条件覆盖,也实现了判定覆盖。

这不是绝对的,在某种条件下,可能出现实现了条件覆盖而未实现判定覆盖的情形。

这两组测试用例均使流程图中的第二个判定取值为真,而未覆盖到第二个判定取值为假的情况,没有实现了判定覆盖。

条件覆盖比判定覆盖增加了综合判定的测试,增加了测试路径,要达到条件覆盖要足够多的测试用例。但条件覆盖并不保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

既然条件覆盖也不一定包含判定覆盖,就自然会提出一种能同时满足两种覆盖标准的逻辑覆盖。这就是条件判定覆盖,条件判定覆盖测试用例如下所示:

两种测试用例就是先前为实现条件覆盖而设计的第一种测试用例,他同时满足了判定覆盖准则和条件覆盖准则,弥补了两者的不足。

=========================================================================

有点乱有点乱,回头再来消化一遍罢!

相关推荐
tellmewhoisi30 分钟前
深度学习8:神经网络学习5:随机梯度下降法(基本概念,基本原理)
深度学习·神经网络·学习
Canmag 兴隆磁性9 小时前
中大型钕铁硼产品的磁通测量与自动分选:一条产线自动化的工程实现思路
运维·学习·自动化·永磁材料
小黄人软件12 小时前
桌面需要整理吗?有工具自动分类
学习
老衲不用@飘柔12 小时前
SFP与SFP+学习知识整理
学习
X54先生(人文科技)13 小时前
社会嵌入式终身学习机器与修复时代-ELR架构和技术演化探讨
人工智能·深度学习·学习·架构·开源协议
电子云与长程纠缠13 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
syagain_zsx13 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼14 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
我命由我1234514 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
kkkkkkkkkk_Z15 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习