逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
int XOR(char * filename, unsigned long key){
FILE * input = NULL,*output = NULL; //1
char * outfilename = NULL;
int len = strlen(filename);
unsigned char buffer;
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,”'wbf”);
if( output = 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中控制流图的线性无关路径。
【问题1】
(filename[len-2] == ‘.’) && (filename[len-l] == ‘c’)
(filename[len-2] != ‘.’) && (filename[len-l]!= ‘c’)(或与之等价的表达式,使得判定结果为假)
input == NULL
input != NULL(或与之等价的表达式,使得判定结果为假)
output == NULL
output != NULL(或与之等价的表达式,使得判定结果为假)
! feof(input)
feof(input)(或与之等价的表达式,使得判定结果为假)
fread(&buffer,sizeof(unsigned char), 1,input) != 1
fread(&buffer,sizeof(unsigned char), 1,input) == 1(或与之等价的表达式,使得判定结果为假)
! feof(input)
feof(input)(或与之等价的表达式,使得判定结果为假)
【问题2】
V(G)=8
【问题3】
1、1 2 3 4 6 7
2、1 2 3 5 6 7
3、1 2 5 6 7
4、1 2 5 6 8 9
5、1 2 5 6 8 10
6、1 2 5 6 8 10 11 12 13
7、1 2 5 6 8 10 11 14
8、1 2 5 6 8 10 11 12
或者其他符合要求的等价的路径组合
Advancements in ( )have contributed to the growth of the automotive industry through the creation and evolution of self-driving vehicles.
In project human resource management , ( )is not a source of power for the project manager.
At the project establishment stage , the feasibility study mainly includes techinical feasibility analysis , ( ), operation environment feasibility analysis and other aspects of feasibility analysis.
( )is a grid that shows the project resources assigned to each work package.
Xinhua News Agency reported in January 2022,Chian will further promote the developmet of a digital economy during the 14th Five-Year Plan eriod(2021-2025). The plan also emphasized industrial ( )transformation.
某公司投资一个使用寿命为5年的项目,第一年年初投入1000万元,从第1年到第5年每年年末都有净现金流量300万元。则项目的静态投资回收期为( )年。
下图是某地的街区网络图(单位:)里),疫情防控期间,一辆消毒车从疾控中心出发,需要消杀所有的街道并返回疾控中心。该消毒车完成消杀工作至少需要运行( )公里 。
某公司有东部、中部、西部三个生产基地,生产的产品需要运送带甲、乙、丙、丁四个市场,从生产基地到各个市场的单位运价及产量和需求量如表所示,完成该运输任务所需的最小运费为( )。
某炼油厂每季度需供应合同单位汽油15吨,煤油12吨,重油12吨,该厂从甲乙两处运回原油提炼,已知两处炼油成分如表所示,从甲处采购原油价格为2000元/吨,乙处为2900元/吨,为了使成本最低,炼油厂应从甲处购15吨,乙处采购( )吨。
某炼油厂每季度需供应合同单位汽油15吨,煤油12吨,重油12吨,该厂从甲乙两处运回原油提炼,已知两处炼油成分如表所示,从甲处采购原油价格为2000元/吨,乙处为2900元/吨,为了使成本最低,炼油厂应从甲处购( )吨,乙处采购20吨。