软考考点之Mccabe度量计算及路径覆盖

2023-10-27

McCabell:主要是度量程序的复杂度。

环形复杂度:度量程序的逻辑复杂度。描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。 
(1)流图中的区域数等于环形复杂度。 
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 

这种环路度量法,计算的思路是这样的:它是考虑控制的复杂程度,即条件选择的分支繁杂程度。 

分别用三种方法来计算2道题 
第一题图到了c开始条件判断形成分支D,E;E这里又按条件来判断是否继续到F还是按一个自环做循环然后再到F,然后再回到B 
(1)流图中的区域数等于环形复杂度。 
注意区域块可以看作是按不同条件形成的数据操作分支块,比如橙色块就可以看做满足Z < t那条分支(下面那个图还要满足cond==true)处理的数据操作块,注意了,下面那个图G节点不是有个自环的循环吗?为什么那个循环不自成一块,而节点E的自环就要自成一块呢?你要这样理解:下图的G点不错是有自环,但是这个自环按MCCABE的理解对整个系统的复杂度没影响,其实就是没有形成分支,即数据到了G节点都要做循环,也就是说下图的G节点搞个自环是来干扰大家的,完全可以把它简化成上面图的G点。而E节点的自环注意有个条件P<=5,也就是说这个自环是条件判断的结果,也就是说对复杂度有影响所以不能忽略,假如这里把条件P<=5去掉,也就是说到了E节点先不管三七二十一先来做个循环再去判断然后再去到F的话那E点的自环也应该忽略。 
所以按区域划分:上图3块,下图4块。复杂度分别是:3,4 
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 
有了前面的分析,现在就好做了: 
上图:8-7+2=3 
下图:9-7+2=4(注意E不是10,因为G节点的自环弧线要忽略掉) 
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 
判断节点: 
上图:C,E,2个点,复杂度2+1=3 
下图:CED,3个点,复杂度3+1=4

如2016年上半年

第36题:采用McCabe度量法计算下图所示程序的环路复杂性为(36)。

答:从答题来看,就是数数的问题,先数有多少边12条,11个顶点,12-11+2=3. 

对路径覆盖概念不太了解:概念:

 如2016年下半年第32题:

以下所示流程图采用白盒测试进行测试,若满足路径覆盖,则至少需要()个测试用例。

 答:这种题,必须根据路径覆盖找出所有的不同的路径:

依次为:a b g j

             a b g h i j

             a c f g j

             a c f g h i j

            a c d e f  g j

            a c d e  f g h i j

一共有6条路径,所以得需要6个测试用例。

扩展:其他覆盖是什么概念呢?

语句覆盖

每个可执行语句都走一遍即可,即测试用例要覆盖所有的语句

判定覆盖(分支覆盖)

每个判断真假各取一次。

条件覆盖

针对判断语句里面案例的取值都要去一次,不考虑条件的取值

 

判定/条件覆盖

判定覆盖各条件覆盖交叉,针对于判定中的条件取值 

 

组合覆盖

