软件测试考试中的环路复杂度、线性无关路径的理解

文章详细分析了一个C程序的逻辑结构,讨论了如何实现100%判定覆盖,绘制了控制流程图,并计算了环路复杂度。同时,列举了线性无关路径,强调了测试用例设计的重要性。

题目如下,回答问题1至3


int GetMaxDay (int year ,int month){
	int maxday=0;						//1
	if (month>=1 && month <=12)	{		//2,3
		if (month==2)			{		//4
			if (year %4 ==0 ) 	{		//5
				if (year %100 ==0) {	//6
					if (year %400 ==0) 	{//7
						maxday=29;		//8
					else 				//9
						maxday=28;
					}
				else maxday=28;			//10
				}
				else 
					maxday=28;			//11
			}
			else {						//12
				if (month==4 || month ==6 || month==9 ||month ==11)//13,14,15,16
					maxday=30;			//17
				else 					//18
					maxday=31;
			}
		}
		return maxday;					//19
}

问题1、针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件;
问题2、画出上述程序的控制流程图,并计算环路复杂度V(G);
问题3、给出问题2中的控制流图的线性无关路径;

问题1 解析:

①定义:

        判定覆盖(Decision Coverage)又称为分支覆盖,其原则是设计足够的测试用例,使得程序中每个判定语句的取真和取假分支至少被执行一次。

        除了双值的判定语句外,还有多值判定语句,如case语

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值