软件测试技术实践考核上机练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、编程语言及上机环境
(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)上机考试严重违纪。
练习题(一)
1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输
入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12、1≤ day ≤31和2000≤ year ≤2100。分析各种输入情况,列出为输入变量month、day、year 划分的有效等价类:
编程实现:
(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种等价类:
编程实现:
(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 {
5 X=X/A;
6 k=A*B-1;
7 }
8 if((A==2)||(X>1))
9 X=X+1;
10 j=X+3;
11 }// Test2
根据所给定的程序,确定该程序的独立路径如下:
路径1:3→8→10→11
路径2:3→5→6→8→10→11
路径3:3→8→9→10→11
路径4:3→5→6→8→9→10→11
编程实现:
对每一个独立路径,设计一个测试用例,并插入一条显示输出语句(printf/cout),显示测试路径标号。
输入格式:输入(X,A,B):
输出格式:输出(k,j):k= j=
路径ID:
例如:输入(X,A,B): 1,2,1 ↙(回车)
输出(k,j):k=0 j=5
路径ID:测试路径4