软件测试技术实践考核上机练习题
玛丽莲梦兔
901次浏览
2021年02月02日 18:04
最佳经验
本文由作者推荐
小狗海上游200多公里-蟾蜍的养殖
软件测试技术实践考核上机考试基本要求(
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
)上机考试严重违纪。
1
/
11
软件测试技术实践考核上机考试练习题(
1004
)
练习题(一)
1
、
NextDate
函数问题说明:输入 一个日期,求从输入日期算起的第三天日期。例如,输
入为
2008
年
8月
8
日,则该程序的输出为
2008
年
8
月
1 0
日。
NextDate
函数包含三
个整数变量
month
、
day
和
year
,并且满足下列条件:
1
≤
month
≤
12
、
1
≤
day
≤
31
和
2000
≤
year
≤
21 00
。分析各种输入情况,列出为输入变量
month
、
day
、< br>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
mon th=1
,
3
,
5
,
7
,
8
,< br>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< br>)对每一个无效的
month
、
day
和
year
, 分别输入一个无效等价类。
例如:输入(
yyyymmdd
)
20081305
↙(回车)
输出(
yyyy-mm-dd
)
:
无效月份
覆盖等价类(
ID
类型)
:
闰年(
Y/N
)
:
2
/
11
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
3
/
11
练习题(二)
1
、
< br>三角形问题说明:输入三个正整数
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< br>∨
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)
2
2
2
2
2
2
2
2
等价类
等边三角形
等腰三角形
直角三角形
普通三角形
非三角形
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< br>类型)
:
1
(等边三角形)
,
2
(等腰三角形)
(
2
)假设
10
≤
a
,
b
,
c
≤
100
,根据划分的等价类,设计边界值测试用例。
例如:输入(
a
,
b
,
c
)
:
60
,
60
,
10
↙(回车)
输出(
ID
类型)
:
2
(等腰三角形)
4
/
11
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< br>→
6
→
8
→
9
→
10
→
1 1
编程实现:
对每一个独立路径,
设计一个测试用例
,
并插入一条显示输出语句
(
printf/cout
)
,
显
示测试路径标号。
输入格式:输入(
X,A,B
)
:
输出格式:输出(
k,j
)
:
k= j=
路径
ID
:
例如:输入(
X,A,B
)
:
1,2,1
↙(回车)
输出(
k,j
)
:
k=0 j=5
路径
ID
:测试路径
4
5
/
11