软件测试试卷(有答案)_第1页
软件测试试卷(有答案)_第2页
软件测试试卷(有答案)_第3页
软件测试试卷(有答案)_第4页
软件测试试卷(有答案)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模拟试题1一、选择题(每题2分,共30分)1.导致软件缺陷的最大原因是(

)A.编写程序

B.设计方案

C.软件需求说明书

D.软件规格说明书2.在下面几个语句中,判断哪一个是错误的A)发现和修复产品中的软件缺陷越早,开发费用就越低B)对于发现的软件缺陷要进行重现,确认是一个真正的软件缺陷;还应对这个软件缺陷进行隔离,便于开发人员定位C)应在需求阶段设计系统测试案例,一次作为需求检查的辅助手段D)在软件测试中只需要运行预先设计的所有测试案例E)软件开发人员需要承担部分测试工作

3.重庆理工大学的人事信息管理系统中,系统允许用户输入8位数字的电话号码。如果使用等价类划分法来设计测试案例,哪一组是最佳的选择?A)62563072、80603805、100080、39103825B)39103825、8252323、@)62563072、391038255、8252323、空值、h?D)62563072、0603805

4.

在V模型中下面哪一项测试工作是与需求和设计工作同时进行的A)测试设计

B)需求检查

C)录制测试脚本

D)增量式集成测试

5.

一个软件项目通常分为不同的项目阶段,在这些阶段都可能注入一些软件缺陷。在需求阶段注入的缺陷就是源于需求阶段的缺陷,在软件测试阶段注入的缺陷就是源于软件测试阶段的缺陷。源于需求阶段的缺陷也可能在测试阶段才发现。一般来说,大多数软件缺陷属于:A)软件测试阶段

B)程序编写和调试阶段

C)需求和设计阶段

D)加班工作阶段

6.假定你是某个软件项目的系统测试人员。在开始测试前你需要阅读软件需求规格说明书(SRS)了解要测试的系统的功能。你发现,SRS在许多地方么有说清楚系统的功能,即没有完整的、准确的说明系统的一些功能。你认为,在测试时无法依据SRS来判断系统是否正确的实现了所需要的功能。这是,你应该做什么?A)针对发现的问题修改SRS,使它能够完整的、准确的说明系统的功能B)将SRS退回开发方修改,等修改完成后继续系统测试工作C)安装并运行要测试的系统,参考可能获得的相关文档,观察和掌握系统实现的功能D)与用户代表、开发人员沟通,了解和明确系统的功能E)C+D

7.有一组测试用例,它使被测程序中的每一个分支至少执行一次,它满足的覆盖标准是:(

)A.语句覆盖

B.判定覆盖

C.条件覆盖

D.路径覆盖

8.

在某管理系统中,要求输入重量有效值在1.0Kg至9.5Kg(0.5Kg是最小刻度)。如果考虑使用边界值分析方法来设计有效测试案例,请问下面哪一项符合我们要求的测试用例,且测试强度较高。A)2、9

B)1、1.5、9.0、9.5

C)0、1、1.5、9.0、9.5、10.0

D)1.0、9.5

E)1、1.1、9.4、9.5

9.在下面几个语句中,判断哪一个是错误的A)在软件缺陷报告中应记录重现缺陷的步骤B)理解和掌握用户实际需求及所测试的软件产品是做好测试的前提C)应在需求阶段设计单元测试案例,一次作为需求检查的辅助手段D)测试工作应在需求阶段开始,与开发工作同步、并重E)软件产品的质量越高,发布后其维护成本就越低

10.

等价类划分和边界值分析是最常用的两种黑盒方法。采用这两种方法设计测试案例,可以很大幅度的减少测试案例的数量。那么,这两种方法有什么局限性?A)在设计一组测试案例是不能把这两种方法结合在一起同时使用B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系C)不能用于大型信息系统的测试案例的设计

D)不能用于单元测试和集成测试11.

重庆理工大学某系统中,需要输入8位的账号(数字或字母)。下面那一组测试数据是测试最佳选择?A)20082022,10000,abc,410005,空白B)20082022,空白,空值,123456789,abcC)20082022,空白,abc,10000000,IOOOOOOOD)20082022,abc,空值,100000,IOOOOO

