软件测试白盒测试用例练习题

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

白盒测试用例练习

一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。

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

}

由这个流程图可以看出,该程序模块有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}

1、语句覆盖

2、判定覆盖

p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。

也可以让测试用例测试路径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

根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示:

4、判定/条件覆盖

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

7)x!=4,y>5 8)x!=4,y<=5

6、路径覆盖

二、冒泡法排序:

#include main()

{

int i,j,temp;

int a[10];

for(i=0;i<10;i++) scanf ("%d,",&a[i]); for(j=0;j<=9;j++) {

for (i=0;i<10-j;i++) if (a[i]>a[i+1]) { temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;}

}

for(i=0;i<10;i++) printf("%5d,",a[i] ); printf("\n");

}

2、程序流程图

3

3.1语句覆盖

3.2判定覆盖

3

3.3条件覆盖

3.4路径覆盖

相关文档
最新文档