根据McCabe环路复杂性度量,程序图9-17的复杂度是 (133) ,对这个程序进行路径覆盖测试,可得到的基本路径是 (134) 。
(134)处填()
A.A-B-C-H-I-K;A-B-C-H-J-K; A-B-C-D-E-F-G
B.A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G-C-H-I-K;A-B-C-D-E-G-C-H-I-K
C.A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G-C-H-I-K;A-B-D-E-G-C-H-J-K
D.A-B-C-H-I-K;A-B-C-H-J-K;A-B,C-D-E-F-G-C-H-I-K;A-B-C-D-E-F-G-C,H-J-K;A-B-C-D-E-G-C-H-I-K
参考答案:B
解析:
程序图的环路数是源代码程度复杂的度量。根据McCabe度量法,环路数 N=e-n+2,这里e表示有向图的边数,n表示结点数。在图9-17中,e=13,n=11,得到N=4。
另外一种方法是计算有向图把平面划分成的区域数,这里有3个闭合区域,外加1个开放区域,共4个区域。所以,程序图的复杂度是4。
路径测试的关键是要找出程序图中所有可能的路径。对这个程序进行路径覆盖测试,可得到4条基本路径。
(1)A-B-C-H-I-K。
(2)A-B-C-H-J-K。
(3)A-B-C-D-E-F-G-C-H-I-K。
(4)A-B-C-D-E-G-C-H-I-K。
所有基本路径都是从程序起点到终点,并且包含了至少一条独立的边。