1.对程序进行插装; 2.画出程序相应的控制流图; 3.写出圈复杂度; 4.写出程序的基本路径集合; 5.设计测试用例,实现基本路径集覆盖测试; 6.对于此程序,写出使用Junit自动生成测试用例的操作步骤。 void Do (int X , int A , int B) { if ((A<1)(B= =0) ) X = X/A; if ((B<2)||(X>1) ) X = X+1; }

1.对程序进行插装; 2.画出程序相应的控制流图; 3.写出圈复杂度; 4.写出程序的基本路径集合; 5.设计测试用例,实现基本路径集覆盖测试; 6.对于此程序,写出使用Junit自动生成测试用例的操作步骤。 void Do (int X , int A , int B) { if ((A<1)&&(B= =0) ) X = X/A; if ((B<2)||(X>1) ) X = X+1; }


参考答案和解析
库函数

相关考题:

阅读下面程序: include void fun(int n) { int x(5); static int y(10); if(n>0) { 阅读下面程序:include<iostream.h>void fun(int n){int x(5);static int y(10);if(n>0){++x;++y;cout<<x<<","<<y<<end1;}}void main(){int m(1);fun(m);}则该程序的输出结果是______。

阅读下面程序: include void f(int n) { int x(5); static int y(10); if(n>0) { ++ 阅读下面程序:include<iostream.h>void f(int n){int x(5);static int y(10);if(n>0){++x;++y;cout<<x<<","<<y<<endl;}}void main(){int m(1);f(m),}则该程序的输出结果是【 】

● 给定C 语言程序:int foo( int x, int y, int d){if( x != 0 ) {if ( y == 0 ) d = d / x;else d = d / (x * y );} else {if( y == 0 ) d = 0;else d = d / y;}return d ;}当用路径覆盖法进行测试时,至少需要设计 (31) 个测试用例。(31)A. 3 B. 4 C. 5 D. 8

给定C语言程序:int foo(int x, int y,int d){if ( x !=0 ) {if ( y == 0 ) d = d / x;else d=d/(x*y);} else {if ( y == 0 ) d = 0;else d=d/y;}return d;}当用路径覆盖法进行测试时,至少需要设计(31)个测试用例。A.3B.4C.5D.8

下面程序的结果【】。 include int f(int); void main() { int x=1,i; for (i=0; i 下面程序的结果【 】。include<iostream.h>int f(int);void main() {int x=1, i;for (i=0; i<3; i++)cout<<f(x)<<‘ ’ ;cout<<end1;}int f(int x){int y=1;static int z=3y++;z++;return (x+y+z);}

基本路径测试法主要包括( )。A.程序的控制流图、程序环路复杂性、导出测试用例、导入测试用例、图形矩阵B.程序的控制流图、程序环路复杂性、导出测试用例、准备测试用例、关系矩阵C.程序的数据流图、程序环路复杂性、导出测试用例、准备测试用例、图形矩阵D.程序的控制流图、程序环路复杂性、导出测试用例、准备测试用例、图形矩阵

有如下程序:include void fun(int x, int y){int t=x;x=y;y=t;}int main (){int 有如下程序: #include <iostream> void fun(int x, int y){int t=x;x=y;y=t;} int main () { int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; } 执行后的输出结果是A.42,42B.23,23C.23,42D.42,23

下列程序的输出结果是()。 include int fun(int x) {int a; if(x==0‖x==1) return 3; 下列程序的输出结果是( )。#include<stdio.h>int fun(int x){ int a;if(x==0‖x==1)return 3;elsea=x-fun(x-2) ;return a;}void main(){ printf("%d",fun(7) );}A.2B.8C.9D.5

针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支覆盖的要求。int MathMine(int x){int m=0;int i;for(i=x-1; i<=x+1; i++){if (i<0) continue;if (i>31) break;if (sta[i]=-1) m++;}return m;}A.3B.4C.5D.6A.B.C.D.

论述题3:针对以下C语言程序,请按要求回答问题下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。函数说明:当i flag=0;返回i count+100当i flag=l;返回i count*10否则 返回 i count*20输入参数:int i count int i flag输出参数:int i retum程序代码如下:(1)画出该函数的控制流程图。(2)采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。

写出下列程序的运行结果【】。 include void func(double x, int part1, double 写出下列程序的运行结果【 】。include<iostream. h>void func(double x, int part1, double part2){part1=int(x)+500:part2=(x+500-part1)*100;}void main( ){int n;double x, f;x=1001. 0103;func (x, n, f):cout<<"Part 1="<<n<<" , part2="<<f<<end1}

● 针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要__个测试用例能够满足分支覆盖的要求。 int MathMine( int x ) { int m = 0; int i; for( i = x-1; i = x + 1; i++ ) { if ( i 0 ) continue; if ( i 31 ) break; if ( sta[i] == -1 ) m++; } return m; }A.3B.4C.5D.6

阅读下列说明,回答问题1至问题3。【说明】使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。int IsLeap(int year){if(year% 4==0){if((year % 100==0){if( year % 400==0'leap=1;eIseleap=0;}elseleap=1;elseleap=0;return leap;}请画出以上代码的控制流图。请计算上述控制流图的V(G)。假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。请帮忙给出每个问题的正确答案和分析,谢谢!

分析下列程序,并写出运行结果【】。 include voidmain(){ int x[10]: int i=5,*ptr=x; 分析下列程序,并写出运行结果【 】。include<iostream.h>void main(){int x[10]:int i=5,*ptr=x;*(ptr+i)=10;cout<<x[i]<<end1;

以下程序的输出的结果是()。include int x=3;void main(){void incre();int i;for ( 以下程序的输出的结果是( )。#include <iostream.h>int x=3;void main(){ void incre(); int i; for (i=1;i<x;i++) incre();}Void incre(){ static int x=1; x*=x+1; cout<<x<<"";}A.3 3B.2 2C.2 6D.2 5

以下程序的输出的结果是()。includeint x=3:void main(){void fun();int i;for(i=1; 以下程序的输出的结果是( )。 #include<iostream.h> int x=3: void main() { void fun(); int i; for(i=1;i<x;i++) fun(); } void fun() { static int x=1; x*=x+1; cout<<x<<" "; }A.3,3B.2,2C.2,6D.2,5

根据源代码请回答以下问题。 void sort( int Num, int Type ){ int x = 0; int y = 0; while (Num 0) { if( Type = = 0) x = y + 2; else { if( Type = = 1 ) x = y + 5; else x = y + 10; } Num--; } } (1) 请画出控制流图并计算控制流图复杂度V(G) 。 (2) 找出独立路径。 (3) 请使用基本路径测试法设计测试用例。 (4) 根据控制流图,找出变量x和y的DU path

有一段程序如下,请设计测试用例以满足语句覆盖要求。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3) } //语句块2 j=j%3; //语句块3 }

使用基本路径测试方法,为以下程序段设计测试用例。(1)画出程序的控制流图,编号已经给出。(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。(3)导出基本路径集,确定程序的独立路径。(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。void Do (int X,int A,int B){1 if ( (A1)(B=0) )2 X = X/A;3 if ( (A=2)||(X1) )4 X = X+1;5 }由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。1: A1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X1 ;6: X = X+1;7: }

采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3), ②(x=1,y=2), ③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成( )覆盖,至少需要测试用例①②③或①②④才能完成( )覆盖。A.语句 B.条件 C.判定\条件 D.路径 A.语句 B.条件 C.判定\条件 D.路径

阅读下列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中控制流图的线性无关路径。

●试题二阅读下列程序和控制流图,将应填入(n)的字句写在答题纸的对应栏内。【程序】下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。int GetMax(int n,int datalist[]){int k=0;for(int j=1;jn;j++)if(datalist[j]datalist[k])k=j;return k;}【控制流图】【问题1】该程序的控制流图中A~E分别是什么?【问题2】计算控制流图的McCabe环路复杂性。【问题3】用基本路径覆盖法给出测试路径。【问题4】为各测试路径设计测试用例。

采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3),②(x=1,y=2),③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成 ( ) 覆盖,至少需要测试用例①②③或①②④才能完成 (请作答此空) 覆盖。A.语句B.条件C.判定/条件D.路径

逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 getit( int m) { int i, k; k=sqrt(m); for ( i=2; i<=k; i++) if (m % i=0) break; if ( i>=k+1 ) printf( "%d is a selected number\n", m); else printf( "%d is not a selected number\n", m ); }7、请找出程序中所有的逻辑判断子语句。(5分)8、请将满足100%DC(判定覆盖)所需的逻辑条件填入下表。(8分)9、请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。假设函数getit的参数m取值范围是150<m<160,请使用基本路径测试法设计测试用例,将参数m的取值填入下表,使之满足基本路径覆盖要求。(4分)

针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要( )个测试用例能够满足分支覆盖的要求。int MathMine(int x){int m=0;int i;for(i=x-1;i<=x+1;i++){if(i<0)continue;if(i>31)break;if(sta[i]=-1)m++;}return m;}A.3B.4C.5D.6

阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【C程序】int count(int x,int z){int y=0;while(x>0){ //lif(x==1) //2y=7; //3else{ //4y=x+z+4;if(y=7||y=21) //5,6x=1; //7}x--; //8}return y; //9问题:1.1 (3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。 问题:1.2 (7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。 问题:1.3 (5分)请给出问题2中控制流图的线性无关路径。

阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【C程序】int count(int x,int z){int y=0;while(x>0){ //lif(x==1) //2y=7; //3else{ //4y=x+z+4;if(y=7||y=21) //5,6x=1; //7}x--; //8}return y; //9}问题1: (3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。问题2: (7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。问题3: (5分)请给出问题2中控制流图的线性无关路径。

阅读下列说明,回答问题l至问题3,将解答或相应的编号填入对应栏内。[说明] 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 getit( int m) { int i, k; k=sqrt(m); for ( i=2; i<=k; i++) if (m % i=0) break; if ( i>=k+1 ) printf( "%d is a selected number\n", m); else printf( "%d is not a selected number\n", m ); }10、请找出程序中所有的逻辑判断子语句。11、请将满足100%DC(判定覆盖)所需的逻辑条件填入下表。12、请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。假设函数getit的参数m取值范围是150<m<160,请使用基本路径测试法设计测试用例,将参数m的取值填入下表,使之满足基本路径覆盖要求。