软件设计师--判定覆盖,判定条件覆盖,条件组合覆盖--一个栗子

针对上图的一个判断条件,在这里将分别讨论判定覆盖、判定条件覆盖、条件组合覆盖的情况:

设T1=A>3,T2=B>3;为该判定节点的两个子条件。

(一)判定覆盖:

    所谓的判定覆盖就是让判定的真分支和假分支各执行一次,只要列出的子条件能够满足真假分支各一次就可以了:

例如: A=4,B=3(T1=True,T2=False)走了真分支,A=3,B=3(T1=False,T2=False)走了假分支。

    当然,能走真假分支都走的条件组合还有很多种,这里随便选一种就可以了。

(二)判定条件覆盖(条件覆盖):

    所谓判定条件覆盖就是给出的条件组合里面每个子条件的真、假都出现过,也就是T1(True,False),T2(True,False)都出现过。现在如果我们拿过问题(一)的条件组合,那么得到的就是:

     A=4,B=3(T1=True,T2=False)

    A=3,B=3(T1=False,T2=False)

发现T1(True,False)都有了,T2(__,False)只有False,没有出现True,所以随便补充一个T2=True的条件组合就可以了:

    A=3,B=4(T1=False,T2=True)

    这样就满足判定条件覆盖了,当然,如果不在问题(一)的基础上扩展的话,可以用判定条件覆盖的最暴力的方式给出答案:

     A=4,B=4(T1=True,T2=True)

    A=3,B=3(T1=False,T2=False)

这样就满足了判定条件覆盖。

(三)条件组合覆盖:

    所谓的条件组合覆盖,就是一个判定的所有子条件的组合情况都出现一次。一般使用列表法,把子条件的所有组合情况都列出来,然后填表:

 

T1T2红色是从问题AB
TRUETRUE(二)继承的55
FALSEFALSE------33
TRUEFALSE绿色是补充的43
FALSETRUE--------34

 

    在表格中的A B组合就满足了条件组合覆盖,可见条件组合覆盖是包含着判定条件覆盖的,而判定条件覆盖不一定包含判定覆盖。

 

    注:本例中给出的测试用例严格来讲都是错误的,因为一个完整的测试用例,还要给出结果,这里只是为了说明问题,程序是截块的,所以就只给了输入,没有给输出。

 

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

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

相关文章

python3 多继承搜索__init__方法的两种策略

继承情形一:测试代码如下: class A(object):def __init__(self):print(A)class B(object):def __init__(self):print(B)class C(A):def __init__(self):print(C)class D(B): def __init__(self):print(D)class E(C, D):pass执行当前代码 xE()&#xff0c…

Unity Shader 屏幕后效果——Bloom外发光

Bloom的原理很简单,主要是提取渲染图像中的亮部区域,并对亮部区域进行模糊处理,再与原始图像混合而成。 一般对亮部进行模糊处理的部分采用高斯模糊,关于高斯模糊,详见之前的另一篇博客: https://www.cnblo…

不要假装努力,结果不会陪你演戏!

转载于:https://www.cnblogs.com/strive-19970713/p/11171205.html

机器学习基石-作业二-第10题分析

题目如上图所示,答案是:;在网上看到的答案中有一个很好的解释就是说在一个n纬的欧几里德空间里,分别按照参数做一个垂直于每个轴的超平面,这些超平面能够打散这么多个点。首先我承认这个事实,具体的证明还没…

机器学习基石作业二中的DECISION_STUMP实现

概要:在林老的题目描述中,DECISION_STUMP(其实就是“决策桩”,也就是只有一层的决策树)。题目中提到了的选去是把属性(一维的)按照从小到大的顺序排列以后取两个挨着的值的平均值,网…

【MM系列】SAP 关于更改物料的价格控制类型

公众号:SAP Technical本文作者:matinal原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:【MM系列】SAP 关于更改物料的价格控制类型前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适…

机器学习基石-作业三-第2题分析以及通过H证明EIN的讨论

题目: 这是机器学习基石作业三种的第二小题,额,在网上看了很多解答(解答也不多)感觉都没有说清楚为什么,所以励志清楚滴解决一下这个问题,经过努力,自认为得到了详细的解答&#xff…

Nginx的平滑升级记录---适用于编译安装的Nginx

一、查看自己的Nginx的版本号 [rootlocalhost sbin]# cd /usr/local/nginx/sbin/ [rootlocalhost sbin]# ls nginx [rootlocalhost sbin]# ./nginx -V nginx version: nginx/1.15.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) configure arguments: 二、确定自己要…

02(c)多元无约束优化问题-牛顿法

此部分内容接《02(a)多元无约束优化问题》! 第二类:牛顿法(Newton method) \[f({{\mathbf{x}}_{k}}\mathbf{\delta })\text{ }\approx \text{ }f({{\mathbf{x}}_{k}}){{\nabla }^{T}}f({{\mathbf{x}}_{k}})\cdot \mathbf{\delta }\frac{1}{2}{{\mathbf{\…

推荐系统浅浅的例子

对于推荐系统,有很多的很强大的算法。这里作为练习,只介绍基本的协同过滤算法(userbased)和FM(通过梯度下降的角度,还可以通过交替优化的角度来看)。 这里的例子是在七月算法的视频中看的&#…

TPL Dataflow .Net 数据流组件,了解一下?

回顾上文 作为单体程序,依赖的第三方服务虽不多,但是2C的程序还是有不少内容可讲; 作为一个常规互联网系统,无外乎就是接受请求、处理请求,输出响应。 由于业务渐渐增长,数据处理的过程会越来越复杂和冗长&…

推荐系统实例

协同过滤与隐语义模型 在机器学习问题中,我们见到的数据集通常是如下的格式: input target ... ... ,一个输入向量的集合以及对应的数据集合,就是我们想要去预测的值。 对于…

【转】深入理解JavaScript闭包(closure)

文章来源:http://www.felixwoo.com/archives/247 最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Java…

从头开始建立神经网络翻译及扩展

目录翻译从头开始建立神经网络-简介导包和配置生成一个数据集实现用来展示决策边界的辅助函数Logistic Regression训练一个神经网络我们的神经网络如何进行预测学习神经网络的参数实现神经网络训练一个隐层有3个神经元的神经网络验证隐层神经元个数对神经网络的影响练习练习题解…

对比 C++ 和 Python,谈谈指针与引用

花下猫语:本文是学习群内 樱雨楼 小姐姐的投稿。之前已发布过她的一篇作品《当谈论迭代器时,我谈些什么?》,大受好评。本文依然是对比 C 与 Python,来探讨编程语言中极其重要的概念。祝大家读有所获,学有所…

《吴恩达深度学习》第一课第四周任意层的神经网络实现及BUG处理

目录一、实现1、吴恩达提供的工具函数sigmoidsigmoid求导relurelu求导2、实现代码导包和配置初始化参数前向运算计算损失后向运算更新参数组装模型3、问题及思考一、实现 1、吴恩达提供的工具函数 这几个函数这里只是展示一下,这是吴恩达写好的工具类,…

球形坐标和Cartesian 坐标的转换 spherical coordinate

spherical coordinate 和cartesian坐标的转换, 个人认为在控制camera的时候最为有用,比如CS中的操作方式, 鼠标负责方向的改变,其恰恰就是球形坐标的改变。而camera的位置改变就是cartesian的改变,所以这两者的转换就必…

【HANA系列】SAP HANA Studio出现Fetching Children...问题

公众号:SAP Technical本文作者:matinal原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:【ABAP系列】SAP HANA Studio出现"Fetching Children..."问题前言部分 大家可以关注我的公众号,公众号里的排版…