刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

阅读下列说明,回答问题l至问题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 );    
}
7、请找出程序中所有的逻辑判断子语句。(5分)
8、请将满足100%DC(判定覆盖)所需的逻辑条件填入下表。(8分)

9、请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。假设函数getit的参数m取值范围是150<m<160,请使用基本路径测试法设计测试用例,将参数m的取值填入下表,使之满足基本路径覆盖要求。(4分)

使用微信搜索喵呜刷题,轻松应对考试!

答案:

7、
本题考查对编程语言的理解,着重考查判断语句。    
程序中的逻辑判断子语句如下:    
i<=k    
m%i==0
i>=k+1    
8、
本题考查白盒测试用例设计方法:判定覆盖法。判定覆盖法又称为逻辑覆盖,是通过对程序逻辑结构的遍历实现程序的覆盖。

9、
本题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据代码绘制程序流图、计算环路复杂度以及设计测试用例。注意测试用例的数目本应和环路复杂度是一致的,但存在特殊情况。    
控制流图:

环路复杂度:    
V(G)=4
基本路径覆盖用例:
   

解析:

7、关于逻辑判断子语句的查找,需要分析代码中的条件语句。在给定的代码中,“i<=k”、“m%i==0”和“i>=k+1”是逻辑判断子语句,它们决定了程序的流程走向。

8、为了满足判定覆盖,需要设计测试用例以覆盖程序中所有的分支。在这个程序中,关键分支是m能否被2到sqrt(m)之间的数整除。因此,需要至少两个测试用例,一个使条件成立(即m能被整除),另一个使条件不成立(即m不能被整除)。具体的逻辑条件需要根据测试用例来推导。

9、对于控制流图及基本路径覆盖测试用例设计,首先根据代码逻辑绘制控制流图,然后计算环路复杂度V(G)。在这个例子中,控制流图的环路复杂度为4。接着,根据控制流图和环路复杂度,使用基本路径测试法设计测试用例。对于函数getit,在参数m的取值范围150<m<160内设计测试用例,确保满足基本路径覆盖要求。测试用例包括输入参数m的值和预期的输出,以验证程序的正确性。

创作类型:
原创

本文链接:阅读下列说明,回答问题l至问题3,将解答或相应的编号填入对应栏内。[说明]    逻辑覆盖法是设计白

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share