扫码购买正式版题库

  • 海量题库
  • 全真模拟
  • 专项训练
  • 预测试题
  • 押题密卷
  • 错题强化

[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由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; //1 start=0; n=n_ranges; while (n>1) { //2 unsigned 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)) { //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){ //8 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 5、[问题1] 请给出满足100%DC(判定覆盖)所需的逻辑条件。(6分)6、[问题2] 请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。(6分) 7、[问题3] 请给出[问题2]中控制流图的线性无关路径。(4分)

问答题
[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由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;                                                         //1
start=0;
n=n_ranges;
while (n>1)  {                                                           //2
unsigned 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)) {   //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){                      //8
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
5、[问题1] 请给出满足100%DC(判定覆盖)所需的逻辑条件。(6分)6、[问题2] 请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。(6分)
7、[问题3] 请给出[问题2]中控制流图的线性无关路径。(4分)

最新更新

易过题库在线搜题

热门题库