软件测试——程序控制流图,McCabe环形复杂度

2023-11-05

软件测试——程序控制流图,McCabe环形复杂度

根据下边的程序流程图,完成:

1

1.画出相应的程序控制流图;

根据上述的程序流程图画出程序控制流图

由于一个条件判断语句中有复合条件表达式,故需拆开表示

3

2.给出控制流图的邻接矩阵;

1 2 3 4 5 6 7
1 1 1 1 0 0 0 0
2 0 1 1 1 0 0 0
3 0 0 1 1 0 0 0
4 0 0 0 1 1 0 1
5 0 0 0 0 1 1 1
6 0 0 0 0 0 1 1
7 0 0 0 0 0 0 1

3.计算 McCabe 环形复杂度;

McCabe 环路复杂度为程序逻辑复杂性提供定量测度。该度量用于计算程序的基本独立路径数目,也即是确保所有语句至少执行一次的起码测试数量。

程序控制流图中有7个结点,10条边。

故V(G) = m - n + 2 = 10 -7 + 2 = 5

程序控制流图中有4个单判定结点

故V(G)= d + 1 = 4 + 1 = 5

4.找出程序的一个独立路径集合。

一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G) 值正好等于该程序的独立路径的条数。

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

软件测试——程序控制流图,McCabe环形复杂度 的相关文章

  • 软件测试开发/全日制/测试管理丨接口测试抓包与 Mock/接口自动化测试

    在软件开发中 接口测试是确保系统各个组件之间协同工作的重要环节 接口测试抓包与Mock以及接口自动化测试相结合 能够更全面 高效地验证接口的正确性 性能和稳定性 从而打造一个稳健的接口生态系统 接口测试抓包 接口测试抓包是一种通过监控和记录
  • “揭秘性能测试工具:优化软件性能的关键秘籍“

    性能测试工具的设计宗旨是为了模拟用户对软件应用程序或系统的各种操作 旨在评估关键的性能指标 包括响应时间 吞吐量 并发能力和资源利用率 通过这些工具模拟的多用户环境 我们能够产生与实际工作负载相似的条件 并监测系统在这种情况下的性能表现 一
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Selenium小技巧!

    Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器 如 Chrome Opera 和 Microsoft Edge 中的工具 用于帮助开发人员调试和研究网站 借助 Chro
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 测试工程师能否作为一份「终身职业」?30岁+怎么办?

    讨论 测试工程师可否作为一份终生的职业 这是我在论坛看到的一个讨论 你的答案是什么呢 我希望大家能认真思考后给出一个属于自己的答案 无论你是新手入门 还是资深专家 回答这个问题请不要凭一腔热血 也不用过分消极 别总和钱挂钩 平心而论即可 就
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • 杂散应用记录

    启动运行路径 etc ini d rc local svn 启动snv svnserve d listen port 3690 r var svn svnrepos
  • 传奇开区助手源码-添加支付平台

    传奇GM都用过的一款开区助手 如何添加支付平台对接兑换 项目截图 创建兑换 1 添加支付平台组合框 2 增加支付回调相关网络 至此添加登陆函数即可实现平台登陆功能 不过要注意的是默认仅支持http 支持https请添加三方网络模块实现 否则
  • 【COCO数据集】Annotations标注解析

    COCO dataset 是计算机视觉领域中最流行的数据集之一 用于对各种视觉任务进行基准测试 例如目标检测 分割 关键点检测等 在数据集中 有118K张图像用于训练 5K张图像用于验证 下载数据集后 目录中内容如下 COCO Annota
  • android studio修改module名称

    新建一个android studio项目 默认Module名称是app 右键app选择Rename 或者Shift F6也可以 重命名module名称 重命名为abc之后中 如图上面箭头所指的app会出错 点击Edit Configurat
  • 多益网络笔试题 随机地从大小为n的数组中选取m个整数。要求每个元素被选中的概率相等

    题目 随机地从大小为n的数组中选取m个整数 要求每个元素被选中的概率相等 时间复杂度是O m 参考链接 https my oschina net u 2822116 blog 795323 分析 这道题目和随机洗牌算法类似 只需要随机选取1
  • Java开发环境搭建03:idea中使用Maven

    一 Maven介绍 Maven项目对象模型 POM 可以通过一小段描述信息来管理项目的构建 报告和文档的项目管理工具软件 Maven是Apache 的开源项目 Maven使用Java开发的 运行需要Java环境的支持 Maven的作用有三点
  • leveldb之Compaction操作下之具体实现

    leveldb之Compaction操作下之具体实现 2015 05 17 19 40 438人阅读 评论 0 收藏 举报 分类 leveldb 13 版权声明 本文为博主原创文章 未经博主允许不得转载 目录 由上文可知 合并主要分为三种
  • Vue 3结合element plus(问题总结)之 table组件实现多选和清除选中

    问题描述和原因 一直出现toggleRowSelection和clearSelection不是方法 问题解决 后来发现getCurrentInstance支持访问内部组件实例 getCurrentInstance 只能在 setup 或生命
  • 人工神经网络matlab代码,matlab神经网络30例代码

    如何在matlab中建立多层bp神经网络 当你用newff的时候 里面有一个参数可以控制层数 比如说 P 0 1 2 3 4 5 6 7 8 9 10 T 0 1 2 3 4 3 2 1 2 3 4 net newff P T 5 这样表示
  • 通讯协议027——全网独有的OPC AE知识四之接口(十一)

    本文继续介绍OPC AE规范的IOPCEventSubscriptionMgt2接口的相关知识 更多通信资源请登录网信智汇 OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事件和警报条件 可选的IOP
  • IT项目管理个人作业8

    练习题1 质量标准 要求 学历 全日制统招研究生及以上学历 专业 计算机科学 软件工程 工程管理或相关专业者优先 经验 三年 三年以上相关工作经验 年龄 30 45 论文发表 在顶级期刊上发表过三篇以上论文 技术需求 熟悉项目管理相关知识
  • 13、Efficient Geometry-aware 3D Generative Adversarial Networks

    简介 仅使用单视图 2D 照片集合无监督生成高质量的多视图一致图像和 3D 形状一直是一项长期存在的挑战 现有的3D GAN要么是计算密集型的 要么是进行不3D一致的近似 前者限制了生成图像的质量和分辨率 后者会对多视图一致性和形状质量产生
  • input框限制只能输入两位小数

    1 给数字输入框输入定义触发事件
  • 解决Mysql使用本地IP无法连接

    Mysql使用本地IP无法连接 使用localhost或127 0 0 1正常连接 问题原因 Mysql默认不会开启本地IP连接的权限 需要手动开启 解决方法 1 进入cmd 2 输入mysql u root p 密码 进入mysql 3
  • JS-----------Ajax

    目录 传统网站存在的问题 ajax概述 阿贾克斯 异步和同步的区别 Ajax运行原理 ajax的实现步骤 请求报文 Ajax的其他方法和Ajax配置信息 请求传参的几种格式 get post区别 同源政策 扩展 思维导图 传统网站存在的问题
  • Python列表操作指南:索引、切片、遍历与综合应用

    文章目录 列表 简介 创建列表 索引和切片 列表的长度 列表的拼接和重复 检查元素是否存在 列表的方法 index 方法 count 方法 列表的修改和删除 修改元素 删除元素 列表的排序和反转 添加元素 列表的拷贝 列表的遍历 列表的切片
  • Java基础练习题01基本控制流程

    1 输入一个字符 判断它是不是字母 是不是数字 是不是空格字符 public static void main String args System out print 请输入一个字符 Scanner input new Scanner S
  • 西门子S7-1200与V20变频器的USS通信

    USS通信基本原理 USS 协议 Universal Serial Interface Protocol 即通用串行接口协议 是西门子专为驱动装置开发的通用通信协议 它是一种基于串行总线进行数据通信的协议 USS 通信总是由主站发起 USS
  • NFT 项目的十大评估维度

    全文共 5383 字 阅读约需 7 分钟 目录 1 项目的艺术性 2 社区 3 团队 4 路线图 5 使用场景 6 故事性 7 成本度量 8 稀有度 9 流动性 10 趋势 如何判断某一NFT项目是否可冲 这是各大 NFT 社群里都很常见的
  • 软件测试——程序控制流图,McCabe环形复杂度

    软件测试 程序控制流图 McCabe环形复杂度 根据下边的程序流程图 完成 1 画出相应的程序控制流图 根据上述的程序流程图画出程序控制流图 由于一个条件判断语句中有复合条件表达式 故需拆开表示 2 给出控制流图的邻接矩阵 1 2 3 4