白盒测试练习题 控制流图 + 独立路径

2022 软件测试大题【太原理工大学】 TYUT 太原理工大学,软件测试期末复习之设计题。 阅读详情
AI摘要

本文深入探讨了控制流图的概念及其在软件工程中的应用,详细解析了环形复杂度的计算方法,并通过实例展示了如何确定独立路径条数,最后提供了具体的输入数据与预期输出案例,帮助读者全面理解程序复杂度的评估。

        1.控制流图

 

        2.环形复杂度

                  V(G) = 6 - 5 + 2 = 3

 

        3.环形复杂度

                 独立路径条数:4

                      独立路径分别是:1 -> 2 -> 3  -> 4  -> 5

                                                   1  -> 3  -> 4  -> 5

                                                   1  -> 3  -> 5

                                                   1  -> 2  -> 3  -> 5

        4.输入数据和预期输出

                     1. 输入数据 : A=2 B=0 X=2   预期输出: A=2 B=0 X=2

                     2. 输入数据 : A=1 B=0 X=2   预期输出: A=1 B=0 X=3

                     3. 输入数据 : A=1 B=0 X=0   预期输出: A=1 B=0 X=0

                     4. 输入数据 : A=2 B=0 X=0   预期输出: A=2 B=0 X=1

                    

软件测试----------------- 控制流图 圈复杂度 独立路径 测试用例 最近在学软件测试,学到了画,控制流图 圈复杂度 独立路径 测试用例,这里,有些不理解,就网上查了下,发现好多老哥写错了,大佬写的甚至收费79。 我试着写写,如果有不足的,大家提提意见,别喷我。 题目如下: 1.针对 test 函数按照基本路径测试方法设计测试用例。 a)绘制出程序流程图对应的控制流图 b)计算出圈复杂度 c)写出 独立路径 d)写出相应的测试用例。(10 分) 1 int test(int i_count, int i_flag) { int i_temp = 0; wh 阅读详情

相关推荐

程序的流程控制说明及笔试习题

已知程序的流程控制可分为:顺序,选择控制,循环等。  1、顺序执行:从上往下,逐条来执行。 2、选择控制:当达到某种条件,执行特定的指令。 if  switch                                                     if(逻辑条 件表达式)                                                   ...

Sunflower___007的博客 1279

软件评测师必考题-控制流图

控制流图的基本知识 首先我们得清楚控制流图中的几个判断循环是如何表示的: 判断节点的嵌套 清楚了上面表示方法,你还是很难画出复杂的控制流图,而软考的控制流图往往是2个或多个判断节点嵌套在一起。其实只要把嵌套的节点想象成被嵌套节点的一个整体,就很好理解。这里给个例子,希望能帮助大家思考: 上图其实就是while循环里面嵌套了一个if语句,嵌套的情况太多,这里不一一赘述。 复合条件的表示 这里应该是很多人的难点和痛点,还是以2017年软考题目为例吧: 代码: Int DoString(char*string

hzx18022464374的博客 1万+

白盒测试---基本路径

控制流图是一种有向图,可以形式化为: G = (N, E, N_entry, N_exit) N是节点集,程序中的每个语句都对应图中的一个节点,有时一组顺序执行、不存在分支的语句也可以合并为用一个节点表示。因为环形复杂数为5,所以最多有5条基本路径 : path1:1—2—4—5—6—7 path2:1—2—3—4—5—6—7 path3:1—2—3—8—4—5—6—7 path4:1—2—3—8—4—5—9—7 path5:1—2—3—8—4—5—6—9—7。

m0_62410106的博客 7233

【大学生软件测试基础】白盒测试 - 控制流图 - 01

任务1、画出程序流程图; 任务2、画出控制流图; 任务3、根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目; 任务4、根据环形复杂度的计算结果,源程序的基本路径集合中有多少条独立路径; 任务5、设计测试用例; 1、程序流程图 2、控制流图 3、根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目; V(G) = P + 1 = 3+1 控制流程图环形复杂度为 4 4、根据环形复杂度的计算结果,源程序的基本路径集合中有多少条独立路径;...

aiwuff的博客 2万+

白盒测试之路径覆盖与基本路径覆盖

路径覆盖可以保证程序中的所有路径都被覆盖到,但对于包含多且复杂的判断语句、循环语句的程序来说,要覆盖每一条路径将会非常困难,需要花费极大的人力物力。路径覆盖可以使程序中的路径都被测试到,但是,要对程序中的路径做到完全覆盖经常是无法实现的。为了解决这一难题,我们需要在保证测试质量的前提下把测试的路径数量压缩到一定的范围内,基础路径覆盖法正好可以解决该问题。基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的圈复杂度,导出基本可执行的路径集合设计测试用例,运行被测程序,使程序的基本路径都得到覆盖。

haobabiu的博客 1万+

白盒测试实战:基于控制流图与基本路径法设计 5 个测试用例

本文详细介绍了白盒测试实战中基于控制流图与基本路径测试法的5个测试用例设计方法。通过可视化代码逻辑、计算环形复杂度及提取独立路径等技巧,帮助测试人员系统性地覆盖所有执行路径,有效解决路径爆炸和覆盖盲区问题,提升测试效率与质量。

weixin_34274029的博客 370

白盒测试练习题 控制流图 + 独立路径 2

1.控制流图 2.控制流图的环形复杂度 V(G) = 9 - 8 +2 = 3 3.独立路径 1. 4 -> 6 -> 7 -> 14 2. 4 -> 6 -> 9-> 10 -> 13 3. 4 -> 6 -> 9 -> 12 -> 13 ...

Geoooo的博客 1万+

GAMES101:MacOS作业环境搭建

查看gcc/clang的位置产看gcc/clang的版本1.1.2 安装cmake。

weixin_38844255的博客 715

白盒测试--控制流测试(白盒测试,逻辑覆盖,路径测试(基路径测试、循环测试),控制流图)

文章目录白盒测试概念白盒测试方法--控制流测试语句覆盖判定覆盖(分支覆盖)条件覆盖判定-条件覆盖条件组合覆盖路径覆盖路径测试基路径测试循环测试控制流图基本控制流图复合逻辑下的控制流图图矩阵环形复杂度 白盒测试概念 又叫结构测试,逻辑驱动测试。把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试 。 白盒测试法考虑的是测试用例对程序内部...

xiadanying的博客 2万+

anaconda的conda国内加速镜像源(pytorch 快速安装)

最近清华源不太好使了,所以推荐中科大镜像源,如下 1.还原原始通道 conda config --remove-key channels 2.

qq_41719643的博客 2万+

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4731

软件测试—第六章白盒测试基本路径测试法

一,基本路径法 1,为什么使用基本路径法 一是降低了测试用例设计的难度。只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验。 二是在测试时间较紧的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。 2,什么是基本路径法 从一个程序的入口开始,执行所经历的各个语句的完整过程。在不能保证做到所有路径覆盖的前提下,需要对路径数量进行压缩,如果可以保证程序中...

XU_MAN_的博客 2万+

TSMaster实战:如何用LIN总线唤醒你的汽车电子系统(附波形分析)

本文通过TSMaster工具实战解析LIN总线唤醒机制。详细介绍了LIN网络唤醒的协议要求、时序参数计算,并演示了如何在TSMaster中配置唤醒信号、捕获分析波形,以及验证休眠流程。文章结合常见问题排查,为汽车电子工程师提供了从理论到实践的完整调试指南。

weixin_28308325的博客 459

白盒测试——基本路径测试法

本次实验旨在通过白盒测试中的基本路径测试法,掌握其基本概念并应用于具体问题。实验内容包括绘制程序控制流图、计算环路复杂度,并设计测试用例以覆盖所有独立路径。以计算两个整数最大公约数的程序为例,实验步骤包括:1) 绘制控制流图并计算环路复杂度为3;2) 设计三个测试用例分别覆盖三条独立路径。测试用例1和2分别验证x>y和x<=y的情况,测试用例3验证不进入循环的情况。通过实验,学生能够理解基本路径测试法的原理,并提升具体问题分析能力。

