《软件测试》期末

  • 格式:doc
  • 大小:99.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、使用基本路径测试方法,为以下程序段设计测试用例。

(1)画出程序的控制流图,编号已经给出。

(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。

(3)导出基本路径集,确定程序的独立路径。

(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

void Do (int X,int A,int B)

{

1 if ( (A>1)&&(B=0) )

2 X = X/A;

3 if ( (A=2)||(X>1) )

4 X = X+1;

5 }

由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。 1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }

一、综合题(每题10分,共计20分)

1、画出控制流图:如右图所示

计算环形复杂度:

10(条边)- 7(个节点)+ 2 = 5

导出独立路径(用语句编号表示)

路径1:1→2→3→4→5→6→7

路径2:1→4→5→6→7

路径3:1→2→4→6→7

路径4:1→2→4→5→7

路径5:1→2→3→4→5→7

测试用例

用例号路径输入数据

A B X 预期输出X

TC1 1→2→3→4→5→6→7 3 0 6 3

TC2 1→4→5→6→7 0 1 3 4

TC3 1→2→4→6→7 2 1 1 2

TC4 1→2→4→5→7 3 1 0 0

TC5 1→2→3→4→5→7 3 0 3 1

1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆

盖、组合覆盖和路径覆盖,并画出相应的程序流程图。

void DoWork (int x,int y,int z)

{

int k=0,j=0;

if ( (x>3)&&(z<10) )

{ k=x*y-1;

j=sqrt(k); //语句块1

}

if ( (x==4)||(y>5) )

{

j=x*y+10;

} //语句块2

j=j%3; //语句块3

k=0

j=0

k=x*y-1

j=sqrt(k)

x>3

and

z<10

}

由这个流程图可以看出,该程序模块有4条不同的路径:

P1:(a-c-e) P2:(a-c-d)

P3:(a-b-e) P4:(a-b-d)

将里面的判定条件和过程记录如下:

判定条件M={x>3 and z<10}

判定条件N={x=4 or y>5}

语句覆盖

测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0T T P1(a-c-e)

2、判定覆盖

测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0T T P1(a-c-e)

x=2,z=11,y=5k=0,j=0F F P4(a-b-d)

也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:

3、条件覆盖

对于M:x>3取真时T1,取假时F1;

z<10取真时T2,取假时F2;

对于N:x=4取真时T3,取假时F3;

y>5取真时T4,取假时F4。

条件:x>3,z<10,x=4,y>5

条件:x<=3,z>=10,x!=4,y<=5

5

条件组合

1)x>3,z<10 2)x>3,z>=10

3) x<=3,z<10 4)x<=3,z>=10

5)x=4,y>5 6)x=4,y<=5

6