问题 问答题

以下程序的作用是从i到n个元素的序列A[i..n]中选取具有最小值的元素,通过下标k得到该元素的位置。现对程序执行简单循环,限定循环次数为0次、1次和2次,请设计该程序的简单循环测试用例。
int minValue(int A[], int n, int i)

int k=I;
for(int j=i+1;j<=n;j++)
if(A[j]<A[k])k=j;
return k;

答案

参考答案:首先根据程序绘制程序流程图并标记路径编号,如下图所示。


按照简单循环的测试要求设计的测试用例如下表所示。

测试用例表
循环次数 输入数据 对应的输出
i n A[i] A[i+1] A[i+2] k 执行路径
0 1 1 / / / i a,c
1 1 2 1 2 / i abefc
2 1 / i+1 abdfc
2 1 3 1 2 3 i abefbefc
2 3 1 i+2 abefbdfc
2 1 3 i+1 abdfbefc
3 2 1 i+2 abdfbdfc

单项选择题 A型题
选择题