12.

下面哪一个不是黑盒测试方法?A)边界值分析B)等价类划分C)逻辑覆盖D)状态测试方法

13.

请阅读下面这段程序:

intgetK(inta,b,c)

{

intk=1;

if((a>0)||(b<0)||(a+c>0))k=k+a;

elsek=k+b;

if(c>0)k=k+c;

returnk;

},如果测试时只采用这组输入值组合:(a,b,c)=(1,1,-1)、(-1,1,1),那么还有什么情况没有覆盖或考虑到?A)语句覆盖

B)b<0的情况

C)既执行语句k=k+a,又执行语句k=k+c

D)以上情况均没有覆盖或考虑到

14.

编写、记录和保存测试案例和测试数据是测试设计过程的主要活动。测试质量在很大程度上取决于测试案例的质量。下面是一些关于测试案例的描述。请问哪一条是不正确。A)

缺乏书面记录的测试案例,测试执行过程难以避免随意性B)

设计测试案例时,既要考虑有效输入,又要考虑无效输入C)

认真运行设计的全部测试案例即可保证足够的测试D)

如果不记录测试案例,测试团队的内部沟通可能降低效率E)

测试案例和测试数据应与软件开发文档保持一致性

15.WhichoneofthefollowingitemsisNOTacommontypeofreviewmeeting?A)PerformanceTest

B)Walkthrough

C)Inspection

D)DesignReview二、简答题(每题5分,共30分)

1.

解释什么是软件测试、软件测试的对象是什么?2.

什么是软件缺陷?它的表现形式有哪些?简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低?3.

简述利用WinRunner进行测试的过程可分为哪几个阶段,即操作步骤是什么?4.

请解释什么是回归测试,以及为什么要进行回归测试?5.

请解释什么是Alpha测试,什么是Beta测试?6.

请举例说明通常情况下测试用例都是无法穷举的。另一方面,测试用例数量太少也会导致问题三、应用分析题(每题10分,共40分。)1.

学生成绩管理系统的案例中,某功能要求输入的数据是数字字符,在0~100之间,超出这个范围的为无效数字。带非数字的也为无效字符。要求用等价类划分法设计测试用例(考虑无效和有效类),进行程序功能测试(要有过程步骤)。2.

文本切割的问题,就是把大的文本切割成若干个定长的小块。用自然语言描述,大致是如下这个样子:

strOri=原始文本内容;

len=切割前文本的长度;

sublen=切割后每块数据的长度;

buf[]=存放切割后的数据;

i=0;

//计数器

substrnum=(int)(len/sublen);

//切割后的个数

for(i=0;i<substrnum-1;i++)

buf[i]=mid(strOri,i*sublen,sublen);

buf[i+1]=mid(strOri,(i+1)*sublen,len%sublen);①请指出上述伪代码的错误之处,该错误是否是由于对变量的边界考虑不周引起的?(2分)②设计相应的测试用例,并说明设计的理由或原因。(8分)3.

某规格说明要求:第一列字符必须M或N,第二列字符必须是数字,在此情况下文件被更新。但如果第一个字符不正确,那么信息“第一列字符输入不是M或N”被产生;如果第二个字符不是数字,则信息“第二列字符输入不是数字”产生。(1)试利用因果图法,建立该软件的因果图;(2)用决策表设计测试用例。4.

基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。阅读下列说明,回答问题1至问题3。(10分)(1)请画出以下代码的控制流图。(2)请计算上述控制流图的环路复杂度V(G)。(3)请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。模拟试题1参考答案一、选择题(每题2分,共30分)

