软件测试之控制流图以及环形复杂度独立路径求解问题

首先需要明确的是,控制流图并不等于流程图,可以理解为控制流图的出现是为了后续的环形复杂度的计算和写出独立路径和配以相应的测试用例。

所以控制流图是核心,画图的时候务必谨慎再谨慎,要不然可能你后面的全部崩盘。
控制流图考察的主要是你对于一个程序的逻辑解读,这是大一时候的基本功,那句话怎么说的来着,你可以不会自己写,但你要看的懂别人写的,要不然你连白嫖的段位都达不到。

这里主要说两个在初学时容易忽视的逻辑关系。也就是并&&和或||的短路

1.**A||B ||在为真时短路,即如若A为真,则不对B进行判断,直接执行下方的对应语句。**这里举例说明:
或的短路

2.** A&&B &&在为假时短路,即如若A为假,则不对B的真假进行判断,默认下方语句得不到执行。** 同样附图进行说明,与上同理,这里不再在图中进行标注。
与的短路

剩下的就没什么了,主要靠的就是细心啦,记住,慢慢来,才更快。

2.环形复杂度的求解方式(这里直接附图做简单说明):
环形复杂度
计算样例如下

计算
方法有三种,掌握两种就行,一种用来算,一种用来验证答案是否正确。

3.至于独立路径,用课本的定义来说,就是每个不同的测试路径至少要走过之前的路径没走过的一条边。
在我看来,本质上就是根据看图写出可以走的路径,这里有个技巧就是先写短路径,再补长路径。路径总条数应该与环形复杂度相同。

原疫情早日过去,不用再上网课,孩子真的听不进去呀。每次都得课下自学补回来,真是难受。
自由

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试之黑盒测试-等价类划分法

首先,明确等价类分为有效等价类和无效等价类两种,一般无效等价类都是根据有效等价类写出来的。为了严谨,在白话文之前还是附个定义吧,以免误人子弟。 说白了,有效等价类就是有效输入数据的集合,无效等价类…

PM2.5环境检测系统的设计与分析

PM2.5环境检测系统的设计与分析 摘要: 大气颗粒物污染对人类健康和生态环境造成了很大的影响,这让人们逐渐重视起对细颗粒物PM2.5检测技术的研究。本文阐述了PM2.5浓度检测的五种方法,在对上述各方法分析总结的基础上针对日常生活中PM2.5污染…

关于C和C++中for循环对于中间逗号的判定

for(;A,B,;) 虽然学了好久C语言了,但是自己还真是一直没有注意过for循环中间有逗号表达式的时候判定,之前一直都是以为A和B同时满足了才会进行执行。学编译原理,深入理解一些语言的结构的时候才发现了这一点…

关于C/C++中函数参数传递的规则

f(A,B,C); 在编译程序中,对函数参数传递的处理是由右向左进行的。 因此,先传递的是最右边的参数的值。这个结论在日常使用的时候其实也很难发现有什么具体的区别,但是在编译原理中或者一些偏向于理论的考试…

SQL的主键和外键

SQL的主键和外键的作用 SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)删除主键表记录时,你…

win 11bitlocker恢复密匙一般情况的解决方式(这里指的是你现在使用的微软账户一直没有变更过)

本来没有打算写这一篇解决帖子的,但是最近好多微博的友友都在私我询问解决方法,孩子虽然很热心,但是真的回复不过来了,打字太累了,这里给大家简单指个路,希望能够对大家有所帮助。 当时出现这个问题的时候…

软件测试之黑盒测试-边界值分析法(理论白话学习/期中期末备考)

这里简单进行一下知识体系的梳理。 文章目录前言一、边界值分析是什么?二、因果图1.分析规格说明中给出的原因,结果和是否可能存在中间态。2.标约束,画图三、画判定表并画出对应的测试用例表。总结前言 主要从三个方面谈一下简单应用 边界值…

window下搭建Python3.7+selenium3.1.1+pycharm环境

1.安装Python3.7 1.1 下载 Python并安装 Python3.5 (勾选上 Add Python3.7 to PATH) 点击 Install Now,安装完成后将python路径加入环境变量Path 如D:\python35\Python35;D:\python35\Python35\Scripts; 1.2 安装完成之后,winr…

软件测试之单元测试之Junit测试使用前准备

Junit测试只能说是算的上软件测试这门课中首次出现需要实操进行测试的工具了。 可以理解为前面的黑盒测试,白盒测试是为了理解一种测试思想,根据测试思想能够进行设计测试样例,到了Junit单元测试这里,就成了利用工具进行具体的测…