枫原万叶的博客 1424

MT25QL256完整操作指南:从ID读取到4KB扇区擦除(附华大SPI例程)

本文提供了MT25QL256 NOR FLASH在华大MCU上的完整驱动开发指南。内容涵盖从SPI初始化、器件ID读取、状态寄存器查询,到核心的页编程和4KB扇区擦除操作,并分享了构建健壮驱动框架、处理跨页写入及常见调试问题的实战经验。

tt34567的博客 886

vue接入海康4G版摄像头通过萤石云平台推送视频流教程

vue-video-player接入海康视频,videojs-contrib-hls,vue播放视频

renkai721的专栏 7277

白盒测试之基本路径测试法

基本路径测试法 基本路径测试是一种白盒测试方法,它在程序控制图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。 工具/原料 图形矩阵 控制流图 方法/步骤: 1、画出控制流图 使用控制流图制作方法对程序流程图进行简化,以突出的表示程序控制流的结构。 对于复合条件,则可将其分解为多个单个条件,并映射成控制流图。 2、确定程序基本集的独立路径数量,再确保所有语句至少执行一次的测试数量的上界。 需要注

weixin_44772874的博客 8287

部署与可视化系统:移动端落地保姆级教程:YOLOv8 转换为 NCNN 并封装进 Android App 调用摄像头实时检测

