软件测试技术实践考核上机练习题(1004) 下载本文

内容发布更新时间 : 2024/11/8 13:40:13星期一 下面是文章的全部内容请认真阅读。

软件测试技术实践考核上机考试基本要求(1004)

一、编程语言及上机环境

(1)C/C++编程语言

(2)VC++6.0及以上编译环境 二、考试内容

1、功能(黑盒)测试用例设计编程实现 (1)等价类划分法 (2)边界值分析法 (3)因果图法 (4)决策表法

2、结构(白盒)测试用例设计编程实现 (1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)组合覆盖 (5)路径覆盖 (6)独立路径测试 三、上机考试程序

(1)考生抽取试题。

(2)排定考试座位(机位)。 (3)启动上机环境。 (4)开始考试。 (5)程序验收。 (6)适当的口试。 (7)成绩评定。

上机考试时间为120分钟。

上机考试成绩评定的依据主要是根据试题的完成情况和程序的运行结果,以及必要的口试。

四、考生注意事项

1、平时训练与考试 (1)思想重视

明确考试目的,端正考试态度,认真做好上机考试的准备工作。 (2)知识准备

平时认真学习,消化课程内容,熟悉编程环境和工具,认真做好课程实验。

(3)平时训练

应针对上机考试题型做好平时训练。 2、遵守考场纪律

对于下列情况之一者,实践课成绩为不及格。 (1)上机程序运行未通过。 (2)拷贝他人的上机程序。 (3)上机考试严重违纪。

软件测试技术实践考核上机考试练习题(1004)

练习题(一)

1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输

入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三

个整数变量month、day和year,并且满足下列条件:1≤ month ≤12、1≤ day ≤31和2000≤ year ≤2100。分析各种输入情况,列出为输入变量month、day、year划分的有效等价类:

输入等价类

输入 ID 1 2 3 4 5 6 有效等价类 day 1 ≤day≤26 day=27 day=28 day=29 day=30 day=31 month=4,6,9,11 month=1,3,5,7,8,10 month=2 month=12 闰年 非闰年 month 7 8 9 10 year 11 12 编程实现:

(1) 对每一个有效等价类,至少设计一个测试用例。 输入格式:输入(yyyymmdd): 输出格式:输出(yyyy-mm-dd): 覆盖等价类(ID类型): 闰年(Y/N):

例如:输入(yyyymmdd) 20080105↙(回车)

输出(yyyy-mm-dd): 2008-01-07

覆盖等价类(ID类型):1,8,11 闰年(Y/N):N

(2)对每一个无效的month、day和year,分别输入一个无效等价类。 例如:输入(yyyymmdd) 20081305 ↙(回车)

输出(yyyy-mm-dd): 无效月份

覆盖等价类(ID类型): 闰年(Y/N): 2、 阅读下面的一段程序:

void Test1( int N, int I ) 1 {

2 int x=0; 3 int y=0; 4 while (N-->0) 5 {

6 if (I==0) 7 x=y+2; 8 else

9 if (I==1) 10 y=y+10;

11 else

12 x=y+20; 13 }// while 14 }// Test1

根据所给定的程序,确定该程序的独立路径如下:

路径1:4→14

路径2:4→6→7→14

路径3:4→6→9→10→4→14 路径4:4→6→9→12→4→14 编程实现:

对每一个独立路径,设计一个测试用例,并插入一条显示输出语句(printf/cout),显示测试路径标号。

输入格式:输入(N,I): 输出格式:输出(x,y):x= y=

路径ID:

例如:输入(N,I): 1,2 ↙(回车)

输出(x,y):x=20 y=0 路径ID:测试路径4

练习题(二)

1、 三角形问题说明:输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判

断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角 形以及非三角形。根据问题的规格说明,可以从输出域划分5种等价类: 输出等价类 ID 1 2 3 4 5 2条件 a=b∧b=c∧a=c∧(a+b>c∧b+c>a∧a+c>b) a=b∨b=c∨a=c∧(a+b>c∧b+c>a∧a+c>b) a+b=c∨b+c=a∨a+c=b∧(a+b>c∧b+c>a∧a+c>b) 22222222等价类 等边三角形 等腰三角形 直角三角形 普通三角形 非三角形 a≠b∧b≠c∧a≠c∧(a+b>c∧b+c>a∧a+c>b) (a+b≤c∨b+c≤a∨a+c≤b)∨a≤0∨b≤0∨c≤0 编程实现:

(1) 对每一个输出等价类,至少设计一个测试用例。 输入格式:输入(a,b,c): 输出格式:输出(ID类型):

例如:输入(a,b,c): 5,5,5 ↙(回车)

输出(ID类型):1(等边三角形),2(等腰三角形)

(2)假设10≤a,b,c≤100,根据划分的等价类,设计边界值测试用例。 例如:输入(a,b,c): 60,60,10 ↙(回车)

输出(ID类型):2(等腰三角形)

2、阅读下面的一段程序,

void Test2(int X,int A,int B) 1 {

2 int k=0,j=0; 3 if((A>1)&&(B=0)) 4 {