ZKX's LAB

控制流图的边

2020-07-16知识9
在程序控制流图中,有8条边、6个节点,则控制流图的环路复杂性V(G)等于______ 参考答案:B解析:圈复杂度的计算公式为:V(G)=e-n+2=8-6+2=4。 什么是圈复杂度(Cyclomatic Complexity) 一种代码复杂度的衡量标准,中文名称叫做圈复杂度。在软件测试的概念里,圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。控制流图是McCabe复杂度计算的基础,McCabe度量标准是将软件的流程图转化为有向图,然后以图论的知识和计算方法来衡量软件的质量。McCabe复杂度包括圈复杂度(Cyclomatic complexity)、基本复杂度、模块涉及复杂度、设计复杂度和集成复杂度等。控制流程图分析是一个静态的分析过程,它提供静态的度量标准技术,一般主要运用在白盒测试的方法中。控制流图的一个重要性质是它的可规约性(reducibility)。如果程序中不存在从循环外跳到循环内的goto语句,那么这个程序对应的控制流图是可规约的(reducible),反之这个控制流图就是不可规约的(irreducible)。因此,模块符合结构化程序设计的准则是控制流图可规约的基础。程序环路复杂性也即为McCabe复杂性度量,它一般常用圈复杂度来描述,记录为V(G)。它用来衡量一个程序模块所包含的判定结构的复杂... 假设在程序控制流图中,有 12 条边,8 个节点,则确保程序中每个可执行语句至少执行 参考答案:C解析: 什么是白盒测试 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异.其中运用最为广泛的是基本路径... 什么是程序控制流程图,它和程序流程图有什么区别??? 数据流程图是以图形的方式表达在问题中信息的变换和传递过程。它把系统看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个复杂的系统。很多资料上,数据流程图也叫数据流图,都指DFD:Data Flow Diagram。需要注意的是数据流图和程序设计中的程序流程图(Flow Chat)是不同的,数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不关心未来电子化处理的加工过程;数据流图中流动的只是数据,并没有控制过程,但在程序流程图当中,必须有控制逻辑。结构化分析是面向数据流开展需求分析工作的一种有效方法。一般采用自顶向下,逐层分解的演义分析法来定义系统的需求,即先把分析对象抽象成一个系统,然后自顶向下的逐层分解,将复杂的系统分解成简单的、能够清楚地被理解和表达的若干个子系统,如图1(逐层分解的数据流程图)所示。这样就可以分别理解系统的每个细节、前后顺序和相互关系,找出各部分之间的数据接口。在结构化分析方法所采用的工具有数据流程图(DFD)、数据字典(DD)、结构化语言、判定树、判定表等。数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元... 如何使用AST生成程序的控制流图(CFG)? 很明显题主是在做一个PHP的漏洞分析工具,https:// github.com/OneSourceCat /phpvulhunter 然后题主介绍它的文章: 使用PHP-Parser生成AST抽象语法树 浅谈PHP自动化代码审计... 根据程序段完成习题画出控制流图。计算环形复杂度。导出独立路径(用语句编号表示)。设计测试用例 环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测度数量的上界。流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围。扩展资料:环形复杂度的计算方法*可以用下列任何一种方法计算环形复杂度 1、流图G的环形复杂度V(G)=区域数 2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定分支点的数目。参考资料来源:百度百科-环形复杂度 如何求控制流图中的区域数 我正式用于求环行复杂度的。因为有三种方法可以计算。一种是环行复杂度数等于判定节点数+1。一种是等于区域数。还有是边和点之间的关系运算的。我就是想验证三种方法的结果... 白盒测试是什么 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的... SourceInsight集成圈复杂度检测工具 SourceMonitor可以为C++、C、C#、Java、Delphi、Visual Basic和HTML的源代码文件测试代码数量和性能。最终结果可以描绘成图、输出打印。直接百度或Google搜索SourceMonitor...

#流程图#程序测试#白盒测试#复杂度

随机阅读

qrcode
访问手机版