题目
第1题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现
程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
【问题1] (6分)
请给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2] (10分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3](4分)
请给出问题2中控制流图的线性无关路径。
第2题
阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。
[说明]
逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。
void cal (int n)
{
int g, s, b, q;
if((n>1000) && (n<2000) )
{
g=n % 10;
s=n % 100 / 10;
b=n / 100 % 10;
q= n / 1000;
if((q+g) =={ s + b ) )
{
printf("%-5d",n);
}
}
printf("\n");
return;
}
请找出程序中所有的逻辑判断语句。
请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。
假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。
请帮忙给出每个问题的正确答案和分析,谢谢!
第3题
阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。
[说明]
逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。
void cal (int n)
{
int g, s, b, q;
if((n>1000) && (n<2000) )
{
g=n % 10;
s=n % 100 / 10;
b=n / 100 % 10;
q= n / 1000;
if((q+g) =={ s + b ) )
{
printf("%-5d",n);
}
}
printf("\n");
return;
}
请找出程序中所有的逻辑判断语句。
请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。
假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。
请帮忙给出每个问题的正确答案和分析,谢谢!
第4题
阅读以下说明,回答问题1~2,将解答填入对应的解答栏内。
[说明] 某程序的功能是输入三个正整数作为边长,判断三条边构成的三角形是否等边、等腰或是一般三角形。
通过该程序的算法用等价类设计测试用例,检查逻辑覆盖标准。
第5题
试题二(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
struct _ProtobufCIntRange{
int start_value;
unsigned orig_index;
};
typedef struct _ProtobufCIntRange ProtobufCIntRange;
int int_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
}
retum -1, //12
} //13
【问题1】(5分)
请给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2】 (7分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3】(3分)
请给出【问题2】中控制流图的线性无关路径。
第6题
试题一(共20分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
int XOR(char * filename, unsigned long key){
FILE* input = NULL,*output = NULL; //1
char *outfilename = NULL;
int len = strlen(filename);
unsigned charbuffer;
if((filename[len-2] == ‘.’) && (filename[len-l]== ‘c’)){ //2,3
outfilename = new char[len+l]; //4
strcpy(outfilename,filename); outfilename[len-2] = ‘\0’;
}
else{ //5
outfilename = new char[len+5];
strcpy(outfilename , filename);
strncat(outfilename,”.c”,2);
}
input = fopen(filename,”rb”);
if(input = NULL){ //6
cout<<"Error opening file " << filename<<endl ; //7
delete [] outfilename;
outfilename = NULL;
return 1;
}
output = fopen(outfilename,”&39;wbf”);
if(utput =NULL) { //8
cout<<"Error creating output file ”<< outfilename <<endl; //9
delete []outfilename;
outfilename =NULL;
return 1;
}
while(! feof(input) ){ //10
if(fread(&buffer,sizeof(unsigned char), 1,input) != 1 ){ //11
if(! feof(input)){ //12
delete [] outfilename; //13
outfllename = NULL;
fclose(input);
fclose(output);
return 1;
}
}
else{ //14
buffer A= key;
fwrite(&buffer,sizeof(unsigned char), 1,output);
}
}
fclose(input);
fclose(output);
delete []outfllename;
return 0;
}
【问题1】(6分)
请给出满足100%DC (判定覆盖)所需的逻辑条件。
【问题2】(10分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3】(4分)
请给出问题2中控制流图的线性无关路径。
第7题
阅读下列技术说明,根据要求回答问题1~问题5。
[说明]
某学校在原校园网的基础上进行网络升级改造,网络拓扑结构如图4-12所示。其中网管中心位于办公楼第6层,采用动态IP地址及静态IP地址结合的方式进行IP地址的管理和分配。
网络逻辑结构设计是体现网络规划与设计核心思想的关键阶段。通常,网络逻辑结构设计工作主要包括哪些方面的内容?
第8题
阅读下列说明,回答问题1至问题3。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp)
{
if(temp==">=")
m_oper.SetCurSel(0);
else
{
if(temp==">")
m_oper.SetCurSel(1);
else
{
if(temp=="==")
m_oper.SetCurSel(2);
else
{
if(temp=="<=")
m_oper.SetCurSel(3);
else
{
if(temp=="<")
m_oper.SetCurSel(4);
else
m_oper.SetCurSel(5);
}
}
}
}
return;
}
请画出以上代码的控制流图。
请计算上述控制流图的环路复杂度V(G)。
请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
第9题
阅读下列说明,回答问题1至问题3。
【说明】
使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。
int IsLeap(int year)
{
if(year% 4==0)
{
if((year % 100==0)
{
if(year % 400==0'
leap=1;
eIse
leap=0;
}
else
leap=1;
else
leap=0;
return leap;
}
请画出以上代码的控制流图。
请计算上述控制流图的V(G)。
假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
第10题
试题一(15 分)
阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执
行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp )
{
if (temp == ">=" )
m_oper.SetCurSel(0 );
else
{
if (temp == ">" )
m_oper.SetCurSel(1 );
else
{
if (temp == "==" )
m_oper.SetCurSel(2 );
else
{
if (temp == "<=" )
m_oper.SetCurSel(3 );
else
{
if (temp == "<" )
m_oper.SetCurSel(4 );
else
m_oper.SetCurSel(5 );
}
}
}
}
return;
}
[问题1](6 分)
请画出以上代码的控制流图。
[问题2](3 分)
请计算上述控制流图的环路复杂度 V(G)。
[问题3](6 分)
请使用基本路径测试法为变量 temp 设计测试用例,使之满足基本路径覆盖要求。
第11题
阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应
栏内。
【说明】
使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求
更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。
以下是一段C语言代码,请仔细阅读并回答相关问题:
【问题1】(6分)
请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。
将答案填写在答题纸的对应栏中。
【问题2】(5分)
画出以上代码的流程图,将答案填写在答题纸的对应栏中。
【问题3】(4分)
请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取
值范围,将答案填写在答题纸的对应栏中.
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!