123456789101112131415cdcacebbcbbcbca二、简答题(每题5分,共30)1.参考答案软件测试是以评价一个程序或者系统属性为目标的活动,是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择与接受软件提供有力的依据。软件测试内容:软件是由文档、—数据以及程序组成的,那么软件测试就应该是对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序进行的测试。2.参考答案解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。3.参考答案WR的测试过程分为以下六个阶段:(1)创建GUImap;(2)创建测试;(3)调试测试;(4)执行测试;(5)查看测试结果;(6)报告发现的错误。4.答题要点:回归通常指以前正常的功能不再正常.回归测试主要目的是为了保障以前通过测试的功能在对代码的修改之后仍然功能正常.对代码的修改可能导致以下情形的发生:1.缺陷得以解决;2.缺陷得以解决,但是其它处曾经正常的功能开始出现问题;3.虽经努力,但是缺陷仍然不能解决;4.虽经努力,缺陷仍然不能解决,同时还引入了回归缺陷.回归测试是一项耗时的工作,往往需要对已有的测试用例进行挑选,从其中选择回归测试集.回归测试用例在开发过程中,可能需要大量的反复执行,如果有可能,应该考虑引入自动化测试手段.5.参考答案Alpha测试通常是指产品开发到了末期,在推出市场之前开发方内部进行的系统测试.Beta测试通常是指为了扩大测试面,检验开发的产品是否能在预计的各种软硬件环境中正常运行,一般将比较稳定的产品发送到各个用户单位,由用户进行测试.这些系统版本通常被称为Beta版本,在Beta测试阶段,开发方一般会先后提交软件产品的若干beta版本.6.参考答案答:以计算器为例,完全的测试需要进行1+1,1+2,1+3,……,1+9999999999999999等的测试,然后再是2+1,2+2,2+3,……,2+9999999999999999等的测试。除了加法,还有,减乘除等运算。因而,完全的测试是不可能的。然而,测试用例数量太少,会导致测试不足的情况。例如我们判断三个数是否相等的程序为:If((x+y+z)/3==x)then

Print“相等”Else

Print“不相等”Endif这样的程序当采用测试用例:x=2,y=2,z=2以及x=1,y=2,z=3时都是能够通过的,但我们不能据此判定程序是正确的。三、应用分析题(每题10分,共40分)1.

解答:第一步:分类第二步:设计有效等价类需要的测试用例。表中的①、⑤2个有效等价类,可共用一个测试用例,例如:测试数据

预期结果

测试覆盖

98

输入有效

①、⑤第三步:为每一无效等价类至少设计一个测试用例。因为有5个无效等价类,需要不少于5个测试用例。如:测试数据

预期结果

测试范围M8

输入无效

(没有数字字符输入)

输入无效

③978

输入无效

④-96

输入无效

⑥103

输入无效

2.解答:①第一个错误有点低级,把i+1改为i第二个错误:当len刚好是sublen的整数倍的时候,这个操作将发生错误。我们首先要清楚,取模操作中有一个特殊的边界值,就是第二个操作数的整数倍。这就好像是整数中的0一样重要,而上面这段代码的作者刚好忽视了这个问题,忽略了次边界。②可以设计测试用例如下:输入:strOri="abcd",sublen=2.输出:buf={"ab","cd"}输入:strOri="abcde",sublen=2,输出:buf={"ab","cd","e"}输入:strOri="a",sublen=2,输出buf={"a"}输入:strOri="",sublen=2,输出buf={}测试用例1将发现第5行的代码i+1=3,越界.因此正确的代码是buf[i]=mid(strOri,(i)*sublen,len%sublen);.测试用例2要求代码行3-4应该要循环两次,但实际上只循环了一次.正确的应该是:for(i=0;i<substrnum;i++)测试用例3行为正常测试用例4的输出为buf={""},与预期输出不一致.正确的代码是:if(len%sublen!=0){

buf[i+1]=mid(strOri,(i+1)*sublen,len%sublen);}3.解答:原因:1——第一个字符是“M”2——第一个字符是“N”3——第二个字符是一个数字结果:70——进行更新71——产生信息“第一列字符输入不是M或N”72——产生信息“第二列字符输入不是数字“

4.解答:模拟试题2一、选择题(每题2分,共30分)1.对下面的个人所得税程序中满足判定覆盖测试用例的是(

)If(income<800)

taxrate=0;elseif(income<=1500)

taxrate=0.05;elseif(income<2000)

