首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 struct_ProtobufC
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 struct_ProtobufC
admin
2013-01-19
47
问题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
struct_ProtobufCIntRange {
int start_value;
unsigned orig_index;
},
typedef struct _ProtobufCIntRange ProtobufCIntRange;
int int_range_lookup(unsigned n_ranges,const ProtobufCIntRange*range8,int value){
unsigned start,n; //1
start=0;
n=n_ranges;
while(n>1){ //2
unsigned mid=start+n/2;
if(value
n=mid—start; //4
}
else if(value>=ranges[mid].start_value+
(int)(ranges[mid+1].orig_index-ranges[mid].orig_index)) {//5
unsigned new_start=mid+1; //6
n=start+n-new_start;
start=new_start;
}
else //7
return(value-ranges[mid].start_value)+ranges[mid].orig_index;
}
if(n>0){ //18
unsigned start_orig_index=ranges[start].orig_index;
unsigned range_size=ranges[start+1].orig_index-start_orig_index;
if(ranges[start].start_value<=value
&&value<(int)(ranges[start].start_value+range_size)) //9,10
return(value-ranges[start].start_value)+start_orig_index; //11
}
return-1; //12
} //13
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
选项
答案
控制流图 [*] 环路复杂度V(G)=7
解析
本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
根据题中程序绘制的控制流图如下所示。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,if(ranges[start].start_value<=value&&value<(int)(ranges[start].start_value+range_size))这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。控制流图详见参考答案。
环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度,数量上表现为独立路径的条数,即合理地预防错误所需测试的最少路径条数。环路复杂度等于图中判定节点的个数加l,图中判定节点个数为6,所以V(G)=7。
转载请注明原文地址:https://kaotiyun.com/show/87WZ777K
本试题收录于:
软件评测师下午应用技术考试题库软考中级分类
0
软件评测师下午应用技术考试
软考中级
相关试题推荐
根据《信息技术服务运行维护第1部分:通用要求》(GB/T28827.1—2012)给出的运行维护服务能力模型,运行维护服务能力的四个关键要素不包括()。
在信息系统工程监理活动中,监理人员只在核定的业务范围内开展相应的监理工作,这体现了信息系统工程建设组织协调的()原则。
关于信息系统建设合同索赔的描述,不正确的是,()。
某信息系统工程项目承建单位决定采用效率高的公共构件库,预计11月30日变更在用的信息系统项目的工程方案,最晚应在()向监理工程师提出变更要求,提交出面工程变更建议书。
某信息系统工程对质量控制特别重视,多次召开三方会议讨论质量控制方案,建设单位、承建单位、监理单位对质量控制点的设置和处理策略产生了分歧。下列说法正确的是()。
()描述了系统的功能,由系统、用例和角色三种元素组成。
()是物联网感知层中的信息采集技术。
软件设计活动中,项目开发计划包括质量保证计划、配置管理计划、(35)和安装实施计划。
关于信息工程项目质量控制的描述,不正确的是()。
某计算机系统结构如下图所示,若所构成系统的每个部件的可靠度均为0.9,即R=0.9,则该系统的可靠度为______。
随机试题
Itwasduringhisstayinthecountryside______hebegantolearnEnglish.
WhenshephonedIdidn’thavemuchtimetotalk,becauseI______forFranceintwohours.
睾丸(卵巢)动脉起自________;子宫动脉起自________;阑尾动脉起自________。
急性心肌梗死应用主动脉内气囊反搏术的最佳适应证是
下列哪项不是酸雨的有害作用
患者,男性,40岁。饱餐后突发中上腹剧痛,呈撕裂样,迅速波及全腹10小时来诊。既往高血压病15年,血压控制不理想。“胃病”2年,未规律诊治。查体:急性病容,腹肌强直,肠鸣音未闻及,WBC11×109/L。则最适宜的处置方式为
招标文件或者资格预审文件售出后,( )。
企业发生年度亏损时,可以按照财务制度规定,根据不同情况用()弥补亏损。
故意骗取、盗用财产或违反监管规章、法律或公司政策导致的损失事件属于()。
企业在销售商品时,如果估计价款收回的可能性不大,即使收入确认的其他条件均已满足,也不应当确认收入。()
最新回复
(
0
)