1、这是一个有关自动饮料机销售饮料的例子。该饮料机主要销售罐装饮料,类型包括“雪碧”、“芬达”和“醒目”,每罐饮料单价为3元5角,且仅接受硬币。若投入3元5角硬币,按下“雪碧”、“芬达”和“醒目”按钮,就会送出相应的饮料;若投入4元硬币,则在送出饮料的同时会退还5角硬币。绘制因果图,并建立决策
。(15分)
2、城市的电话号码由两部分组成。这两部分的名称和内容分别是:
1)地区码:以0开头的三位或者四位数字(包括0);
2)电话号码:以非0、非1开头的七位或者八位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来
它的测试用例。(15分)
3、如下面的C
,请运用语句覆盖法、路径覆盖法设计测试用例。(10分) void DoWork(int x,int y,int z)
{
int k=0,j=0;
if((x>3)&&(z<10))
{
k=x*y-1; //语句块1
j=sqrt(k);
}
if((x= =4)||(y>5))
{
j=x*y+10; //语句块2
}
j=j%3; //语句块3
}
4、有函数f(x,y,z),其中x∈[1900, 2100],y∈[1, 12],z∈[1, 31]。请写出该函数采用边界值
法设计的测试用例(标准性测试)。(5分)
5、应用基本路径法给出测试用例,要求:
(1)绘制程序的控制流图
(2)计算程序的环形复杂度
(3)导出基本路径集
(4)根据基本路径集设计相应的测试用例。
1.main()
2.{
3.char c; int i=0,j=0,k=0;
4.c=getchar();
5.while (c!='#')
6.{
7.if (c>='A'&&c<='Z'||c>='a'&&c<='z')
8.i++;
9.else if (c>='0'&&c<='9')
10.j++;
11.else
12.k++;
13.c=getchar();
14.}
15.printf("i=%d,j=%d,k=%d\n",i,j,k);
16.}