taxrate=0.08;elsetaxrate=0.1;A.income=(799,1500,2000,2001)

B.income=(799,1500,1999,2001)C.income=(800,1500,2000,2001)

D.income=(800,1499,2000,2001)

2.在下面几个语句中,判断哪一个是正确的A)过度测试会影响进度和增加成本

B)测试设计工作与软件开发活动是相互独立、相互无关的C)测试是为了发现程序的错误

D)测试在一定的条件下应该适可而止

3.

软件测试的目的是()A.

尽可能发现并排除软件中潜藏的错误,提高软件的可靠性

B.

发现软件开发中出现的错误C.证明软件没有错误

D.修改软件中出现的错误

4.

下面那个类型的测试不是针对软件产品的一个质量特性的A)功能测试

B)性能测试

C)用户满意度测试

D)回归测试

E)易用性测试

5.

在实际的软件项目中工作中,测试人员运行测试案例,观察运行结果,当发现软件缺陷时提交软件缺陷报告。那么,测试人员判定一个运行结果中存在缺陷的准则是什么?A)这个运行结果与测试案例中的预期结果不一致

B)测试人员可以从中找到缺陷的证据C)

这个运行结果与测试人员的预期不一致

D)开发人员承认这个运行结果中存在缺陷

6.下面描述中较为准确的是:A)测试设计工作和软件开发活动是紧密相关的

B)软件测试的目的是尽可能多的找出软件的缺陷C)单元测试能发现约10%的软件缺陷

D)软件生存周期是从软件开始编码到开发结束的整个时期

7.

某次程序调试没有出现预计的结果,下列(

)不可能是导致出错的原因。A.变量没有初始化

B.编写的语句书写格式不规范

C.循环控制出错

D.代码输入有误

8.功能分析法是一种黑盒方法。其思想是:首先,分析系统的行为或具有的功能,将系统功能分解为一组功能点的集合。然后,针对每一个功能点,考察这个功能点的输入和输出,设计一个或一组测试案例,这些测试案例足以确认系统实现了这项功能;并针对受这项功能影响的系统的其他部分,补充进行一些测试。功能分析法的主要局限性是什么?A)在需求规格说明书不清楚或不完整时不能采用它

B)不使用要测试的功能的不同输入值C)不能保证覆盖系统的各项功能

D)不一定保证语句覆盖,即可能有未测试的代码

9.

假设规定某字段必须是以字母开头的、不超过8个字符的字母数字串,那么下面那一组值均属于用户名的有效等价类?A)L,zhangsan,A1111111,glenford1

B)a111,L1,Lin-Yie,Lin-fengC)zhangsan,A1111111,glendord,123B123

D)zhangsan,A1111111,glenford,Myers

10.

在重庆理工大学的某系统软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合?A1981.10.10

B1981.10.10C2000.10.10

D)110108581012132,2000.10.10

11.下面哪一个不是黑盒测试方法?A)边界值分析

B)因果图

C)基本路径测试

D)状态测试方法

12.

请阅读下面这段程序:

intfunc2(inta,b,c)

{

intk=1;

if((a>0)||(b<0)||(a+c>0))k=k+a;

elsek=k+b;

if(c>0)k=k+c;

returnk;

}

现在需要使用逻辑覆盖法测试上面的函数,请问使用下面哪一组关于(a,b,c)的输入值,组合就可以达到条件覆盖。A)(a,b,c)=(1,1,1)、(-1,1,1)

B)(a,b,c)=(1,1,1)、(-1,-1,-1)C)(a,b,c)=(1,1,-1)、(-1,-1,-1)

D)(a,b,c)=(1,1,-1)、(-1,1,1)

13.

等价类划分和边界值分析是最常用的两种黑盒方法。采用这两种方法设计测试案例,可以很大幅度的减少测试案例的数量。那么,这两种方法有什么局限性?A)在设计一组测试案例是不能把这两种方法结合在一起同时使用B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系C)不能用于大型信息系统的测试案例的设计

D)不能用于单元测试和集成测试

