前缀——非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规
定的 电话号码。
(1)分析程序的规格说明,列出输入域等价类表(包括有效和无效等价
类)。
(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例,要
求包括输 入数据和预期输出,并指出各个测试用例所覆盖的等价类编号。
6. *用决策表测试法测试以下程序:该程序有三个输入变量 month、day、year
(month、day 和 year 均为整数值,并且满足:1≤month≤12 和 1≤day≤31), 分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔 一天的日期。例如,输入为 2004 年 11 月 29 日,则该程序的输出为 2000 年 12 月1日。
(1) 分析各种输入情况,列出为输入变量 month、day、year 划分的有效等
价类。
(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的
可 能采取的操作(即列出所有的动作桩)。 (3) 根据(1)和(2),画出简化后的决策表。
7. 用因果图法测试以下程序。 程序的规格说明要求:输入的第一个字符必须
是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N, 如果第二个字符不是数字,则给出信息M。
(1)分析程序的规格说明,列出原因和结果。
(2)找出原因与结果间的因果关系、原因与原因间的约束关系,画出因果图。 (3)将因果图转换成决策表。
(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。
8. 为下图设计足够的测试用例,分别实现对其的判定覆盖、条件覆盖和条件组
合覆盖。
9. *使用逻辑覆盖测试方法测试以下程序段:
void Do (int X,int A,int B) { 1 if ( (A>1) && (B==0) ) 2 X=X/A;
3 if ( (A==2) || (X>1) ) 4 X=X+1; 5 }
说明:程序段中每行开头的数字(1~5)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆
盖和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
10. 使用逻辑覆盖测试方法测试以下程序段:
void DoWork (int x,int y,int z) { 1 int k=0,j=0;
2 if ( (x>3) && (z<10) ) 3 {
4 k=x*y-1; 5 j=sqrt(k); 6 }
7 if ( (x==4)||(y>5) ) 8 j=x*y+10; 9 j=j%3; 10 }
说明:程序段中每行开头的数字(1~10)是对每条语句的编号。
(1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖
和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
11. 以下代码由C 语言书写,请按要求作答。
Int IsLeap(int year) 1 {
2 if (year % 4 = = 0) 3 {
4 if (year % 100 == 0) 5 {
6 if ( year % 400 = = 0) 7 leap = 1; 8 else
9 leap = 0; 10 } 11 else
12 leap = 1; 13 } 14 else
15 leap = 0; 16 return leap; 17 } 问题:
(1)画出以上代码的控制流图;
(2)计算上述控制流图的圈复杂度V(G)(独立路径数);
(3)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试
法为变 量 year设计测试用例,使其满足基本路径覆盖的要求。
五、综合应用题目
1、在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收测试,这些对软件质量保证起着非常关键的作用。
(1)请简述单元测试的主要任务。
(2)集成测试包括非增量式和增量式两种方法,增量式测试按照不同
的实施次 序又可以分为自顶向下增量式测试和自底向上增量式测试。请比较上述两种增量式测试方法的优点和缺点。
(3)公司A承担了公司B的办公自动化系统的建设工作。2004年10月初,项目正处于开发阶段,预计2005年5月能够完成全部开发工作,但是合同规定2004 年10月底进行系统验收。因此,在2004 年10 月初,公司A依据合同规定向公司B和监理方提出在2004年10 月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司 A 的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。请问公司 A 的做法是否正确? 请给出理由。
2、分类总结目前常见的测试工具及其作用和特点。