本文介绍了在移动端部署YOLOv8模型的最佳实践。通过实测数据对比,采用NCNN框架在骁龙865设备上可实现35+FPS的实时推理性能。文章详细分析了NCNN相比TFLite、MNN等框架的优势,包括更高的ARM CPU性能、更优的Vulkan GPU加速和更小的模型体积。同时提供了从PyTorch模型到NCNN格式的完整转换流程,包括FP16优化和INT8量化方法,并重点解析了YOLOv8特有的输出格式处理要点。建议开发者先在Python环境验证NCNN推理流程,再部署到Android平台,以确保最佳性能

ZXSXJ的博客 209

白盒测试---基本路径覆盖法

转载自:https://blog.youkuaiyun.com/xieminyao123/article/details/79133449    白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。   其中运用最为...

如是说的博客 2万+

让openclaw接入web端的deepseek或着qwen,使用无限token

🪟 Windows: 提供原生的 PowerShell 一键安装支持!配置过程和官方版本是相同的,唯一的区别就是再选则model时要选择带Browser字样的deepseek或者qwen。安装之前需要先清理官方版本的安装痕迹,否则openclaw版本跳转不到这个中文版本。因为此版本与官方版本存在代差,在配置飞书时可能会出现无法安装飞书的情况。剩下的配置保持和官方版本一致操作即可。选中之后需要进行一次网页端的登录。登录后会出现可选择的model。安装完成后会跳到这个中文界面。涉及到接入飞书机器人的操作。

z1872385的博客 302

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

白盒测试的测试用例设计方法

一 白盒测试的主要技术 对简单的程序流程而言,确定程序的路径有多少条可通过:语句覆盖(覆盖率100%);分支(判定)覆盖(覆盖率85%);条件覆盖;分支-条件覆盖;条件组合覆盖;路径覆盖(覆盖率80%)来确定,这也是白盒测试的主要技术。 1.1语句覆盖(覆盖率100%) 使程序中每个语句至少执行一次 1.2分支(判定)覆盖(覆盖率85%) 使每个判定的真假分支都至少执行一次 1.3条件...

测试开发之路BeeTester 7502

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

白盒测试——基本路径测试

基本路径测试是将程序流程图转化为控制流图,通过分析控制结构的环路复杂性,进而找出路径的基本独立集,最终导出测试用例。 基本独立集: 从基本独立集导出的测试用例保证对程序中的每一条语句至少执行一次。 控制流图: 定义: 百度百科: 是一个过程或程序的抽象表现,是用在编译器中的一个抽象数据结构,由编译器在内部维护,代表了一个程序执行过程中会遍历到的所有路径。它用图的形式表示一个过程内所有基本块执行的可能流向, 也能反映一个过程的实时执行过程。 个人理解: 控制流图是顶点和有向...

qq_63635872的博客 8928

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

白盒测试——基本路径法

白盒测试的测试方法:   代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。   我们这次主要了解一下路径测试法:   基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。      在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本...

LB2012153055的博客 1530

白盒测试之路径覆盖

白盒测试之路径覆盖 路径覆盖 路径覆盖的含义 选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。 链 连续的边。也被称作一条路径 圈复杂度: 圈复杂度(Cyclomatic complexity)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出。 在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的...

qq_42744046的博客 2万+

白盒测试-基本路径覆盖

​ 路径覆盖可以使程序中的路径都被测试到,但是,要对程序中的路径做到完全覆盖经常是无法实现的。为了解决这一难题,我们需要在保证测试质量的前提下把测试的路径数量压缩到一定的范围内​ 基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的圈复杂度,导出基本可执行的路径集合设计测试用例,运行被测程序,使程序的基本路径都得到覆盖。基本路径覆盖法把测试时需要覆盖的路径压缩到一定的范围内,使程序中的每一个可执行语句都至少执行一次,程序中的循环体最多只执行一次。

m0_75269526的博客 1822
上一篇: 白盒测试测试冒泡排序法
下一篇: 白盒测试练习题 控制流图 + 独立路径 2
Geoooo
博客等级 码龄9年 41粉丝 39原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值