白盒测试中几种逻辑覆盖法及其优缺点

语句覆盖法:

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105633019

定义:设计若干个测试用例,使被测试程序中的每条可执行语句至少执行一次。比如说我们测试用例里面有10个语句,那么这10个语句都要被测试到。
优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式 ;
缺点:种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。例如在判断中把&&错误的写成了||,测试用例仍可以覆盖所有的执行语句。 一般认为“语句覆盖”是很不充分的一种标准,是最弱的逻辑覆盖准则。

判定覆盖法:

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105641120

定义:判定覆盖是设计足够多的测试用例,使得程序中的每一个条件判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。
优点:判定覆盖具有比语句覆盖更强的测试能力,同样也无须细分每条判定表达式。
缺点:判定覆盖能够满足条件的要求,但是不能对判断条件进行检查。

条件覆盖法:

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105653347

定义:设计测试用例,使得判定中的每个条件至少有一次取得真值,一次取得假值。所以,不仅程序中的每个语句至少被执行一次,而且使每个判定表达式中的每个条件都取到各种可能的结果。
优点:条件覆盖比判定覆盖增加了对判定中所有条件的测试,对于条件来说更加全面
缺点:但条件覆盖并不能完全保证判定覆盖。要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

判定/条件覆盖法:

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105656204

定义:设计足够多的测试用例,使被测程序中每个判定的每个条件的所有可能取值(真假)至少执行一次,并且每个判定的所有可能(真假)分支也至少执行一次 。通俗来讲,就是条件和判定覆盖的升华!
优点:判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。
缺点:判定/条件覆盖准则的缺点是未考虑条件的逻辑情况,对条件的依赖性很大,如果条件错了,也无法判定出来。

条件组合覆盖法:

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

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105679336

定义:设计足够多的测试用例,使被测程序中每个判定的所有可能的条件取值组合至少执行一次。
优点:多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。
缺点:
1.线性地增加了测试用例的数量。
2 可能不会覆盖所有的路径,例如上图的abdf路径就没有执行。

路径覆盖法:

详述:

https://blog.csdn.net/hanhanwanghaha/article/details/105680025

定义:运行所测程序,要覆盖程序中所有可能的路径。
优点:这种测试方法可以对程序进行彻底的测试路径覆盖面比前面五种都广。
缺点:由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些情况下,一些执行路径是不可能被执行的。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java如何连接mysql数据库详解(代码)

工具: https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) eclipseMysqlMysql驱动链接:…

docker 笔记

---恢复内容开始--- 安装 win10专业版 开启Hyper-V 安装docker 下载地址:https://store.docker.com/editions/community/docker-ce-desktop-windows vs2017 直接添加 项目docker docker stop zeekodb //停止这个容器 docker start zeekodb //运行这个容器 首先你要…

如何利用java对mysql数据库进行增删改查

java-mysql前提:增:删:改:查:前提: 首先要对java与数据库进行连接哦! 连接步骤 https://blog.csdn.net/hanhanwanghaha/article/details/105716885 代码如下: 增: Test//数据插入…

Python下载、安装及其配置

python下载:安装:配置环境变量:下载: 网址:https://www.python.org/downloads/windows/ 点击Download Windows x86-64 executable installer,下载到你觉得合适的地方下。 https://blog.csdn.net/hanhanwanghaha宝藏…

Pycharm社区版下载及安装教程

下载: 下载地址:https://www.jetbrains.com/pycharm/download/#sectionwindows 安装: 打开你下载的路径,双击.exe文件,点击运行 默认点击next之后,选择路径,尽量不要选择在C盘,然后…

DATA SHARING Help JetBrains improve its products by sending anonymous data about features and plugin

当在使用Pycharm时,出现 中文翻译过来的意思是: 帮助JetBrains改进其产品,发送有关所用功能和插件、硬件和软件配置、文件类型统计信息、每个项目的文件数等的匿名数据。 请注意,这不包括个人数据或任何敏感信息,如…

原生Ajax请求

var Ajax{get: function(url, fn) {// XMLHttpRequest对象用于在后台与服务器交换数据var xhr new XMLHttpRequest();xhr.open(GET, url, true);xhr.onreadystatechange function() {// readyState 4说明请求已完成if (xhr.readyState 4 && xhr.status 200 || xhr…

怎样使用Pycharm(Python工具)新建项目及创建Python文件

创建项目 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 首先打开Pycharm 勾选I confirm that I have rea…

以Python为例对变量类型及运算符进行举例

变量的定义: 在 python 中,每个变量在使用前都必须赋值 eg:变量名储存在变量中的值 变量定义完成后,接下来就是使用变量,为变量赋值。 注:在Python中不需要注明变量是什么类型,在python运行的时候它会自动判别是什么类型&#x…

Python的if条件语句(常用)当为多个判定条件时

基本形式: if 判断条件: 执行语句 else 执行语句: 当判断条件为多个值时,采取以下形式: if 判断条件1: 执行语句1 elif判断条件2: 执行语句2 elif 判断条件3: 执行语句3 …… els…

[Swift]LeetCode1153. 字符串转化 | String Transforms Into Another String

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:为敢(WeiGanTechnologies)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址&am…

while循环在Python中的应用举例 及其break continue的使用

while循环定义: https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明&a…

PTT BBS-- 软件人的心路历程分享 (补习计算机、学习写程序、出书、出国、求职...这位前辈都经历过了)...

这是我的文章备份,原文请看:PTT BBS-- 软件人的心路历程分享 (补习计算机、学习写程序、出书、出国、求职...这位前辈都经历过了) http://www.dotblogs.com.tw/mis2000lab/archive/2012/12/12/85599.aspx 资料来源:P…

在Python当中如何打印输出当前时间(代码)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 代码: import time print(time.strftime(%Y-%…

Pycharm怎么改背景颜色(超详细)

1.首先打开Pycharm,点击file(文件),在点击settings(设置) 点击Editor(编辑器),点击Color Scheme(色彩方案),再点击Console Colors(控制台颜色) 打…

java 10大常见异常

1. java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中&#xf…

Python中字符串如何定义简单举例

详细代码: #codingutf-8#定义一个单行字符串用"" 或者 注:是用英文输入 String "这街上太拥挤" String1 "太多人有秘密"#定义一个多行字符串用""" """ 或者 注明:是用英文输入 Stri…

ireport 无法打开问题

打开时闪退 ,是因为jdk版本过高的原因:https://blog.csdn.net/aust_glj/article/details/52291240 相关软件下载地址: JasperReports Library 下载地址:https://community.jaspersoft.com/community-download iReport Designer 下载地址:https://communi…

Python转义字符及举例(常见)代码解释

常见转移字符表 转义字符说明\ (在行尾时)续行符\ \反斜杠符号“\”\ ’单引号\ "双引号\n换行\v纵向制表符\t横向制表符\r回车\f换页 举例: \’-单引号 代码: #codingutf-8string I ll be a good person print(string)我们输入string ‘I’l…

C# Http请求接口数据的两种方式Get and Post

面向接口编程是一种设计思想,无论用什么语言都少不了面向接口开发思想,在软件开发过程中,常常要调用接口,接下来就是介绍C#调用其它开发商提供的接口进行获取数据,http接口方式获取接口数据。 Get请求数据:…