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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

MS Code 使用 TFVC 插件时遇到的问题

使用 TFVC 插件, 在 singin 时提示 : “It appears you have configured a non-English version of the TF executable. Please ensure an English version is properly configured.” 这是 Code 的问题, 官方解释: https://gith…

server的自增主键返回函数 sql_SQL自增主键函数

自动生成编码的主键函数比如CRM00001CRM00002CRM00003create table IntKey(KeyChar char(10))gocreate function GetKey()returns char(10)asbegindeclare KeyValue intdeclare KeyReturn varchar(20)set KeyValue cast(isnull((select max(KeyChar) from IntKey),0) as int) …

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

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

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

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

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

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

c语言中的取模运算符_C语言除法算法和取模运算的实现(多种算法,多种思路)...

对计算机来说,除法与求模是整数算术运算中最复杂的运算。相对其他运算(如加法与减法)来说,这两种算法的执行速度非常慢。例如,ARM 硬件上不支持除法指令,编译器调用 C 库函数来实现除法运算。直接利用 C 库函数中的标准整数除法程…

【CF603E】Pastoral Oddities cdq分治+并查集

【CF603E】Pastoral Oddities 题意:有n个点,依次加入m条边权为$l_i$的无向边,每次加入后询问:当前图是否存在一个生成子图,满足所有点的度数都是奇数。如果有,输出这个生成子图中边权最大的边的权值最小可能…

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

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

sql如何遍历几百万的表_SQL Server遍历表中记录的2种方法(使用表变量和游标)

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录。本文将介绍利用使用表变量和游标实现数据库中表的遍历。表变量来实现表的遍历以下代码中,代码块之间的差异已经用灰色的背景标记。DE…

SQL的主键和外键

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

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

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

java类验证和装载顺序_java中类的加载顺序介绍(ClassLoader)

转自:http://blog.csdn.net/eff666/article/details/522034061、ClassNotFoundExcetpion我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天我就来总结一下这个问题。对于这个异常,它实质涉及到了java技术体…

[转]ASP.NET MVC4中@model使用多个类型实例的方法

本文转自:http://blog.csdn.net/hulihui/article/details/48199897 有时需要在ASP.NET MVC4的视图的model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求。 假设Person和Product是两个类型,如下是控制…

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

这里简单进行一下知识体系的梳理。 文章目录前言一、边界值分析是什么?二、因果图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;分清故障产生是内因还是外因——确定…