白盒基本路径发测试实验报告_白盒测试之基本路径覆盖法

2023-11-19

基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。该方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。

程序的控制流图常用结构如下,其中符号○为控制流图的一个结点,表示一个或多个无分支的源程序语句。箭头为边,表示控制流的方向。

在选择或多分支结构中,分支的汇聚处应有一个汇聚结点;边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域;如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。

程序的环路复杂性:程序基本路径集中的独立路径数量,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。

独立路径:至少包含有一条在其它独立路径中从未有过的边的路径。

程序环路复杂性和区域数一致。

例如,在图示的控制流图中,一组独立的路径是:

path1:1 – 11

path2:1 - 2 - 3 - 4 - 5 - 10 - 1 – 11

path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 – 11

path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 – 11

路径 path1,path2,path3,path4组成了控制流图的一个基本路径集。

基本路径覆盖法步骤:

1. 从详细设计导出流图

2. 确定流图的环路复杂度

3. 确定独立路径的基本集

4. 导出测试用例,确保基本路径集中的每一条路径的执行

5. 根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到-用逻辑覆盖方法。

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

白盒基本路径发测试实验报告_白盒测试之基本路径覆盖法 的相关文章

  • mybatisplus是什么?

    Mybatis Plus 简称为Mybatis 或MP 是一个开源的Mybatis增强框架 它是在Mybatis基础上进行了扩展和增强 Mybatis Plus旨在简化开发过程 提高代码的开发效率 并提供更多的便捷功能 Mybatis Pl
  • 仿网易云音乐小程序

    一 程序描述 仿网易云音乐小程序 调用网易云API真实接口 实现了音乐播放 音乐切换 歌词显示 搜索音乐 视频播放 用户登录退出等功能 以下是效果展示 仿网易云小程序 二 代码介绍 1 目录介绍 2 搜索 代码讲解 实现思路 先把搜索的静态
  • 台式电脑切换集成显卡和独立显卡

    台式电脑切换集成显卡和独立显卡 1 背景 2 认识 3 步骤 3 1 确认是否有两个显卡以及当前显示器连接显卡 3 2 更新驱动 3 3 确认显示器连接接口 3 4 显卡设置 4 总结 1 背景 发现电脑在处理画面时有非常卡顿 想着电脑装的
  • html中图片热区链接怎么设置,html图像热区链接做好之后怎么上传到网页上让别人打开?...

    html图像热区链接做好之后怎么上传到网页上让别人打开 以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 让我们赶快一起来看一下吧 图像热区链接做好之后怎么上传到网页上让别人打开 做的是静态
  • 使用session实现同一账号只能同时一个人使用

    使用session实现同一账号只能同时一个人使用 今天我们要讲的就是 实现同一个账号只能同一时间让一个人使用 实现起来也是非常的简单 其实我这里讲到的是我前几天做出来的一个大概核心代码和核心思路 我也是查遍了很多网站 看了很多人的源码然后都
  • QT绘图之自动缩放画线和点

    需求 用 作为画板 把纸条缩放到 上 纸条长度不定 宽度固定 纸条上任意位置画点或者线 点距或者线距不固定 点数和线数也不固定 要成比例映射到 上直观显示 话不多说 上代码 ool sprayer Widget eventFilter QO
  • 导入Unity 2D Animation插件没有生效

    导入Unity 2D Animation后 打开Sprite Editor发现没有Skinning Editor选项 这可能是因为导入插件后与项目原有的Plugin下的库产生冲突导致的 这时候点击Packages Editor Unity
  • 线程和线程池

    线程和线程池 并发和并行 并发是指在单个CPU核心上 多个线程占用不同的CPU时间片 但由于每个线程占用的CPU时间片非常短 比如10ms 看起来就像是多个线程在共同执行一样 但在微观物理上看其实还是串行执行的 这样的场景称作并发 并行是指
  • QQ小程序服务器内部错误,网络

    网络 使用说明 在小程序 小游戏中使用网络相关的 API 时 需要注意下列问题 请开发者提前了解 1 服务器域名配置 每个QQ小程序需要事先设置一个通讯域名 小程序只可以跟指定的域名与进行网络通信 包括普通 HTTPS 请求 qq requ
  • 工作队列(workqueue)

    转载于 http blog csdn net angle birds article details 8448070 项目需要 在驱动模块里用内核计时器timer list实现了一个状态机 郁闷的是 运行时总报错 Scheduling wh
  • 仿鸟云IDC模板 最新修复创梦虚拟主机管理系统+主控模板+鸟云模板源码

    介绍 最近仿鸟云的 IDC 模板 好像很火 很早以前做了一个和鸟云早期的模板 但后来服务器没备份 数据丢失了 此为近期找到的一份新的鸟云源码 如果大家有需求 可以进行长期更新维护此套模板 做到更精 在 Global asa 文件的最后一行之
  • SpringBoot配置多个Redis数据源

    一 添加依赖
  • type traits浅析

    1 G2 9的type trait G2 9的type trait用一个泛化类模板来定义各种类型的属性 默认都是假的 然后给每一种类型都添加了偏特化版本 这样的缺点是每写一个类 都要添加一个偏特化的模板类 十分麻烦 2 C 改进的type
  • 渗透:vulnhub DC系列之DC1

    DC系列之DC1 一 靶机配置及说明 下载地址 https www vulnhub com entry dc 1 292 靶机 DC1 VMware IP 192 168 49 152 攻击机 kali2018 IP 192 168 49
  • 姿态估计与人体动作识别的多任务深度学习模型

    最近在做一个人体康复训练的项目 一开始考虑到人体康复训练需要肢体的细微动作 所以先使用人体姿态估计识算法提取骨骼点 再根据人体骨骼点来识别动作 后来发现也不一定这样 并组合成一个端对端的模型 正好找到了最近的一篇论文 2D 3D Pose
  • 使用QFile进行文件操作(QFile可以使用FILE *指针,还必须指定AutoCloseHandle)

    QFile类我我们提供了操作文件的常用功能 它是一种io设备 可以用来读写文本文件和二进制文件 也可以用来读写Qt的资源文件 QFile类可以单独使用 该类本身提供了read write函数 但更方便的方式是 将QFile和QTextStr
  • 毕业设计 2023-2024年最新软件工程专业毕设选题题目推荐汇总

    文章目录 0 简介 1 如何选题 2 最新软件工程毕设选题 0 简介 学长搜集分享最新的软件工程业专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖 1 如何选题 最近非常多的学弟学妹问学
  • dell笔记本怎么开启虚拟化_dell台式电脑bios设置u盘启动的三种操作教程

    最近有小编发现有很多的网友朋友们并不知道dell怎么进入bios 为什么这么说呢 因为每个品牌怎么进入bios是不一样的 现在戴尔用户越来越多 不知道dell怎么进入bios的用户 接下来小编教你dell台式电脑bios设置u盘启动的三种操
  • uni-table多选获取当前行数据

    废话不多说 直接上代码