判定-条件覆盖的加强版 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软考考点之Mccabe度量计算及路径覆盖 的相关文章

  • 软考-软件设计师-数据库1-体系结构-模型-关系代数-规范化

    1 数据库技术基础 2 基本概念 数据库系统DBS 是一个采用了数据库技术 有组织地 动态地存储大量有关数据 方便多用户访问的计算机系统 其由下面四个部分组成 数据库 统一管理 长期存储在计算机内的 有组织的相关数据的集合 硬件 构成计算机
  • 2016年10月—信息安全工程师—上午综合知识(26-30)

    信安16年10月 试题26 26 已知DES算法的S盒如下 如果该S盒的输入110011 则其二进制输出为 A 0110 B 1001 C 0100 D 0101 尚大参考答案 C 解析 本题考查考生对DES算法中S 盒的运用 DES算法是
  • 软考中级软件设计师--7.设计模式

    设计模式 参考 https www yuque com saodai ss8tp9 B站视频 我这里只是个做个笔记 设计模式最好结合UML 类图并且结合实际代码学习 最好还是看上边视频中相关内容 创造型设计模式 概念 创造型设计模式抽象了实
  • 软考考点之Mccabe度量计算及路径覆盖

    McCabell 主要是度量程序的复杂度 环形复杂度 度量程序的逻辑复杂度 描绘程序控制流的流图之后 可以用下述3种方法中的任何一种来计算环形复杂度 1 流图中的区域数等于环形复杂度 2 流图G的环形复杂度V G E N 2 其中 E是流图
  • 软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识

    文章目录 嵌入式软件基础知识 嵌入式操作系统基础知识 任务调度 信号量 页面置换算法 嵌入式系统程序设计 嵌入式软件基础知识 嵌入式软件分类 系统软件 控制和管理嵌入式系统资源 为嵌入式应用提供支持的各种软件 如设备驱动程序 嵌入式操作系统
  • 软考-安全

    安全领域的重要性 随着科技进步 社会发展 尤其是以计算机为代表的信息技术飞速发展 各种信息呈爆炸式 发展 计算机及信息技术的应用领域在不断扩展 计算机在政府 企业 民生等各个领域中 都得到越来越广泛的应用 与此同时 网络攻击和入侵事件与日俱
  • (二)程序语言设计基础

    目录 1 程序设计语言概述 1 1 基本概念 1 1 1 低级语言和高级语言 1 1 2 编译程序和解释程序 1 1 3 程序设计语言的定义 1 1 4 程序设计语言的分类 1 2 程序设计语言的基本成分 1 2 1 数据成分 1 2 2
  • 软件设计师上午题——第五章 知识产权

    软件设计师备考 知识产权 一 著作权 1 知识产权基础知识 2 计算机软件著作权 3 职务作品 4 委托开发 5 计算机软件著作权侵权 二 商业秘密权 1 计算机软件的商业秘密权 三 专利权 1 专利权申请 四 商标权 1 商标注册 五 杂
  • 软考考点之数据库关系运算符含义的理解

    如 2018上半年 第70题 给定关系 R A B C D E 与S B C F G 那么与表达式 2 4 6 7 2 lt 7 R S 等价的SQL语句 如下 SELECT 69 FROM R S WHERE 70 69 A R B D
  • 数据库基础 (关系数据库)

    14 34 属性 表的列 域 属性的范围 笛卡尔积 所有集合所有数X一遍 目或度 关系表属性的数量 候选码 唯一属性标识 主码 主键 外码 外键 主属性 候选码里的都叫主属性 全码 所有属性都是候选码 称为全码 关系的三种形式 基本关系 基
  • 【新版】系统架构设计师 - 案例分析 - 总览

    个人总结 仅供参考 欢迎加好友一起讨论 架构 案例分析 总览 新旧大纲对应 旧版 新版 系统规划软件架构设计设计模式系统设计系统建模分布式系统设计嵌入式系统设计系统的可靠性分析与设计系统的安全性和保密性设计 系统计划信息系统架构的设计理论和
  • 2023上半年系统分析师下午案例分析真题及答案解析

    真题1 阅读以下关于软件系统分析与建模的叙述 在纸上回答问题1至3 说明 某软件公司拟开发一套汽车租赁系统 科学安全和方便的管理租赁公司的各项业务 提高公司效率 提升利率 注册用户在使用系统镜像车辆预约时需执行以下操作 a 用户登录系统 b
  • 九、软考2014年上半年软件设计师易错题整理

    文章目录 错题1 错题2 错题3 错题4 错题5 错题6 错题7 错题8 错题9 错题10 错题11 错题12 错题13 错题14 错题15 错题16 错题17 错题18 错题19 错题20 专业英语 错题1 在CPU中 常用来为ALU执行
  • 关于软考,人事考试照片格式要求如何修改,且通过照片审核处理系统。要求295px*413px像素

    首先要ps工具 你自己的照片 照片是白底的 如果是蓝底的 可直接在ps里的图像 gt 调整 gt 替换颜色 我的底色是从蓝色换到白色 之后就是图片的大小我们可以直接在图像 gt 图像大小设置图片的像素要求 这里你直接 最后导出的时候我选的是
  • 【新版】系统架构设计师 - 软件架构设计<轻量级架构>

    个人总结 仅供参考 欢迎加好友一起讨论 文章目录 架构 软件架构设计 轻量级架构 考点摘要 轻量级架构 表示层 业务逻辑层 持久层 数据库 SSH与SSM ORM Hibernate与Mybatis 架构 软件架构设计 轻量级架构 考点摘要
  • [软考笔记]存储管理——页式,段式,段页式

    页式存储 4kb为1页 考点 逻辑地址和物理地址之间的转换 1 先区分逻辑地址哪一部分是页号 哪一部分是页内地址 2 根据页内地址确定物理地址 后面那块 3 再根据页号查找块号 4 拼接起来就是物理地址 解题过程 1 将页面大小转化为二进制
  • 2021年系统集成项目管理工程师(软考中级)连夜整理考前重点

    一 信息与信息化 1 信息论奠基者香农认为 信息就是能够用来消除不确定性的东西 8种状态需要3位比特表示 5位比特则可表示64种状态 信息 物质材料 能源是三大戓略资源 2 信息论两个层次 本体论和认识论 3 信息传输模型 信源 编码 信道
  • 2021-08-06软考网工的一个简单的综合实验

    拓扑 PC1和PC2都设置成dhcp获取ip PC1属于10网段 标记为教学区 PC2属于20网段 标记为宿舍区 LSW1作为接入交换机 LSW2作为核心交换机 AR1作为外网入口 AR2表示电信运营商的路由器 AR3表示联通运营商的路由器
  • 请问大家有没有软考中项的考试技巧?

    备考是可以结合教学视频一起 高效好用 学起来的话 不会显得枯燥无味 系统集成项目管理工程师难度真的是能接受的那种 对于刚经历软考的来说 说直话软考 系统集成 的难度不大 每年的通过率还是挺高的 自学的小伙伴也是蛮多的 是很多软考小白的首选之
  • 软考考试多少分通过?

    根据 人力资源社会保障部办公厅关于单独划定部分专业技术人员职业资格考试合格标准有关事项的通知 人社厅发 2022 25号 的相关规定 软考考试在一般情况下是需要达到45分才能及格的 但在一些特定地区却有不同的要求 这些地区包括国家乡村振兴重

