精华内容
下载资源
问答
  • 分别是判定覆盖(DC),条件覆盖(CC),判定-条件覆盖(CDC),条件组合覆盖(MCC)和修改条件/判定覆盖(MC/DC)。

    判定覆盖法 Decision Coverage (DC)

    判定覆盖法的基本思想:
    设计若干测试用例,运行被测程序,使得程序中每个判断的取真和取假分支至少经历一次,即判断的真假值都至少被满足一次。
    由于一个判定代表程序一个分支,因而判定覆盖也被成为分支覆盖。
    问题在于:T and T = T , T or T =T. F and F = F , F or F =F. 对于一个双条件判定而言,如果采用(T,T)和(F,F)去测试,那么程序中的and换成or,或者or换成and的错误是发现不了的。
    满足判定覆盖一定满足语句覆盖(每个可执行的语句至少执行一次)

    条件覆盖 Condition Coverage (CC)

    条件覆盖比判定覆盖的粒度更小,它要求使得程序中每个判断的每个条件的所有可能取值至少被满足一次。
    满足条件覆盖不一定满足判定覆盖。这就引出了判定-条件覆盖。

    判定-条件覆盖 Condition-Decision Coverage

    判定-条件覆盖是需要同时满足判定覆盖和条件覆盖的逻辑覆盖法,即所有判断的每个结果和所有条件的所有可能取值至少满足一次。
    问题在于:and 与 or互换的bug还是测不出来。这就引入了条件组合覆盖。

    条件组合覆盖 Multiple Condition Coverage (MCC)

    条件组合覆盖要求:每个判断的真假结果和导致真假结果的所有组合都至少出现一次。
    条件组合覆盖虽然能覆盖前面提到的3种覆盖方式,但还是有可能无法覆盖全部基本路径。
    除了不够充分外,还有浪费的弊端,这就引出了修正的条件/判定覆盖。

    修正的条件/判定覆盖 Modified Condition/Decision Coverage (MC/DC)

    修正的条件/判定覆盖是对条件组合覆盖做的优化。
    它不要求每个判断导致真假结果的所有组合都出现过,而是要求每个条件都独立地影响过判断的结果。

    5种覆盖的关系

    5种覆盖的包含关系为
    在这里插入图片描述

    展开全文
  • 白盒测试的方法

    2012-03-20 13:12:00
    逻辑覆盖法有语句覆盖(SC)、判定覆盖 (DC)、条件覆盖 (CC)、条件判定组合覆盖 (C DC)、多条件覆盖(MCC)、修改条件判定覆盖 (MCDC) 逻辑覆盖测试:是通过对程序逻辑结构的遍历实现程序的覆盖。从覆盖...

    白盒测试的方法很多,有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。逻辑覆盖法有语句覆盖(SC)、判定覆盖 (DC)、条件覆盖 (CC)、条件判定组合覆盖 (C DC)、多条件覆盖(MCC)、修改条件判定覆盖 (MCDC)

     

    逻辑覆盖测试:是通过对程序逻辑结构的遍历实现程序的覆盖。从覆盖源代码的不同程度可以分为以下六个标准:语句覆盖、判定覆盖(又称为分支覆盖)、条件覆盖、判定-条件覆盖(又称为分支-条件覆盖)、条件组合覆盖和路径覆盖。

           先看一下具体例子的源代码(C语言):

    1. /*
    2.  *  白盒测试逻辑覆盖测试范例
    3.  *  作者:
    4.  */
    5. int logicExample(int x, int y)
    6. {
    7.     int magic=0;
    8.     if(x>0 && y>0)
    9.     {
    10.         magic = x+y+10; // 语句块1 
    11.     }
    12.     else
    13.     {
    14.         magic = x+y-10; // 语句块2
    15.     }
    16.     
    17.     if(magic < 0)
    18.     {
    19.         magic = 0;         // 语句块3
    20.     }
    21.     return magic;       // 语句块4
    22. }

    一般做白盒测试不会直接根据源代码,而是根据流程图来设计测试用例和编写测试代码,在没有设计文档时,要根据源代码画出流程图:

     

    做好了上面的准备工作,接下来就开始讲解六个逻辑覆盖标准:

     

    一、语句覆盖

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。在本例中,可执行语句是指语句块1到语句块4中的语句。

    2、测试用例:

    {x=3, y=3}可以执行到语句块1和语句块4,所走的路径:a-b-e-f

    {x=-3, y=0}可以执行到语句块2、语句块3和语句块4,所走的路径:a-c-d-f

    这样,通过两个测试用例即达到了语句覆盖的标准,当然,测试用例(测试用例组)并不是唯一的。

    3、测试的充分性:

    假设第一个判断语句if(x>0 && y>0)中的“&&”被程序员错误地写成了“||”,即if(x>0 || y>0),使用上面设计出来的一组测试用例来进行测试,仍然可以达到100%的语句覆盖,所以语句覆盖无法发现上述的逻辑错误。

    在六种逻辑覆盖标准中,语句覆盖标准是最弱的。

     

     

    二、判断覆盖(分支覆盖)

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。在本例中共有两个判断if(x>0 && y>0)(记为P1)和if(magic < 0)(记为P2)。

    2、测试用例:

     

    数据 P1 P2 路径

    {x=3, y=3}

    T F

    a-b-e-f

    {x=-3, y=0}

    F    T

    a-c-d-f

     

     

    两个判断的取真、假分支都已经被执行过,所以满足了判断覆盖的标准。

    3、测试的充分性:

    假设第一个判断语句if(x>0 && y>0)中的“&&”被程序员错误地写成了“||”,即if(x>0 || y>0),使用上面设计出来的一组测试用例来进行测试,仍然可以达到100%的判定覆盖,所以判定覆盖也无法发现上述的逻辑错误。

    跟语句覆盖相比:由于可执行语句要不就在判定的真分支,要不就在假分支上,所以,只要满足了判定覆盖标准就一定满足语句覆盖标准,反之则不然。因此,判定覆盖比语句覆盖更强。

     

    三、条件覆盖

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。

    也可以描述成:

    设计足够多的测试用例,使得被测试程序中的每个逻辑条件的可能值至少被满足一次。

    在本例中有两个判断if(x>0 && y>0)(记为P1)和if(magic < 0)(记为P2),共计三个条件x>0(记为C1)、y>0(记为C2)和magic<0(记为C3)。

    2、测试用例: 

    数据    C1 C2 C3 P1 P2 路径

    {x=3, y=3}

    T T T T F

    a-b-e-f

    {x=-3, y=0}

    F F F F T

    a-c-d-f

     

    三个条件的各种可能取值都满足了一次,因此,达到了100%条件覆盖的标准。

    3、测试的充分性:

    上面的测试用例同时也到达了100%判定覆盖的标准,但并不能保证达到100%条件覆盖标准的测试用例(组)都能到达100%的判定覆盖标准,看下面的例子:

     

    数据    C1 C2 C3 P1 P2 路径

    {x=3, y=0}

    T F T F F

    a-c-e-f

    {x=-3, y=5}

    F T F F F

    a-c-e-f

     

    既然条件覆盖标准不能100%达到判定覆盖的标准,也就不一定能够达到100%的语句覆盖标准了。

     

    四、判定-条件覆盖(分支-条件覆盖)

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。

    2、测试用例:

     

    数据    C1 C2 C3 P1 P2 路径

    {x=3, y=3}

    T T T T F

    a-b-e-f

    {x=-3, y=0}

    F F F F T

    a-c-d-f

     

    所有条件的可能取值都满足了一次,而且所有的判断本身的判定结果也都满足了一次。

    3、测试的充分性:

    达到100%判定-条件覆盖标准一定能够达到100%条件覆盖、100%判定覆盖和100%语句覆盖。

     

    五、条件组合覆盖

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。

    注意:

    a、条件组合只针对同一个判断语句内存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。

    b、不同的判断语句内的条件取值之间无需组合。

    c、对于单条件的判断语句,只需要满足自己的所有取值即可。

    2、测试用例:

     

    数据 C1 C2 C3 P1 P2 路径

    {x=-3, y=0}

    F F F F F

    a-c-e-f

    {x=-3, y=2}

    F T F F F

    a-c-e-f

    {x=-3, y=0}

    T F F F F

    a-c-e-f

    {x=3, y=3}

    T T T T T

    a-b-d-f

     

    C1和C2处于同一判断语句中,它们的所有取值的组合都被满足了一次。

    3、测试的充分性:

    100%满足条件组合标准一定满足100%条件覆盖标准和100%判定覆盖标准。

    但上面的例子中,只走了两条路径a-c-e-f和a-b-d-f,而本例的程序存在三条路径(a-b-d-f/a-c-d-f/a-c-e-f),还有一条路径是a-b-e-f,是不可能覆盖的路径。

     

     

    六、路径覆盖

    1、概念:

    设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。

    2、测试用例:

     

    数据 C1 C2 C3 P1 P2 路径

    {x=3, y=5}

    T T T T T

    a-b-d-f

    {x=0, y=2}

    F T T F T

    a-c-d-f

    这条路径不可能

             

    a-b-e-f

    {x=-8, y=3}

    F T F F F

    a-c-e-f

     

    所有可能的路径都满足过一次。

    3、测试的充分性:

    由上表可见,100%满足路径覆盖,但并不一定能100%满足条件覆盖(C2只取到了真),但一定能100%满足判定覆盖标准(因为路径就是从判断的某条分支走的)

     

    六种逻辑覆盖的强弱关系:

    在外面很多的教程都认为这六种逻辑覆盖从弱到强的排列顺序是:

    语句覆盖->判定覆盖->条件覆盖->判定-条件覆盖->条件组合覆盖->路径覆盖

    但经过上面的分析,它们之间的关系实际上可以用下图表示:

    而路径覆盖很难在该图表示出来。

     

    转载于:https://www.cnblogs.com/BlogNetSpace/archive/2012/03/20/2225858.html

    展开全文
  • 2、网络设备、安全设备、操作系统、数据库等默认账号的默认口令未修改,使用默认口令进行登录设备,可判定为高风险。3、应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。满足条件...

    751421bbb4be806c58c1e52dea2d6c15.png

    c5f9337d5009b15fefdd2a4a6d5fafa3.gif

    安全环境计算

    1、应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。

    2、网络设备、安全设备、操作系统、数据库等默认账号的默认口令未修改,使用默认口令进行登录设备,可判定为高风险。

    3、应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。

    满足条件(同时):3级及以上系统;重要核心网络设备、安全设备、操作系统、数据库等未开启任何审计功能,无法对重要的用户行为和重要安全事件进行审计;无其他技术手段对重要的用户行为和重要安全事件进行溯源。

    4、网络设备、安全设备、操作系统等存在多余系统服务/默认共享/高危端口等,且存在可被利用的高危漏洞或重大安全隐患,可判定为高风险。

    5、应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞。满足条件(同时):存在可被利用的高风险漏洞;通过验证测试或渗透测试确认该高风险漏洞可能对该设备造成重大安全隐患。

    6、应采用主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。满足条件(任意条件):Windows操作系统未安装杀毒软件;Windows操作系统安装的杀毒软件病毒库五个工作日未更新。(可根据服务器部署环境、行业或系统特性缩短或延长病毒库更新周期)。

    7、应提供重要数据的本地数据备份与恢复功能。满足条件(同时):3级及以上系统;对容灾要求较高的系统(如金融、医疗卫生、社会保障等行业系统);系统无异地数据备份措施,或异地备份机制无法满足业务需要。

    8、应仅采集和保存业务必需的用户个人信息。满足条件(任意条件):在未授权情况下,采取、存储用户个人隐私信息,无论该信息是否是业务需要;采集、保存法律法规、主管部门严令禁止采集、保存的用户隐私信息。

    d567f6fa69ad13d4de068676d779ba35.png

    安全区域边界

    1、应对网络链路、安全设备、网络设备和服务器等的运行状况进行集中监测。

    2、应对分散在各个设备上的审计数据进行收集汇总和集中分析,并保证审计记录的留存时间符合法律法规要求。

    满足条件(同时):3级及以上系统;对网络运行状态、网络安全事件等日志的留存不满足法律法规规定的相关要求(不少于六个月)。

    3、应能对网络中发生的各类安全事件进行识别、报警和分析。

    b1d32bbd57cf5a7acec28aef03e00b26.png

    安全运维管理

    1、应采取必要的措施识别安全漏洞和隐患,对发现的安全漏洞和隐患及时进行修补或评估可能的影响后进行修补。

    满足条件(同时):3级及以上系统;通过漏洞扫描,发现存在可被利用的高风险漏洞;未对相关漏洞进行评估或修补,对系统安全构成重大隐患。

    2、应保证所有与外部的连接均得到授权和批准,应定期检查违反规定无线上网及其他违反网络安全策略的行为。

    3、应根据数据的重要性和数据对系统运行的影响,制定数据的备份策略和恢复策略、备份程序和恢复程序等。满足条件(同时):3级及以上系统;无备份与恢复等相关的安全管理制度,或未按照相关策略落实数据备份。

    4、应制定重要事件的应急预案,包括应急处理流程、系统恢复流程等内容。

    5、应定期对系统相关的人员进行应急预案培训,并进行应急预案的演练。满足条件:3级及以上系统;未定期对系统相关的人员进行应急预案培训;未进行过应急预案的演练。

    afd3510df103e88652ea61e96983cbf3.png

    f471ec196eb15635c6ea0219c591ec0f.png

    声明:本文文字资料来自中关村信息安全测评联盟,版权归作者所有。文章内容仅代表作者独立观点,不代表蔚壹科技立场。如有侵权,请后台留言联系 。

    fd04213179d55fa805717473da675950.png
    展开全文
  • 题目:白盒测试的条件覆盖标准强于判定覆盖(X) tips:原因详见本文     8.小栗子(2) 1.修改字体颜色 <font color=#ff9933>1修改字体颜色呀</font> <font color=#33cc00>2修改...

    CSDN如何修改字体颜色、大小、样式?

    题目:白盒测试的条件覆盖标准强于判定覆盖(X
    tips:原因详见本文     8.小栗子(2)

    1.修改字体颜色

    <font color=#ff9933>1修改字体颜色呀</font>
    <font color=#33cc00>2修改字体颜色哟</font>
    <font color=#ff0033>3修改字体颜色哇</font>
    

    示例:
    1修改字体颜色呀
    2修改字体颜色哟
    3修改字体颜色哇

    2.修改字体大小

    字体哇
    <font ><b>字体耶</b>
    <font ><b>字体耶</b></font>
    <font ><h1>字体呐</h1></font>
    <font size=1>子体1</font>
    <font size=5>子体哦5</font>
    <font size=6>子体哦6</font>
    <font size=7>子体哦7</font>
    
    

    字体哇
    字体耶

    字体呐


    子体1
    子体哦5
    子体哦6
    子体哦7

    3.修改字体样式

    <font face="黑体">我是黑体字勒</font>
    <font face="微软雅黑">我是微软雅黑呢</font>
    <font face="STCAIYUN">我是华文彩云哎</font>
    

    我是黑体字勒
    我是微软雅黑呢
    我是华文彩云哎

    展开全文
  • 介绍了Nelson模型及修改条件/判定覆盖的基本概念,提出用Nelson模型来估计软件模块可靠性,依据修改条件/判定覆盖划分数据输入域。最终依据模块可靠性算出系统可靠性。
  • 逻辑覆盖是以程序内部逻辑为基础的测试技术,常用的逻辑覆盖从低到高分别是:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、判定/条件覆盖(CDC)、条件组合覆盖(MCC)、修正条件/判定覆盖(MCDC)。...
  • 问题:1.1 请给出满足100%DC(判定覆盖)所需的逻辑条件。 问题:1.2 请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。 问题:1.3 请给出问题2中控制流图的线性无关路径。 【说明】 某软件公司为某...
  • . 注释 黄色表示重复或相似 一选择题 1. 软件测试的目的是 B A. 避免软件开发中出现的错误 B. 发现软件中出现的错误 C.... 逻辑覆盖法不包括 C A 分支覆盖 B 语 句覆盖 C 需求覆盖 D 修正条件判定覆盖
  • 一、 1、Linux系统中创建用户、设置密码...6、白盒测试:语句覆盖、条件覆盖、判定覆盖条件-判定覆盖、组合覆盖、路径覆盖​​​​​​​ 二、 1、linux创建用户,改密码,权限设置,什么场景下用过--文件搜索...
  • 软考-测试部分总结

    2020-11-03 21:19:49
    判定覆盖:把所有条件判断的真假分支都覆盖一遍. 条件覆盖:把判定拆分开,把拆分后的子判定的真假分支也进行覆盖. 测试阶段 第一个的冒烟测试只是初步的测试,就像修改完电路后加电看冒不冒烟。 而回归测试测试的...
  • Java单元测试

    2019-05-05 11:17:55
    1 目标 直接目的:是为了提高代码质量,减少自己的代码出现线上bug。 实现思路:覆盖代码实现的路径。保证每条路径都能覆盖到,并且值在预期之内。... 白盒(语句覆盖、判定覆盖条件覆盖、路径覆盖、条
  • 对管理员和用户的登录、修改密码操作采用了多种覆盖测试,如判定覆盖条件组合覆盖测试等。 工作过程对系统质量的评价:主体功能较为简单,密码的判定简单粗暴,代码的设计风格带有个人的思维较多,且能感...
  • 目录for循环的语法for循环的常见问题死循环循环判断为逗号表达式 for循环的语法 语法:for(表达式1; 表达式2; 表达式3){ 循环语句…} 表达式1:初始化部分(初始化也可以...2.数组越界导致条件变量数据被覆盖修改
  • 软件测试规范

    2018-04-23 09:16:12
    判定条件覆盖 ................................................................................................................................ 11 5.条件组合覆盖 .........................................
  • 软件工程复习(2)

    2019-11-06 08:38:55
    当模块中包含复杂的条件组合,只有(判定表和判定树)能够清晰地表达出各种动作之间的对应关系 (基本路径)不属于逻辑覆盖 为适应软件运行环境的变化而修改软件的活动称为(适应性维护) 系统设计基本原理: [1...
  • 单元测试用例设计(基本路径覆盖法)★ (面试) 148 程序控制流图 148 单元测试执行 150 单元测试框架 151 第十八章 集成测试 153 第一阶段总结 155 Test platform 155 Bug的其他说法 155 第二阶段项目笔记 156 一...
  • 软件工程知识点

    2012-12-02 21:34:25
    户的使用意见,对原型不断修改,使它逐步接近,并最终到达开发目标。 4.增量模型 增量模型结合了瀑布模型与原型进化模型的优点。在整体上按照瀑布模型的流程实施开发,以方便对项目的管理。但在软件的实际创建中,...
  • 继承和多态 - 什么是继承 / 继承的语法 / 调用父类方法 / 方法重写 / 类型判定 / 多重继承 / 菱形继承(钻石继承)和C3算法 综合案例 - 工资结算系统 / 图书自动折扣系统 / 自定义分数类 Day10 - 图形用户界面和游戏...
  • AIC的Java课程7-12章

    2007-07-29 20:55:11
     正确使用各种Java运算符,如一元运算符,算术运算符,关系运算符,逻辑运算符,条件运算符和赋值运算符等。  辨别使用if,if…else,switch选择结构执行不同的动作。  辨别使用while,for,do…...
  • 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 7. 需求分析的主要方法有SD法、OOA法及HIPO法等。(×) 8. 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×) 9. 信息建模方法...
  • 知识图谱-语义理解-自然语言处理工具及数据、中文知识图谱:基于百度百科中文页面-抽取三元组信息-构建中文知识图谱、masr: 中文语音识别-提供预训练模型-高识别率、Python音频数据增广库、中文全词覆盖BERT及两份...
  • 3.6.1 利用vi创建和修改文件 46 3.6.2 用head和tail命令移动 47 3.7 文本的提取和排序 48 3.7.1 使用grep匹配模式 48 3.7.2 剪切、粘贴和联结文本 49 3.8 shell脚本 50 3.8.1 shell程序介绍 51 3.8.2...
  • 我们知道符合条件的数据结构就有栈、队列和其它。 <p><strong>2.非线性结构其逻辑特征是一个节点元素可以有多个直接前驱或多个直接后继。 那么,符合条件的数据结构就有图、树和其它。 嗯~了解一下就行...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
热门标签
关键字:

修改条件判定覆盖