软件测试技术实践考核上机练习题.docx

上传人:b****3 文档编号:3384279 上传时间:2022-11-22 格式:DOCX 页数:14 大小:20.38KB
下载 相关 举报
软件测试技术实践考核上机练习题.docx_第1页
第1页 / 共14页
软件测试技术实践考核上机练习题.docx_第2页
第2页 / 共14页
软件测试技术实践考核上机练习题.docx_第3页
第3页 / 共14页
软件测试技术实践考核上机练习题.docx_第4页
第4页 / 共14页
软件测试技术实践考核上机练习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件测试技术实践考核上机练习题.docx

《软件测试技术实践考核上机练习题.docx》由会员分享,可在线阅读,更多相关《软件测试技术实践考核上机练习题.docx(14页珍藏版)》请在冰豆网上搜索。

软件测试技术实践考核上机练习题.docx

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

软件测试技术实践考核上机考试基本要求(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

有效等价类

day

1

1≤day≤26

2

day=27

3

day=28

4

day=29

5

day=30

6

day=31

month

7

month=4,6,9,11

8

month=1,3,5,7,8,10

9

month=2

10

month=12

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、阅读下面的一段程序:

voidTest1(intN,intI)

1{

2intx=0;

3inty=0;

4while(N-->0)

5{

6if(I==0)

7x=y+2;

8else

9if(I==1)

10y=y+10;

11else

12x=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=20y=0

路径ID:

测试路径4

 

练习题

(二)

1、三角形问题说明:

输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角形以及非三角形。

根据问题的规格说明,可以从输出域划分5种等价类:

输出等价类

ID

条件

等价类

1

a=b∧b=c∧a=c∧(a+b>c∧b+c>a∧a+c>b)

等边三角形

2

a=b∨b=c∨a=c∧(a+b>c∧b+c>a∧a+c>b)

等腰三角形

3

a2+b2=c2∨b2+c2=a2∨a2+c2=b2∧(a+b>c∧b+c>a∧a+c>b)

直角三角形

4

a≠b∧b≠c∧a≠c∧(a+b>c∧b+c>a∧a+c>b)

普通三角形

5

(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、阅读下面的一段程序,

voidTest2(intX,intA,intB)

1{

2intk=0,j=0;

3if((A>1)&&(B=0))

4{

5X=X/A;

6k=A*B-1;

7}

8if((A==2)||(X>1))

9X=X+1;

10j=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=0j=5

路径ID:

测试路径4

 

练习题(三)

1、假设某保险公司的人寿保险的保费计算方式为:

投保额×保险费率。

其中,保险费率依点数不同而有别,具体规则见下表。

年龄

性别

婚姻

点数与保险费率

20-39

40-59

其它

男M

女F

已婚T

未婚F

≥10点A

<10点B

6点

4点

2点

5点

3点

3点

5点

0.6%

0.1%

根据问题的规格说明,从输入条件划分等价类。

输入等价类

输入

ID

有效等价类

ID

无效等价类

年龄

1

20-39岁

8

年龄小于1

2

40-59岁

3

其它年龄

性别

4

男性

9

除“M”“F”字符外

5

女性

婚姻

6

已婚

10

除“T”、“F”字符外

7

未婚

编程实现:

(1)对每一个有效等价类,至少设计一个测试用例。

输入格式:

输入(年龄-性别-婚姻):

输出格式:

输出(ID类型):

保险费率(%):

例如:

输入(年龄-性别-婚姻):

27,M,F↙(回车)

输出(ID类型):

1,4,7

保险费率(%):

0.6

(2)对每一个无效的输入,设计一个无效等价类,并设计测试用例。

例如:

输入(年龄-性别-婚姻):

27,M,X↙(回车)

输出(ID类型):

无效婚姻输入

保险费率(%):

 

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

voidTest3(intX,intY,intZ)

1{

2intk=0,j=0;

3if((X>3)&&(Z<10))

4{

5k=X*Y-1;

6j=sqrt(k);

7}

8if((X==4)||(Y>5))

9j=X*Y+10;

10j=j%3;

11}//Test3

根据所给定的程序,该程序的可能路径如下:

路径1:

1→2→3→5→6→8→9→10→11

路径2:

1→2→3→8→10→11

路径3:

1→2→3→8→9→10→11

路径4:

1→2→3→5→6→8→10→11

编程实现:

(1)设计测试用例,实现分支判定覆盖,使得每个判定中的真假值至少执行一次,并在判定路径中插入一条显示输出语句(printf/cout),输出路径标号。

输入格式:

输入(X,Y,Z):

输出格式:

输出(k,j):

k=j=

路径ID:

例如:

输入(X,Y,Z):

2,5,5↙(回车)

输出(k,j):

k=0j=0

路径ID:

路径2:

1→2→3→8→10→11

(2)设计测试用例,实现路径覆盖,使得每个可能路径至少执行一次。

输入格式:

输入(X,Y,Z):

输出格式:

输出(k,j):

k=j=

路径ID:

例如:

输入(X,Y,Z):

4,5,5↙(回车)

输出(k,j):

k=19j=0

路径ID:

路径1:

1→2→3→5→6→8→9→10→11

 

练习题(四)

1、某软件规格说明书对某二位编码的定义如下:

编码的第一个字符必须是A或B,第二个字符必须是一位数字,此情况下给出信息:

编码正确;如果第一个字符不是A或B,则给出信息:

编码错误;如果第一个字符是A或B,第二个字符不是数字,则给出信息:

修改编码。

根据问题的规格说明,列出因果表,将因果表转换成简化的决策表。

因果表

ID

原因(输入)

ID

结果(输出)

1

第一个字母是A

X

显示编码错误

2

第一个字母是B

Y

显示编码正确

3

第二个字母是数字

Z

显示修改编码

因果图转换成简化的决策表

规则

ID

1

2

3

4

5

1

2

3

Y

N

Y

Y

N

N

N

Y

Y

N

Y

N

N

N

Y/N

X

Y

Z

 

 

编程实现:

(1)对每一个规则,至少设计一个测试用例。

输入格式:

输入(编码XY):

输出格式:

输出(ID类型):

例如:

输入(编码XY):

A,A↙(回车)

输出(ID类型):

Z(修改编码)

(2)假设1≤Y≤9,设计边界值测试用例。

例如:

输入(XY):

A0↙(回车)

输出(ID类型):

X(编码错误)

 

2、阅读下面一段程序,程序的功能是:

计算学生的人数、学生成绩的平均值和总分数。

该程序运行最多输入50个学生成绩,以-1作为结束标志。

voidTest4(intn1,intsum,intaverage)

{

1inti=1,n1=n2=0,sum=0;

2while((score[i]<>-1)&&(n2<50))

3{

4n2=n2+1;

5if((score[i]>0)&&(score[i]<100))

6{

7n1=n1+1;

8sum=sum+score[i];

9}

10i=i+1;

11}

12if(n1>0)

13average=sum/n1;

14else

15average=-1;

16}//Test4

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

路径1:

1→2→12→13→16

路径2:

1→2→12→14→15→16

路径3:

1→2→4→5→7→8→10→11→2→4→…11→12→13→16

路径4:

1→2→4→5→10→11→2→4→…11→12→14→15→16

编程实现:

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

输入格式:

输入(score[k]):

输出格式:

输出(n1,sum,average):

n1=sum=average=

路径ID:

例如:

输入(score[k]):

-1↙(回车)

输出(n1,sum,average):

n1=40sum=3000average=75

路径ID:

路径1:

1→2→12→13→16

 

练习题(五)

1、假设某单位内部电话号码由三部分组成,分别是:

分机号+前缀+后缀。

其中,分机号为空白或一位数字;前缀为非‘0’开头的二位数字;后缀为非全0的3位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

根据问题的规格说明,从输入条件划分等价类。

输入等价类

输入

ID

有效等价类

ID

无效等价类

分机号

1

1位数字

5

多于1位数字

2

空白

6

1位非数字

前缀

3

01-99

7

少于2位数字

8

多于2位数字

9

含有非数字

10

起始位为‘0’

后缀

4

001-999

11

少于3位数字

12

多于3位数字

13

含有非数字

14

全‘0’

编程实现:

(1)对每一个有效等价类,至少设计一个测试用例。

输入格式:

输入(分机号-前缀-后缀):

输出格式:

输出(接受Y/拒绝N):

覆盖等价类(ID类型):

例如:

输入(分机号-前缀-后缀):

3,12,001↙(回车)

输出(接受Y/拒绝N):

Y

覆盖等价类(ID类型):

1,3,4

(2)对每一个无效的输入,设计一个无效等价类,并设计测试用例。

例如:

输入(分机号-前缀-后缀):

#,12,111↙(回车)

输出(接受Y/拒绝N):

N

覆盖等价类(ID类型):

6

 

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

voidTest5(intX,intY,intZ)

1{

2intk=0,j=0;

3if((X>3)&&(Z<10))

4{

5k=X*Y-1;

6j=sqrt(k);

7}

8if((X==4)||(Y>5))

9j=X*Y+10;

10j=j%3;

11}//Test5

根据所给定的程序,该程序的可能路径如下:

路径1:

1→2→3→5→6→8→9→10→11

路径2:

1→2→3→8→10→11

路径3:

1→2→3→8→9→10→11

路径4:

1→2→3→5→6→8→10→11

编程实现:

(1)设计测试用例,实现语句覆盖,并在每条语句后插入一条显示输出语句(printf/cout),输出语句标号。

输入格式:

输入(X,Y,Z):

输出格式:

输出(k,j):

k=j=

路径ID:

例如:

输入(X,Y,Z):

4,5,5↙(回车)

输出(k,j):

k=19j=0

路径ID:

路径1:

1→2→3→5→6→8→9→10→11

执行语句2

执行语句3

执行语句5

执行语句6

执行语句8

执行语句9

执行语句10

(2)设计测试用例,实现条件覆盖,使得每个判定中的每个条件至少执行一次。

输入格式:

输入(X,Y,Z):

输出格式:

输出(k,j):

k=j=

路径ID:

例如:

输入(X,Y,Z):

2,5,15↙(回车)

输出(k,j):

k=0j=0

路径ID:

路径2:

1→2→3→8→10→11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1