软件工程导论试题集汇总(6)

2019-01-27 16:06

int getMax( int n ,int arr ) // n是数组a的长度 { int k = 0;

① ② ⑤

for ( int i = 1; i < n; i++ ) { if ( arr [i ]>arr[k] ) k = i;

}

return k; }

要求:请用基本路径的测试技术完成该函数的测试。 (1)给出程序的有向流图,并算该函数的环形复杂度。 (2)给出基本路径集和测试用例。 参考答案:

1).控制流图如下,McCabe环路复杂性为3。 (2) 1.基本路径:(少一个最多3分)

Path1: ①→②→⑥

ath2: ①→②→③→⑤→②→⑥→…

Path3: ①→②→③→④→⑤→②→⑥… 2.测试用例: (少一个最多3分) Path1: 取n=1,a[0] = 1, 预期结果:k=0

Path2: 取n=2,a[0] = 3,a [1] = 1, 预期结果:k=0

Path3: 取n=3,a [0] = 0,a[1] =1, a[2]=5 预期结果:k=2

③ ④ ⑥

① ② T F ③ T F ④ ⑤ ⑥

2. 阅读下面的程序流程图,回答后面的问题:

1) 画出上述程序的有向流图,并计算该函数的环形复杂度。 2) 给出基本路径集。

参考答案:(1)如下图所示。程序复杂度为4

1 11 6 程序流图 2,3 7 8 4,5 9 3)

(2)基本路径1:1-11

基本路径2:1 - 2, 3 - 4, 5 - 10 - 1 - 11 基本路径3:1- 2, 3 - 6 - 7 - 9 - 10 - 1 – 11 基本路径4:1- 2, 3 - 6 - 8 - 9 - 10 - 1 - 11

3. 阅读下面用伪代码编写的程序段,回答后面的问题:

start

10 input (a,b,c,d)

- 26 -

if (a > 0)&& (b > 0)

x = a + b else x = a-b endif

if (c > a)|| (d < b)

y = c + d else y = c – d endif

print(x , y) stop

(1) 画出上述程序的有向流图,并计算该函数的环形复杂度。

(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。 4.

- 27 -


软件工程导论试题集汇总(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五人墓碑记字词整理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: