逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 getit( int m) { int i, k; k=sqrt(m); for ( i=2; iimage.png=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、请找出程序中所有的逻辑判断子语句。2、请将满足100%DC(判定覆盖)所需的逻辑条件填入下表。

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

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

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

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

你可能感兴趣的试题

-
- A.V(S2)和P(S4)
- B.P(S2)和V(S4)
- C.P(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案

-
- A.V(S1)P(S2)和V(S3)
- B.P(S1)V(S2)和V(S3)
- C.V(S1)V(S2)和V(S3)
- D.P(S1)P(S2)和V(S3)
- 查看答案

-
- A.P(S4)和V(S4)V(S5)
- B.V(S5)和P(S4)P(S5)
- C.V(S3)和V(S4)V(S5)
- D.P(S3)和P(S4)V(P5)
- 查看答案

-
- A.P(S3)和V(S4)V(S5)
- B.V(S3)和P(S4)P(S5)
- C.P(S3)和P(S4)P(S5)
- D.V(S3)和V(S4)V(S5)
- 查看答案

-
- A.P(S2)和P(S4)
- B.P(S2)和V(S4)
- C.V(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案