解释为脑瘫的那张图_Python GIL全局解释器锁详解(深度剖析)

通过前面的学习,我们了解了 Pyton 并发编程的特性以及什么是多线程编程。其实除此之外,Python 多线程还有一个很重要的知识点,就是本节要讲的 GIL。GIL,中文译为全局解释器锁。在讲解 GIL 之前,首先通过一个例子来直观…

SPOJ3276 D-query

题意&#xff1a;n个数 a1...an&#xff0c;q组询问&#xff0c;每组询问给定 l&#xff0c;r&#xff0c;输出 [ l, r ] 有多少不同的数 ( n ≤30000, q ≤200000, ai ≤ 106 ) 离线 树状数组维护 1 #include<bits/stdc.h>2 3 using namespace std;4 5 const int MAXN…

关于string型的处理——pta L1常用

1.关于带空格字符串函数的输入 a.getline(cin,str); b.getline(cin,str,c);(c为字符。) #include<bits/stdc.h> using namespace std; int main() {string str1,str2;getline(cin,str1); //输入带空格的字符串&#xff0c;当输入空格的时候终止 getline(cin…

电路板上的插头怎么拔下来_空调维修排查电路板内外原因

点击链接&#xff1a;空调变频板维修在线课程来了空调维修资料库重大更新&#xff0c;正在上传中&#xff0c;点击马上拥有排查电路板内外原因熟悉电路结构&#xff0c;先分清控制板的内外电路&#xff0c;外部检测、外部控制等&#xff0c;分清故障产生是内因还是外因——确定…

在比赛中一些对数和数组的操作的应用(持续更新)

1.整形数组的排序-sort函数&#xff08;在比赛中如果比赛不卡时间的话可以节省不少时间&#xff09; sort(na,nb);(n为你想要进行排序的整形数组)&#xff1b; #include<bits/stdc.h> using namespace std; int main() {int num[10]{1,23,232,213,112,123,342,42,121,12…

软件测试知识体系结构整理(一)(个人为备战期中期末理论考试所总结,如需要系统学习关于软件测试的知识,请参考其他博主)

系列文章目录 第一章 软件测试基本概念 文章目录系列文章目录一、软件测试基本概念1.软件缺陷2.软件缺陷类型3.软件缺陷等级4.关于对软件测试的一般误区5.软件测试环境二、白盒测试1.白盒测试的概念与优缺点理解2.逻辑测试3.基本路径测试三.黑盒测试1.等价类测试2.边界值分析法…

算法训练 6-1 递归求二项式系数值

算法训练 6-1 递归求二项式系数值 问题描述样例输入一个满足题目要求的输入范例。3 10样例输出与上面的样例输入对应的输出。数据规模和约定输入数据中每一个数的范围。例&#xff1a;结果在int表示时不会溢出。 import java.util.Scanner;public class Main {public static v…

印象笔记mac版 同步问题_印象笔记表示 今年将大幅提升产品体验

【手机中国新闻】尽管去年取得了一些成绩&#xff0c;但印象笔记依旧在业务泥潭中苦苦挣扎&#xff0c;该公司一度裁员15%并承受了一些高管的离职。Ian Small去年10月起取代2015年上任的Chris O Neill成为印象笔记现任CEO&#xff0c;相较于一些相关的老生常谈的创新&#xff0…

函数基本语法及特性

我先复制了下面一段&#xff0c;挺有意思的。 背景提要 现在老板让你写一个监控程序&#xff0c;监控服务器的系统状况&#xff0c;当cpu&#xff3c;memory&#xff3c;disk等指标的使用量超过阀值时即发邮件报警&#xff0c;你掏空了所有的知识量&#xff0c;写出了以下代码 …

将一个项目发布到Tomcat上并进行运行

1.下载任意版本的Tomcat&#xff0c;我这里是9的版本&#xff0c;应该是当前我认为比较好用的一个版本了&#xff0c;有需要的话可以到公众号自取。 微信公众号搜索“是短短吖” 后台回复“Tomcat”即可。 2.在webapp下部署一个项目Test&#xff08;名字自选&#xff0c;英文…

利用在Tomcat上部署servlet程序(手动布置加强关于servlet知识的理解,当前的idea是可以实现自动部署的)

一.手动部署 1.在idea里简单的建立一个测试的项目&#xff0c;创建一个简单的java文件&#xff0c;创建一个简单的类&#xff0c;进行继承HttpServlet&#xff0c;我这里以TT为例。&#xff08;PS:为避免后续麻烦&#xff0c;代码会最后给出全部&#xff0c;理解过程即可&…