c语言函数测试用例,论述题3:针对以下C语言程序,请按要求回答问题下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例...

问题

论述题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

程序代码如下:

ct_csnfstm_cnfstdiscourse_00112(200911).jpg

(1)画出该函数的控制流程图。

(2)采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。

参考答案

正确答案:问题1:

解答:

根据程序的源代码容易画出对应的控制流图如图17-4所示。

(其中圈中的数字代表的是语句的行号)

1ce457d79c56d664c1b1a1ae027012d8.png

问题2:

解答:

第一步根据上述控制流图计算该程序的环路复杂性。

由图可以看出判定节点数为3边数为10节点总数为8故

V(G)=10-8+2=4

或V(G)=3+1=4

第二步根据环路复杂度为4可确定4条基本独立路径。

Path1:4—24

Path2:4—6—8—24

Path3:4—6—13—15—22—4—24

Path4:4—6—13—19—22—4—24

第三步设计测试用例

根据上面4条基本独立路径可以设计测试用例如下:

测试用例1

输入数据:i_flag=0或者是i_flag0的某个值。

预期输出结果:i temp=0。

测试用例2

输入数据:i_count=1i_flag=0。

预期输出结果:i temp=101。

测试用例3

输入数据:i_count=1i_flag=1。

预期输出结果:i temp=10。

测试用例4

输入数据:i count=1i_flag=2。

预期输出结果;i temp=20。

但这些测试用例是可以简化的由于路径path1是path4的真子集所以path1是可以不要的。故针对该程序最少的测试用例数为3即上述测试用例2测试用例3测试用例4。问题1:

解答:

根据程序的源代码,容易画出对应的控制流图,如图17-4所示。

(其中圈中的数字代表的是语句的行号)

1ce457d79c56d664c1b1a1ae027012d8.png

问题2:

解答:

第一步,根据上述控制流图计算该程序的环路复杂性。

由图可以看出,判定节点数为3,边数为10,节点总数为8,故

V(G)=10-8+2=4

或V(G)=3+1=4

第二步,根据环路复杂度为4,可确定4条基本独立路径。

Path1:4—24

Path2:4—6—8—24

Path3:4—6—13—15—22—4—24

Path4:4—6—13—19—22—4—24

第三步,设计测试用例

根据上面4条基本独立路径,可以设计测试用例如下:

测试用例1

输入数据:i_flag=0,或者是i_flag0的某个值。

预期输出结果:i temp=0。

测试用例2

输入数据:i_count=1,i_flag=0。

预期输出结果:i temp=101。

测试用例3

输入数据:i_count=1,i_flag=1。

预期输出结果:i temp=10。

测试用例4

输入数据:i count=1,i_flag=2。

预期输出结果;i temp=20。

但这些测试用例是可以简化的,由于路径path1是path4的真子集,所以path1是可以不要的。故针对该程序最少的测试用例数为3,即上述测试用例2,测试用例3,测试用例4。 解析:首先根据程序的源代码,画出控制流图。然后通过控制流图可以计算出该程序的复杂度,找出所有的独立路径,根据基本路径测试法设计测试用例。

您可能感兴趣的试题

物理层的含义是什么?它的作用是什么?2.实际的物理层协议包括哪些方面的内容?3.网络层提供的服务与通讯子网内部的操作方式有什么关系?

计算并填写表1-3。1.

①查找出货量(QTY)在300~500的所有供货情况;

计算该状态迁移图的MeCabe环路复杂性;

确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。

如图所示,一台Cisc03500系列交换机上连接2台计算机,它们分别划分在VLANl0(II)号为10)和VLANll(ID号为11)中。交换机的千兆以太网端口(go/1)连接一台路由器,使2个VLA

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值