问答题 试题三(16分) 阅读下列说明,回答问题1至问题3,将解答或相应的编号填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 getit( int m) { int i, k; k=sqrt( m); for(i=2;i<=k; i++) if(m%i==0)break; if(i>=k+1) printf( "%d is a selected number\n", m): else printf("%d is not a selected number\n", m); }
问答题 【问题1】(3分) 请找出程序中所有的逻辑判断子语句。
【正确答案】逻辑判断子语句 i<=k m%i==0 i>=k+1
【答案解析】
问答题 【问题2】(4分) 请将满足100 % DC(判定覆盖)所需的逻辑条件填入下表。
【正确答案】
【答案解析】
问答题 【问题3】 (9分) 请画出上述程序的控制流图,并计算其控制流图的环路复杂度V (G)。假设函数getit的参数m取值范围是150<m<160,请使用基本路径测试法设计测试用例,将参数m的取值填入下表,使之满足基本路径覆盖要求。
【正确答案】控制流图 环路复杂度V(G)=4 基本路径覆盖用例
【答案解析】