随机推荐

  • connect()函数

    connect 用于建立与指定socket的连接 头文件 include
  • RabbitMQ消息队列基础点

    消息队列 为什么使用消息队列 1 解耦 2 异步 3 削峰 消息队列的缺点 各种消息中间件的区别 消息丢失 如何保证消息的顺序性 如何解决消息队列的延时以及过期失效问题 消息队列满了以后该怎么处理 有几百万消息持续积压几小时 说说怎么解决
  • 安装bs4时出现问题

    安装bs4时出现问题 C Users xxia gt pip install bs4 Collecting bs4 Using cached bs4 0 0 1 tar gz 1 1 kB Preparing metadata setup
  • DTCC 2023丨云原生环境下,需要什么样的 ETL 方案?

    2023年8月16日 18日 第14届中国数据库技术大会 DTCC 2023 于北京隆重召开 拓数派受邀参与本次大会 PieCloudDB 技术专家邱培峰在大会做了 云原生虚拟数仓 PieCloudDB ETL 方案设计与实现 的主题演讲
  • react脚手架配置别名并自动提示[VSCode]

    1 安装三方库 craco craco yarn add craco dev npm install craco craco save dev 2 配置craco config js const path require path modu
  • idea调整代码标签编辑器标签editor tabs的横排和竖排

    第一 找到任意一个文件鼠标右击 然后选择Configure Editor Tabs 如下图所示 第二 在tab placement中选择top left right bottom等即可调整标签位置 最后点击apply完成设置 最后结果如下图
  • python中,获取字符串的长度

    说明 与其他的语言一样 有时候需要查看或者说计算字符串的长度 在此记录下python中通过哪个函数实现 操作过程 1 通过len 函数返回字符串的长度 gt gt gt text python gt gt gt len text 6 gt
  • 投资不能只看概念,也要尝试使用

    目前 越来越多的行业开始应用聊天机器人ChatGPT 其中 一款免费的国内网站 多御浏览器 提供了安全快速 高效稳定的浏览器体验 该网站不仅提供了许多实用工具 包括当下非常流行的ChatGPT 也为开发人员和初学者提供了方便的在线工具解决方
  • 《Web安全基础》02. 信息收集

    web 1 CDN 绕过 1 1 判断是否有 CDN 服务 1 2 常见绕过方法 1 3 相关资源 2 网站架构 3 WAF 4 APP 及其他资产 5 资产监控 本系列侧重方法论 各工具只是实现目标的载体 命令与工具只做简单介绍 其使用另
  • 数据库数据导入的基本操作

    数据库数据导入的步骤 开发工具与关键技术 数据库 作者 邱慧敏 撰写时间 2019 01 27 数据库最基本的操作就是 如何导入数据 第一步 打开 登录 数据库 第二步 鼠标右键数据库 然后点击新建数据库 第三步 编程数据库名称 可 更改路
  • C++容器排序算法的简单应用

    功能实现 1 去掉所有重复的单词 2 按照单词的长度进行排序 3 统计长度等于或者超过6个字符的单词个数 4 按照单词的长度顺序进行输出 include
  • Ceph优化系列(一):Ceph架构及性能优化

    转载 Ceph架构及性能优化 对分布式存储系统的优化离不开以下几点 1 硬件层面 硬件规划 SSD选择 BIOS设置 2 软件层面 Linux OS Ceph Configurations PG Number调整 CRUSH Map 其他因
  • NoClassDefFoundError: org/springframework/cloud/client/loadbalancer/LoadBalancedRetryFactory

    异常信息 Exception in thread main java lang NoClassDefFoundError org springframework cloud client loadbalancer LoadBalancedR
  • CUDA异步执行与同步调试

    异步执行 默认情况下 GPU 操作是异步的 当您调用使用 GPU 的函数时 操作会被排入特定设备的队列 但不一定要等到稍后才会执行 这允许我们并行执行更多计算 包括在 CPU 或其他 GPU 上的操作 一般来说 异步计算的影响对调用者是不可
  • java基础-CAS、synchronized和AQS的理解

    乐观锁与悲观锁的区别 悲观锁 总是假设最坏的情况 每次去拿数据的时候都认为别人会修改 所以每次在拿数据的时候都会上锁 这样别人想拿这个数据就会阻塞直到它拿到锁 共享资源每次只给一个线程使用 其它线程阻塞 用完后再把资源转让给其它线程 传统的
  • Java数据库基础3

    行转列 首先我们默认的情况 每个名字都输出两次 而最终结果只有一次名字 所以肯定是 以名字分组 group by select from test 9 group by name 对我们来说 id 课程 和分数都不需要了 只需要有名字 然后
  • VMware设置centos7共享文件夹

    前言 VMware在设置centos6共享文件夹的时候 只需要安装vmware tools 然后在vmware里面配置共享文件夹即可 但是对于centos7 设置完之后 并不能如愿的将我们共享的目录显示在 mnt hgfs目录下 这里我们需
  • 新的征程

    十二生肖对应的五行 金 猴 鸡 木 虎 兔 水 鼠 猪 火 蛇 马 土 牛 龙 羊 狗 纳音五行如下 甲子乙丑海中金 甲午乙未沙中金 丙寅丁卯炉中火 丙申丁酉山下火 戊辰己巳大林木 戊戌己亥平地木 庚午辛未路旁土 庚子辛丑壁上土 壬申癸酉剑
  • unity2019.3 所有控制按键输入方法 input 鼠标输入,键盘输入,触屏输入,屏幕点击事件,物体拖拽点击事件说明带实例

    配置按键 unity为满足跨平台需求支持多种输入方式 比较常见的有触屏 摇杆 鼠标 按键 虽然unity可以直接在代码中直接指定某个按键的功能 但我们最好使用按键管理器来为项目配置输入操作 这是不仅是为了更好的统一管理 还是因为unity提
  • 白盒基本路径发测试实验报告_白盒测试之基本路径覆盖法

    基本路径覆盖法是在程序控制流图的基础上 通过分析控制结构的环路复杂性 导出基本可执行路径集合 设计测试用例的方法 该方法把覆盖的路径数压缩到一定限度内 程序中的循环体最多只执行一次 设计出的测试用例要保证在测试中 程序的每一个可执行语句至少