procedureexample(y,z:real;varx:real)
begin
if(y>1)and(z=0)thenx:=x/y;
if(y=2)or(x=l)thenx:=x+l;
end.
该子程序接受x,y,z的值,并将计算结果x的值返回给调用程序。答题要求:
(1)画出流程图。
(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。
答:(1)流程图
(2)用白盒法中条件组合覆盖设计测试用例:
①y=2,z=0,x=4;
②y=2,z=1,x=1;
③y=1,z=0,x=2;
④y=1,z=1,x=1.
2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。
答:
输入条件测试用例说明测试数据
报表日期的1个数字字符5
类型及长度5个数字字符20035
7个数字字符2003005
有1个非数字字符2003.5
全部是非数字字符MAY---
6个数字字符200305
日期范围在有效范围200301
边界上选取200812
数据200300
200813
月份范围月份为1月200301
月份为12月200312
月份<1200300
月份>12200313
3、对以下程序进行测试:
PROCEDUREEX(A,B:REAL;VARX:REAL);
BEGIN
IF(A=3)OR(B>1)THENX:=A×B
IF(A>2)AND(B=0)THENX:=A-3
END
先画出程序流程图。再按不同逻辑覆盖法设计一种(写出名称)测试数据。
语句覆盖A=3B=0
4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。
(1)按等价分类法设计测试用例(要求列出设计过程)
(2)按边缘值分析法设计测试用例。
1)合理等价类
选修1门
选修2门
选修3门
不合理等价类
没选课
选3门以上
测试用例
选修=2
选修=0
选修>3
2)边缘值法
0,1,3,4
5、设被测试的程序段为:
s1;
if(x=0)and(y>2)
thens2;
if(x<1)or(y=1)
thens3;
s4;
end
可供选择的测试数据组为:
xy
Ⅰ03
Ⅱ12
Ⅲ-12
Ⅳ31
找出实现(1)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。
答:(1)Ⅰ(2)Ⅰ,Ⅳ(3)Ⅰ,Ⅱ
4.请使用流程图、PAD图各PDL语言描述下列程序的算法。
(1)在数据A(1)-A(10)中求最大数和次大数。
(2)输入三个正整数作为边长、判断该三条边构成的三角形是等边、等腰或一般三角形。答:
(1)
1)流程图:
2)PAD图
3)PDL语言
定义n1=n2=0
输入A(1).......A(10)
n1=n2=A(1)
whilei>10
ifA(i)>=n1
n2=n1
n1=A(i)
endwhile
5.用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、........A(n),按递增顺序排列。给定一个Keyw值,在表中用折半查找。若找到将表位置i送入x,否则将零送到x,同时将Key值插入表中。算法:1)置初值H=1(表头),T=N(表尾)。2)置i=[(H+T)/2](取整).
3)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若KeyT为止。
4)查不到时,将A(i),....,A(N)移到A(i+1),.....A(N+1),Key值送入A(i)中。
2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。试问:可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。
3、已知有一抽象的DFD图如下所示,请用SD方法画出相应的结构图。
T1BDFFABE
A2B1AAT2BBCCGC
DA1B2
4、高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。