首页
登录
从业资格
[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍
[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍
考试题库
2022-08-02
57
问题
[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。Struct_ProtobufCIntRange{Int start_value;Unsigned orig_index;};typedef struct_ProtobufCIntRange ProtobufCIntRange;in tint_range_lookup(unsigned n_ranges,const ProtobufCIntRange*ranges,int value) {unsigned start,n; //1start=0;n=n_ranges;while (n>1) { //2unsigned mid=start+n/2;if(value< ranges[mid].start_value) { //3 n=mid-start; //4}else if (value>=ranges[mid].start_value+ (int)(ranges[mid+1].orig_index-ranges[mid].orig_index)) { //5unsigned new_start=mid+1; //6n=start+n-new_start;start=new_start;}else //7return(value-ranges[mid].start_value)+ranges[mid].orig_index;}if(n>0){ //8unsigned 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,10return(value-ranges[start].start_value)+start_orig_index; //11}return -1; //12} //135、[问题1] 请给出满足100%DC(判定覆盖)所需的逻辑条件。(6分)6、[问题2] 请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。(6分)7、[问题3] 请给出[问题2]中控制流图的线性无关路径。(4分)
选项
答案
解析
5、本题考查白盒测试法的应用。 本问题考查白盒测试用例设计方法中的判定覆盖法。 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有5个判定,所以满足判定覆盖一共需要10个逻辑条件,如下表所示。
6、本问题考查白盒测试用例设计方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。 控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
根据题中程序绘制的控制流图如下所示。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,if (ranges[start].start_valueihg<=value&&value<(int)(ranges[start].start_value+range_size))这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。
环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度,数量上表现为独立路径的条数,即合理地预防错误所需测试的最少路径条数。环路复杂度等于图中判定结点的个数加1,图中判定结点个数为6,所以(G)=7。 7、本问题考查白盒测试用例设计方法中的基本路径法。 (1) 1-2-3-4-2... (2) 1-2-3-5-6-2... (3) 1-2-3-5-7-13 l(4) 1-2-8-9-10-11-13 (5) 1-2-8-9-10-12-13 (6) 1-2-8-9-12-13 (7) 1-2-8-12-13
转载请注明原文地址:https://tihaiku.com/congyezige/2416157.html
本试题收录于:
中级 软件评测师题库软件水平考试初中高级分类
中级 软件评测师
软件水平考试初中高级
相关试题推荐
在采用面向对象开发方法开发交通系统时,若将"汽车"与"交通工具"分别设计为类,则
以下关于软件开发的叙述中,不正确的是()。A.软件要设计得尽量通用,要尽量考虑
第四代程序语言(4GL)有()。A.C++ B.SQL C.Visual
测试四个程序模块共发现了42个错,则()。A.至少有1个模块至少有11个错
动态数据流机最突出的特点是()。A.需要程序记数器来实现 B.数据流令牌无标
以下关于木马程序的叙述中,正确的是()。A.木马程序主要通过移动磁盘传播 B
一般情况下,企业对程序员的素质要求中不包括()。A.根据有关的合同和规范,对所
在高级程序设计语言中,对程序员来说,数据类型限定了()。A.变量的值域和操作
以下关于单元测试叙述中,不正确的是()。A.侧重于检查模块中的内部处理逻辑和数
在程序运行过程中,()时可能需要进行整型数据与浮点型数据之间的强制类型转换。①
随机试题
DavidCameronhasnoticedthathealthandsafetyregulationsstopschoolst
[originaltext]Wearingyouremotionsonyoursleeveisnolongerjustafigu
Ateamwhich______of15firefightersenteredthatdistricttorescuethetrapped
计算机网络的目标是实现()。A.资源共享与数据传输 B.文献查询 C.
慢性呼吸衰竭最常见的病因是A.慢性阻塞性肺疾病 B.肺间质纤维化 C.重症肺
“函数图象”是高中数学中很重要的知识点,通过复习所学函数模型及其图象特征.可以使
某日,小李从甲地出发,开车前往乙地。若初始速度为每60千米需要行驶一个半小时。2
(2016年真题)某企业利用大豆期货进行卖出套期保值,当基差从-100元/吨变为
白矾不良反应的表现是A.水肿 B.出血 C.痴呆 D.皮肤糜烂 E.眼结
以下关于桩外形的描述,正确的是A.卵圆形 B.直径为根径的1/2 C.与根管
最新回复
(
0
)