问答题 【程序】
下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n,int datalist[])
int k=0;
for(int j=1;j<n;j++)
if(datalist[j]>datalist[k])
k=j;
return k;

【控制流图】
【正确答案】(1)j<n (2)return k; (3)datalist[j]>datalist[k] (4)k=j; (5)j++;
【答案解析】
【正确答案】McCabe环路复杂性为3。
【答案解析】
【正确答案】测试路径:
Pathl:①→③
Path2:①→②→④→⑥→…
Path3:①→②→⑤→⑥→…
【答案解析】
【正确答案】测试用例:
Pathl:取n=1,datalist[0]=1,
预期结果:k=0
Path2:取:n=2,datalist[0]=1,datalist[1=0,
预期结果:k=0
Path3:取n=2,datalist[0]=0,datalist[1]=1,
预期结果:k=1
【答案解析】[解析] 本题考查对软件测试概念和过程的理解,结合具体实例运用各种测试技术,学会测试用例设计、软件测试与程序调试的方法。软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。根据2004新大纲和最近两次软件设计师考试的真题,不难发现各类系统分析理论的实例化考核比例逐渐升温,只要读者平时对这部分知识的实例多分析、多思考,这部分分数其实不难拿到。