阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。

刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。

(1) 控制流图如下图所示:
(2)、V(G)=5+1=6
本题主要考察白盒测试中的控制流图和环路复杂度计算。
(1)控制流图的绘制:
控制流图是描述程序控制流的图示方法。根据提供的程序代码,可以绘制出控制流图。其中,圆圈表示语句覆盖,箭头表示控制流的方向。如果判断中的条件表达式是复合条件,需要将其转换为单个条件的嵌套判断。根据代码逻辑,绘制出相应的控制流图。
(2)环路复杂度V(G)的计算:
环路复杂度用来衡量程序模块的判定结构复杂程度。根据控制流图,环路复杂度V(G)可以通过判定节点个数加1来计算。在本例中,控制流图中的判定节点个数为5,所以环路复杂度V(G)=5+1=6。
控制流程图的环路复杂性V(G)有三种常用的计算方法,分别是区域个数法、边数减结点数加二法以及判定数加一法。在本题中,使用判定数加一法计算环路复杂度最为简便且不易出错。
本文链接:{问题2:请画出上述程序的控制流图,并计算其环路复杂度V(G)}
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!