14.在系统测试阶段,测试人员发现并报告了某个功能的一个缺陷。后来开发人员修复了这个缺陷,向测试方提交了修改后的新版本。在安装了这个新版本之后,测试人员运行了一遍这个功能的全部测试案例,发现报告的缺陷确实已经修复了,并且没有发现新的缺陷。那么,测试人员所作的回归测试已经足够了吗?为什么?下面的几个答案中哪一个是最好的?A)不够。应该运行一遍受这个功能影响的其他功能的全部测试案例B)不够。应该再运行一遍这个功能的全部测试案例C)是的。因为报告的缺陷确实已经修复,并且没有发现新的缺陷,所以没有必要补充其他的测试D)足够了。只需要运行发现此缺陷所用的测试案例

15.WhatisNOTanimportanttestcaseforeffectivelytestingsoftwaresecurity?A)OperationsystemsecurityB)Userpermissions

C)Loginprocedures

D)Firewallintegrity二、简答题(每题5分,共30分)1.

V模型的特点。2.

什么是桩模块,什么是驱动模块?为下面的函数构造一个驱动模块。intdivide(inta,intb){

if(b==0){printf("除数不能为0");return0;}

intc=a/b;

returnc;}3.

名词解释:负载测试、压力测试、性能测试。4.

简述什么是非增量式集成测试和增量式集成测试,并作出比较。5.

分别解释什么是静态测试、动态测试、黑盒测试、白盒测试、人工测试和自动化测试。。6.

请说明QTP、WinRunner、以及LoadRunner分别是什么类型的软件?三、应用分析题(每题10分,共40分)1.

如果函数F实现了一个程序,要输入两个整型变量x1和x2,100≤x1≤200,300≤x2≤400,写出等价类划分和边界值分析的测试用例(只考虑有效值的情况,只考虑单缺陷假设)。2.

某航空公司规定,乘客可以免费托运不超过20公斤的行李。当行李重量超过20公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。对残疾乘客超重部分在舱位等次相同的情况下收费减半。用判定表描述行李托运费的处理过程并写出相应的测试用例4.

阅读下面某程序的流程图,按下列要求a)-d)写出“尽量少足够多”的测试用例,并指明该用例经过的路径;回答e)问题a)

满足语句覆盖b)

满足判定(分支)覆盖c)

满足条件覆盖d)

满足条件组合覆盖e)

判定覆盖和条件覆盖是否可以互相覆盖,试举例说明模拟试题2参考答案一、选择题(每题2分,共30分)

123456789101112131415BDADAABADBCBBAA二、简答题(每题5分,共30)2.参考答案:在单元测试时,如果模块不是独立的程序,需要设置一些辅助测试模块。辅助测试模块有两种:(1)驱动模块(Drive)

用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。(2)桩模块(Stub)

用来模拟被测模块工作过程中所调用的模块。它们一般只进行很少的数据处理。函数驱动模块:voidmain(){

int,y,z;

scanf(“%d%d”,&x,&y);

z=divide(x,y);

printf(“%d”,z);}3.参考答案性能测试(PerformanceTest):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。关注点:howmuch和howfast负载测试(LoadTest):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。关注点:howmuch强度测试(StressTest):强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方4.非增量式测试是采用一步到位的方法来构造测试:

非增量式测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。非增量式测试的缺点:当一次集成的模块较多时,非增量式测试容易出现混乱,因为测试时可能发现了许多故障,为每一个故障定位和纠正非常困难,并且在修正一个故障的同时,可能又引入了新的故障,新旧故障混杂,很难判定出错的具体原因和位置。增量式测试的集成是逐步实现的:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。非增量式测试与增量式测试的比较:非增量式测试的方法是先分散测试,然后集中起来再一次完成集成测试。假如在模块的接口处存在错误,只会在最后的集成测试时一下子暴露出来。增量式测试是逐步集成和逐步测试的方法,把可能出现的差错分散暴露出来,便于找出问题和修改。而且一些模块在逐步集成的测试中,得到了较多次的考验,因此,可能会取得较好的测试效果。

结论:增量式测试要比非增量式测试具有一定的优越性。5.所谓静态测试是指不运行被测软件,仅通过分析或检查等其他手段达到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论