试题一(15 分)
阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执
行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp )
{
if (temp == ">=" )
m_oper.SetCurSel(0 );
else
{
if (temp == ">" )
m_oper.SetCurSel(1 );
else
{
if (temp == "==" )
m_oper.SetCurSel(2 );
else
{
if (temp == "<=" )
m_oper.SetCurSel(3 );
else
{
if (temp == "<" )
m_oper.SetCurSel(4 );
else
m_oper.SetCurSel(5 );
}
}
}
}
return;
}
[问题1](6 分)
请画出以上代码的控制流图。
[问题2](3 分)
请计算上述控制流图的环路复杂度 V(G)。
[问题3](6 分)
请使用基本路径测试法为变量 temp 设计测试用例,使之满足基本路径覆盖要求。
A.Hawthome效应
B.Stroop效应
C.安慰剂效应
D.皮格马利翁效应
阅读下列说明,回答问题1至问题3。
【说明】
以下代码由C语言书写,在输入3个整数后,能够输出最大数和最小数。
int main(void)
{
int a, b, c, max, min;
printf("input three numbers: ");
scanf("%d%d%d", &a, &b, &c);
if(a>b) /*判断1*/
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(max<c) /*判断2*/
max=c;
else if(min>c) /*判断3*/
min=c;
printf("max=%d\nmin=%d", max, min);
return 0;
}
请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。
为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。
对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以T表示真,以F表示假),填入答题纸的相应栏中。
上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。
请帮忙给出每个问题的正确答案和分析,谢谢!
A.暂停B工厂的出口资格
B.对A公司进行处罚
C.对张某进行处罚
D.调换的食品不允许出口
A.39890
B.39894
C.39895
D.39896
A.该批货物应在江苏报检申请检验
B.该批货物应在浙江报检申请检验
C.该批货物应在上海报检申请检验
D.货主可自行选择报检地点
A.5月17日
B.5月23日
C.5月24日
D.6月3日