2、程序模块 Functionl 代码如下: public int Functionl ( int num , int cycle , boolean flag ) {int ret =0; while ( cycle >0) { if ( flag == true ) { ret = num -10; Break ; } else { if ( num %2==0) { ret = ret *10; } else { ret = ret +1; } } cycle --; } return ret ; } (1)画出程序控制流图,计算控制流图的环路复杂度。 (2)导出基本路径。 (3)设计基本路径覆盖测试用例。
时间: 2023-06-19 18:06:23 浏览: 397
以下是程序控制流图:
![image.png](attachment:image.png)
控制流图的环路复杂度为 5。
基本路径为:
1. 1 → 2 → 3 → 13
2. 1 → 2 → 4 → 5 → 6 → 7 → 11 → 12 → 13
3. 1 → 2 → 4 → 5 → 6 → 8 → 9 → 10 → 11 → 12 → 13
设计基本路径覆盖测试用例:
我们需要至少设计三组测试用例,来覆盖上述三个基本路径。
1. 当 flag 为 true 时,执行第一条基本路径,此时 num 可以为任意整数,cycle 为正整数。
2. 当 flag 为 false 且 num 为偶数时,执行第二条基本路径,此时 num 必须为偶数,cycle 为正整数。
3. 当 flag 为 false 且 num 为奇数时,执行第三条基本路径,此时 num 必须为奇数,cycle 为正整数。
比如:
1. Functionl(5, 3, true),期望返回 -5。
2. Functionl(4, 2, false),期望返回 0。
3. Functionl(3, 4, false),期望返回 111。
阅读全文