问答题
【算法说明】
下面是一段插入排序的程序,将R[k+1]插入到R[1...k]的适当位置。
R[0]=R[k+1];
j=k;
while(R[j]>R[0])
{
R[j+1]=R[j];
j- -;
}
R[j+1]=R[0];
【流程图】

【测试用例设计】
(while循环次数为0、1、2次)

表4-1 测试用例表



输入数据
预期结果
覆盖路径
j
R[i-2]
R[i-1]
R[i]
R[i+1]
R[0]
j
R[i-2]
R[i-1]
R[i]
R[i+1]
约束
路径
0
i
-
-
1
2
2
i
-
-
1
2
<
{{U}}(4){{/U}}
i
-
-
1
1
1
i
-
-
1
1
=
①③
1
i
-
1
3
2
2
i-1
-
1
2
3
{{U}}(7){{/U}}
①②③
i
-
2
3
2
2
i-1
-
{{U}}(8){{/U}}
2
{{U}}(9){{/U}}
>=
①②③
2
i
1
3
4
2
2
i-2
1
2
3
4
>><
{{U}}(5){{/U}}
i
2
3
4
2
2
i-2
2
2
3
4
>>=
{{U}}(6){{/U}}
问答题
【问题1】
指出算法的流程图中(1)~(3)处的内容。
【正确答案】
【答案解析】F (2)R[j+1]=R[0] (3)T [分析] 本题考查用路径覆盖方法为算法设计足够的测试用例,属于基本概念的送分题。这类题拿分的关键是考生平时对于理论的理解和临场的细心。
问答题
【问题2】
指出测试用例设计中(4)~(9)处的内容。
【正确答案】
【答案解析】①③ (5)①②②③ (6)①②②③ (7)>< (8) 1 (9) 3