题目如下,回答问题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语

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

4187

被折叠的 条评论
为什么被折叠?