随机推荐

  • iframe框架标签(内嵌窗口)iframe和a标签的联合使用

    iframe框架 内嵌窗口 标题描述 iframe标签它可以在一个html页面上 打开一个小窗口 去加载一个单独的页面 iframe和a标签的联合使用的步骤 1 在iframe标签中使用name属性定义一个名称 2 在a标签的target属
  • C++实现集群聊天服务器

    写在前面 所有代码加起来两千行 里面用到了语言 数据结构 计网 操作系统 数据库 redis等知识 可谓是麻雀虽小五脏俱全 1 项目需求 客户端新用户注册 客户端用户登录 添加好友和添加群组 好友聊天 群组聊天 离线消息 nginx配置tc
  • ie11兼容方案(ant-design-vue在ie打开,系统白屏不报错)

    问题1 整个系统白屏 但不报错 原因 1 没有做路由懒加载 不做懒加载的话 默认是全部加载在首屏 ie浏览器性能差直接卡死 2 ie无法识别一些es6 的api Babel默认只转换新的js语法 如箭头函数 而不转换新的API 比如 Ite
  • jeesite前端页面与后台业务逻辑数据交互

    Key Word jsp controller json model parameter request response result param ajax data success http 1 jsp中提交请求的方式有哪些 get p
  • 【STM32学习】——定时器输出比较功能&PWM脉宽调制&通用/高级定时器输出比较通道&舵机/直流电机简介&PWM驱动呼吸灯/舵机/直流电机代码实操

    文章目录 前言 一 输出比较简介 二 PWM波形 三 输出比较通道 1 通用定时器 2 高级定时器 三 外设简介 1 舵机 2 直流电机 四 实操案例 1 PWM驱动LED呼吸灯 2 PWM驱动舵机 3 PWM驱动直流电机 总结 声明 学习
  • DAC MCP4725 i2c 驱动(linux)

    mcp4725是一款低功耗 高精度 单通道 拥有EEPROM的12位的dac 由于最近项目中使用到了该芯片所以贴出来给大家参考 步进电机电机芯片半流锁定 本贴呢非项目中使用的平台 主要是想在linux 下实现对该器件的使用 实现一个简单的i
  • nmealib linux编译,nmealib的使用可以缩短GPS的开发周期

    程序员Tim 提供了一个非常完善的NMEA解码库 直接使用该解码库 可以避免重复发明轮子的工作 在野火提供的GPS模块资料的 NMEA0183解码库源码 文件夹中也包含了该解码库的源码 野火提供的STM32程序就是使用该库来解码NMEA语句
  • MySQL函数

    文章目录 MySQL中的函数 1 字符串函数 2 数值函数 3 日期函数 4 流程函数 MySQL中的函数 函数 是指一段可以直接被另一段程序调用的程序或代码 也就意味着 这一段程序或代码在MySQL中已经给我们提供了 我们要做的就是在合适
  • STM32之如何封装自己的lib库

    似乎stm32刚开始出来的时候就是用的l ib库 后来就开源了 网上看了一些网友做的lib库 自己也弄了一下 其实也挺简单 以下封装lib库都是基于stm32的3 0固件库 1 打开一个工程 将除固件库以外的其他文件删掉 如下 2 在opt
  • js/jQuery/vue练习

    把页面中的所有P元素的背景色设置为红色的正确query代码是 D A p manipulate background color red B p layout background color red C p style backgroun
  • 网络地址转换的类型

    网络地址转换好贴 请看以下的百度图文 http zh wikipedia org wiki E7 BD 91 E7 BB 9C E5 9C B0 E5 9D 80 E8 BD AC E6 8D A2 http wenku baidu com
  • Android 广播 [adb 命令模拟发送广播]

    Android 使用 adb 模拟发送广播 做 Android 开发的时候 有时候需要插入耳机进行测试 但是又想在按下耳机键的同时看一下打印的 log 此时就可以使用 adb 命令模拟发送广播进行 将编译好的 apk push 到手机上之后
  • Android模拟器所支持的OpenGL ES扩展

    Android 1 6 模拟器使用了1 0版本的eGL 没有扩展GL ARB vertex buffer object 却有GL ANDROID vertex buffer object 貌似使用了PixelFlinger渲染器的Andro
  • 这条路,真的可以走下去-------Day91

    离开这么久 今天我终于回来了 如果说最开始是愤怒和不甘 那现在心里剩下的应该只是庆幸了 从没想到过 我人生第一次说走就走的旅行就这样献给工作了 没有美好的回忆 仓促的要人命 也没想过转行为程序员了 还需要兼顾着售后和实施的工作 更可笑的是还
  • Vue.js中的Render函数和模板语法

    Vue js中的Render函数和模板语法 在Vue js中 有两种主要的方式来构建组件 使用模板和使用render函数 模板语法是Vue js中最常见的方式 它是一种基于HTML的语法 能够直接在HTML文件中定义组件的结构和行为 而re
  • centos7.1下yum安装并使用apache web服务器

    一 centos7 1下yum安装apache web服务器 首先安装Apache 查看系统是否安装httpd和apr apr util并卸载 rpm qa grep apr apr util 1 5 2 6 el7 x86 64 apr
  • 5款主流开源数据库的比较

    开源数据库使得信息处理的成本降低 强有力的数据库解决方案进入更多的企业 特别是中小型企业 同时 随着开源数据库在功能上的日益强大和完善 以及人们对其了解的深入 开源数据库在中小型企业中将会有更广泛地应用 下面 笔者为大家介绍5款主流开源数据
  • 【笔记】OpenCV3 人脸识别

    人脸识别就是一个程序能识别给定图像或视频中的人脸 OpenCV是用一系列分类好的图像来训练程序 并基于这些图像来进行识别 它的每个识别 都有置信评分 在实际应用中通过对其设置阈值来进行筛选 为了简单实现人脸识别的功能 写了几个函数从文件夹的
  • shell之单行和多行注释方法

    shell注释有单行和多行 单行注释以 开头至行尾结束 如下代码部分 echo 这行是单行注释 多行注释 1 可以在需要注释的内容前面增加 lt
  • 软考考点之Mccabe度量计算及路径覆盖

    McCabell 主要是度量程序的复杂度 环形复杂度 度量程序的逻辑复杂度 描绘程序控制流的流图之后 可以用下述3种方法中的任何一种来计算环形复杂度 1 流图中的区域数等于环形复杂度 2 流图G的环形复杂度V G E N 2 其中 E是流图