软件测试-逻辑覆盖独立路径测试用例设计

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

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

{

int k=0,j=0;

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

{

k=x*y-1;

j=(int)sqrt(k);

}

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

j=x*y+10;

}

   j=j%3;

}

答案模板:

1.语句覆盖

  输入:

  预期输出:

2.判定覆盖

  输入:

  预期输出:

3.条件覆盖

  输入:

  预期输出:

4.判定/条件覆盖

  输入:

  预期输出:

5.条件组合覆盖

  输入:

  预期输出:

解答

程序流程图:

语句覆盖:

输入:x=4,y=6,z=9

预期输出:k=23,j=1

判断覆盖:

输入:x=4,y=6,z=9   x=2,y=5,z=20

预期输出:k=23,j=1  k=0,j=0

条件覆盖:

输入:x=4,y=6,z=9   x=2,y=5,z=20

预期输出:k=23,j=1  k=0,j=0

判定/条件覆盖:

输入:x=4,y=6,z=9   x=2,y=5,z=20

预期输出:k=23,j=1  k=0,j=0

条件组合覆盖:

输入:x=4,y=6,z=9   x=2,y=5,z=20  x=4,y=5 ,z=20  x=2,y=6 ,z=9  

x=5,y=5,z=9   

预期输出:k=23,j=1    k=0,j=0     k=0,j=0      k=0,j=1

k=24,j=1  

二、 (论述题)请按照基本路径法为下面的程序设计测试用例。

void sort(int irecordnum, int itype)

1{

2  int x=0;

3  int y=0;

4  while(irecordnum-->0)

5  {

6    if(itype==0)

7      break;

8    else

9      if(itype==1)

10        x=x+10;

11     else

12         y=y+20;

13    }

14  }

要求:

(1)给以上代码画出控制流图。

(2)给出控制流图的环复杂度V(G)。

(3)写出独立路径。

(4)设计测试用例(模板如下)。

用例编号

测试数据

预期执行结果

测试路径

1

irecordnum=0, itype=0

x=0,y=0

4-14

解答

环路复杂度:4

独立路径:

1:

1->2->3->4->5->6->7->13->14

2:

1->2->3->4->5->6->8->9->10->13->14

3:

1->2->3->4->5->6->8->9->11->12->13->14

4:

1->2->3->4->13->14

测试用例:

用例编号

测试数据

预期执行结果

测试路径

1

irecordnum=3, itype=0

x=0,y=0

1->2->3->4->5->6->7->13->14

2

irecordnum=3, itype=1

x=10,y=0

1->2->3->4->5->6->8->9->10->13->14

3

irecordnum=3, itype=2

x=0,y=20

1->2->3->4->5->6->8->9->11->12->13->14

4

irecordnum=0, itype=0

x=0,y=0

1->2->3->4->13->14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值