试题一(共20分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。int XOR(char * filename, unsigned long key){FILE* input = NULL,*output = NULL; //1char *outfilename = NULL;int len = strlen(filename);unsigned char

题目

试题一(共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中控制流图的线性无关路径。


相似考题
更多“试题一(共20分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是 ”相关问题
  • 第1题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    如图10-4所示是电子商务系统平台结构示意图。

    请把空缺的地方填写完整。


    正确答案:(1)接口中间层。 (2)Web服务器。 (3)数据库服务器。
    (1)接口中间层。 (2)Web服务器。 (3)数据库服务器。

  • 第2题:

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现

    程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。

    【问题1] (6分)

    请给出满足100%DC(判定覆盖)所需的逻辑条件。

    【问题2] (10分)

    请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

    【问题3](4分)

    请给出问题2中控制流图的线性无关路径。


    正确答案:
    本题考查白盒测试技术的应用。
    【问题1】
    本问题考查白盒测试用例设计方法:判定覆盖法。
    判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次
    “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有6个判定,
    所以满足判定覆盖一共需要12个逻辑条件。
    【问题2】
    本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据代码绘
    制控制流图、计算环路复杂度。
    控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的
    节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的
    条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,
    则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,
    if((filename[len-2]==’.’)&&(filename[len.1]=’c’))这条判断语句中的判定由两个条件
    组成,因此在画控制流图的时候需要拆开成两条判断语句。程序的环路复杂度等于控制
    流图中判定节点的个数加1,本题控制流图I中判定节点个数为7,所以V(G)=8。
    【问题3】
    本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据控制流
    图和环路复杂度给出线性无关路径。
    线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来
    看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程
    序的环路复杂度等于线性无关路径的条数,所以本题中应该有8条线性无关路径。
    参考答案

    【问题2]
    环路复杂度V(G)=8。

    线性无关路径:
    1.1-2-3-4-6-7-8-9-10-11-12-13-10......
    2.1-2-5-6-7-8-9-10-11-12-13-10.....
    3.1-2-3-5-6-7-8-9-10-11-12-13-10...
    4.1-2-3-4-6-8-9-10-11-12-13-10...
    5.1-2-3-4-6-7-8-10-11-12-13-10....
    6.1-2-3-4-6-7-8-9-10-15
    7.1-2-3-4-6-7-8-9-10-11-14-10.....
    8.1-2-3-4-6-7-8-9-10-11-12-10....

  • 第3题:

    阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。
    main( ){int i,n; //1for(i=1;i<5;i++){ //2n=0;  if(i!=1) //3 n=n+1; //4 if(i==3) //5 n=n+1; //6  if(n==3) //7  printf("Hello!"); //8 }} //9 问题1:(4分)请给出满足100%DC(判定覆盖)所需的逻辑条件。问题2:(6分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。问题3:(5分)请给出【问题2】中控制流图的线性无关路径。


    答案:
    解析:
    问题1:
    1、i < 52、i >= 53、i != 14、i == 15、i == 36、i != 37、n == 38、n != 3
    问题2(1) 控制流图如下图所示:



    (2)V(G)=4+1=5问题3:
    (1) 1-2-9 (2) 1-2-3-5-7-2... (3) 1-2-3-5-7-8-2...(4) 1-2-3-4-5-7-2… (5) 1-2-3-5-6-7-2…
    【解析】
    问题1:判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得-次 “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有4个判定,所以满足判定覆盖一共就需要8个逻辑条件,这些条件详见上述答案。问题2:
    本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:



    其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为4,所以V(G)=4+1=5。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。问题3:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有5条线性无关路径。这5条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

  • 第4题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    电子商务系统的外部社会环境如图10-5所示。

    请把空缺的地方填写完整。


    正确答案:(1)原料供应商。 (2)企业电子商务系统。 (3)消费者。
    (1)原料供应商。 (2)企业电子商务系统。 (3)消费者。

  • 第5题:

    阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。


    答案:
    解析:

  • 第6题:

    阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。
    【说明】
    某企业网络拓扑如图1-1所示,A~E是网络设备的编号。










    答案:
    解析:
    【问题1】参考答案:1.B,2.A,3.C 4.D【问题2】5.ethernet 1 6、59.74.221.254【问题3】7) C.deny 8、A 9.F【问题4】10)192.168.4.1
    11)192.168.100.0 12)设置接口的类型是trunk
    【解析】
    【问题1】试题分析:这是一道简单的概念题,考察我们对企业园区网络的基本拓扑结构的了解。通常的企业为了确保内部网络的安全,会设置防火墙,防火墙有3个区域,外网,内网和DMZ区。DMZ通常用于存放各种服务器。因此首先可以选出B这个位置是防火墙,A用于连接Internet,是路由器。DMZ区内部有多台服务器,需要使用交换机连接。【问题3】试题分析:这是网络工程师考试第一次考华为的设备配置,而我们考前准备的都是ios的命令。那这道题是不是很难呢,其实这道题非常简单,只要我们有IOS的命令经验,这道题完全可以自己凭经验做出来,题目出题也是以选择题的形式,因此更加容易,对于没有用过华为设备的考生来说,也是非常简单的。
    【问题4】试题分析:这道题同样是基本的配置,掌握基本命令即可。