1、以下代码是判断输入的年份是否为闰年,设计判定覆盖和条件覆盖的测试用例。
if (year<0)
return -1;
if ((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else
return 0;
2、以下代码用于判断闰年,由C语言书写。其对应的控制流图如书本207页图7-14所示。请按要求回答问题。
int isLeap(int year)
{ int leap;
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if(year % 100 == 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
(1)请计算上述控制流图的圈复杂度V(G)。
答:P=3+1=4(P为判定节点)
V(G)=P+1=5
(2)找出独立路径。
答:path1:1 - 2 -10 - 11 - 12
path2:1 - 2 - 3 - 8 - 9 - 11 - 12
path3:1 - 2 - 3 - 4 - 6 - 7 - 9 - 11 - 12
path4:1 - 2 - 3 - 4 - 5 - 7 - 9 - 11 - 12
(3)假设输入的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使其满足基本路径覆盖的要求。
3、某公司招聘人员,其要求为学历本科及以上,专业为计算机、通信、自动化,年龄22~30岁。请划分出各条件的有效等价类和无效等价类。