资源描述
1 2016年下半年试题 1 阅读下列 C 程序,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【 C 程序】 int count(int x,int z) inty=0; while(x0) /l if(x=1) /2 y=7; /3 else /4 y=x+z+4; if( y=7|y=21) /5, 6 x=1; /7 x-; /8 return y; /9 【问题 1】( 3 分) 请针对上述 C 程序给出满足 100%DC(判定覆盖)所需的逻辑条件。 【问题 2】( 7 分) 请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。 【问题 3】( 5 分) 请给出问题 2 中控制流图的线性无关路径。 2 2015年下半年试题 1 阅读下列 java 程序,回答问题 1 至问题 3,将解答填入答题纸内对应栏内 【 Java 程序】 public int addAppTask(Acitivity activity, Intent intent, TaskDescription description, Bitmap thumbnail) Point size=getSize_(1)_; /1 final int tw=thumbnail.getWidth_(2)_; final int th=thumbmail.getHeight_(3)_; if(tw!=size.x|th!=size.y) /2,3 Bitmap bm=Bitmap.createBitmap(size.x, size.y, thumbmail.getConfig_(4)_); /4 float scale; float dx=0, dy=0; if(tw*size.xsize.y*th) /5 scale=(float)size.x/(float)th; /6 dx=(size.y-tw*scale)*0.5f; else /7 scale=(float)size.y/(float)tw; dy=(size.x-th*scale)*0.5f; Matrix matrix=new Matrix_(5)_; matrix.setScale(scale, scale); matrix.postTranslate(int)(dx+0.5f), 0); Canvas canvas=new Canvas(bm); 3 canvas.drawBitmap(thumbmail, matrix, null); canvase.serBitmap(null); thumbnail=bm; if(description=null) /8 description =new TaskDescription_(6)_; /9 /10 【问题 1】( 2 分) 请简述基本路径测试法的概念。 【问题 2】( 8 分) 请画出上述程序的控制流图,并计算其控制流图的环图复杂度 V(G)。 【问题 3】( 5 分) 请给出问题 2 中的控制流图的线性无关路径。 2014年下半年试题 1 阅读下列 C 程序,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【 C 程序】 4 int GetMaxDay( int year, int month) int maxday=0; /1 if( month=1 /8 else /9 maxday= 28; else /10 maxday= 29; else maxday = 28; /11 else /12 if (month=4|month=6|month=9|month=11) /13, 14,15,16 maxday = 30; /17 else /18 maxday = 31; 5 return maxday; /19 【问题 1】( 6 分) 请针对上述 C 程序给出满足 100%DC(判定覆盖)所需的逻辑条件。 【问题 2】( 9 分) 请画出上述程序的控制流图,并计算其环路复杂度 V(G)。 【问题 3】 (5 分 ) 请给出问题 2 中控制流图的线性无关路径。 2013年下半年试题 1 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由 C 语言 编写的程序,按要求回答问题。 int XOR( char * filename, unsigned long key) FILE * input = NULL, *output = NULL; /1 char * outfilename = NULL; int len = strlen( filename) ; unsigned char buffer; 6 if( ( filenamelen-2 = .) /4 strcpy( outfilename,filename) ; outfilenamelen-2 = 0; else /5 outfilename = new charlen+5; strcpy( outfilename , filename) ; strncat( outfilename,” .c” ,2) ; input = fopen( filename,” rb”) ; if( input = NULL) /6 coutError 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 0) /8 unsigned start_orig_index= rangesstart.orig_index; unsigned range_size=rangesstart+1.orig_index - start_orig_index; if ( rangesstart.start_value=value /6 else if (*p = f ) /7 strategy = 1; /8 11 else /9 *m+ = *p; *p+; /10 while (m != fmode + sizeof(fmode); /11 /12 【问题 1】 请给出满足 100 DC(判定覆盖)所需的逻辑条件。 【问题 2】 请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。 【问题 3】 假设函数 gz_open 的参数 mode 是由 26 个小写字母 a - z、数字 0 - 9 以及空格组成的字符串,请使 用基本路径测试法构造 1 个测试用例,使之覆盖所有基本路径。 2010年下半年试题 3 阅读下列说明,回答问题 1 至问题 3,将解答或相应的编号填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由 C 语言编写的程序,按要求回答问题。 getit( int m ) 12 int i, k; k = sqrt( m ); for ( i = 2; i = k + 1 ) printf( “ %d is a selected numbern”, m ); else printf( “ %d is not a selected numbern”, m ); 【问题 1】 请找出程序中所有的逻辑判断子语句。 【问题 2】 请将满足 100 DC(判定覆盖)所需的逻辑条件填入下表。 【问题 3】 请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。假设函数 getit 的参数 m 取值范围是 150 m 1000) s = n % 100 / 10; b = n / 100 % 10; q = n / 1000; if(q + g) = (s + b) printf( %-5d, n) ; printf( n) ; return; 14 【问题 1】 请找出程序中所有的逻辑判断语句。 【问题 2】 请分析并给出分别满足 100 DC(判定覆盖)和 100 CC(条件覆盖)时所需的逻辑条件。 【问题 3】 假设 n 的取值范围是 0 n 3000, 请用逻辑覆盖法为 n 的取值设计测试用例,使用例集满足基本路径覆盖标准。
展开阅读全文