版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
历年真题考试时间:120试卷总分:1002009年3月全国计算机等级考试四级软件测试工程师笔试真题一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1:参考答案:D参考解析:(P6)可靠性:在指定条件下使用,软件产品维持规定的性能水平的能力;效率:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力;易用性:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力;功能性:当软件在指定条件下使用,软件产品提供明确的和隐含要求的功能的能力。*O试题内容:O在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的口A:效率匚B:易用性口C:功能性口D:可靠性・2:参考答案:C・参考解析:(P19)独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。*O试题内容:O程序独立测试的人员应是CA:程序员自己匚B:同一开发组的测试成员匚C:第三方测试人员D:同一开发组的其他成员•3:参考答案:B・参考解析:(P13)严重的错误,是指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明;致命的错误,是指造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等;一般的错误,是指不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好的实现功能,没有达到预期的效果;微小的错误,是指一些小的问题,对功能几乎没有影响,产品及属性仍可使用。•O试题内容:O如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失,次要功能完全丢失,或错误的声明,这是属于匚A:致命的错误匚B:严重的错误CC:一般的错误匚D:微小的错误・4:参考答案:B・参考解析:(P21)对与嵌套型分支结构,若有N个判定语句,则存在N+1条不同的路径。O试题内容:O有一段小程序,对数组A[n]中所有正整数和负整数求累加和,negat和posit分别返回负整数和正整数的累加和。intmaxlnt=32767,minInt=-32768;negat=0;posit=0;for(inti=0;i<n;i++)if(A[i]<0&&A[i]>=minlnt-negat)negat=negat+A[i];elseif(A[i]>0&&A[i]<=maxInt-posit)posit=posit+A[i];可能的测试路径数是A)3n B)4n05° D)6no■r-n□A:ACB:B匚C:CCD:D・5:参考答案:A・参考解析:(P65)DDP覆盖率公式:DDP覆盖率=被评价到的判定路径数量/程序中判定路径总数X100%=4/7X100%=57.1%。试题内容:下图是一个判定路径覆盖图,其中用表示判定语句,用“”表示处理语句,用表示判定汇合点,用“•——•”表示判定路径,若有一个测试用例覆盖了判定路径A、B、E、H,则判定路径覆盖率为判定路径A 判定路径「 判定路毛口A:57.1%匚B:78.6%匚C:90%D:100%•6:参考答案:A・参考解析:(P94)人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。■O试题内容:O人们从长期的测试工作经验得知,大量的错误是发生在输入范围的口A:边界上匚B:内部CC:外部匚D:相互作用上・7:参考答案:D・参考解析:(P120)单元测试的测试对象是实现了具体功能的程序单元,一般对应详细设计中所描述的设计单元。*O试题内容:O单元测试的测试对象不包括口A:设计单元"匚B:各个操作Cc:内部消息序列匚D:场景・8:参考答案:C・参考解析:(P125)一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路。•O试题内容:O一个好的程序实现是要考虑各种可能出错的条件,并进行适当的出错处理,即预设各种出错处理的口A:现象B:策略匚c:通路匚D:场景・9:参考答案:B・参考解析:(P146)集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误,包括接口数据本身的错误、接口数据顺序错误等。O试题内容:O正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了-CA:应该做的事情,口B:不该做的事情,口C:有错误的事件-匚D:有性能缺陷的事情・10:参考答案:C・参考解析:(P138)成对集成的思想就是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块;三明治集成:把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合;相邻集成就是对每个邻居建立并执行一个集成测试会话。*O试题内容:O在基于调用图的集成中,有一种集成策略就是对应与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是■匚A:持续集成•CB:三明治集成,口C:成对集成D:相邻集成・11:参考答案:B.参考解析:(P180)软件性能测试的分类:性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。■O试题内容:O以下哪种软件测试不属于软件性能测试的范畴O匚A:配置测试匚B:健壮性测试口C:失效恢复测试匕D:负载测试・12:参考答案:B.参考解析:(P178)软件性能测试的目标:发现缺陷、性能调优、能力检验与规划。■O试题内容:Q以下目标中,哪个是软件性能测试的目标,口A:检查软件的容错能力匚B:发现压力下软件功能的缺陷匕C:发现软件的安全漏洞口D:检查用户界面是否易于使用•13:o参考答案:A•参考解析:(P187)人们通过软件运行剖面来刻画软件实际运行情况。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。可靠性测试的目的是进行软件可靠性的预测。*o试题内容:。以卜关于软件可靠性测试的说法中,正确的是■口A:软件运行剖面的定义需要符合软件的实际运行情况匚B:测试用例的生成必须采用白盒测试方法匚C:软件可靠性测试通常能够比黑盒测试发现更多的错误匚D:软件可靠性测试必须在集成测试中实施・14:参考答案:C・参考解析:(P192)在设计每个类的测试用例时,不仅要考虑调用各个成员方法的输入参数,还要考虑如何设计调用的序列,而有的测试序列会在某些成员方法执行时因为不能满足方法正常执行的前提条件而导致方法处于不正常的工作状态,这些测试序列不是合理的测试序列。类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A实例的测试,但如果继承使用不合理,还需要按照类A的规格说明对类A重新进行测试。等价类划分是一种方法层次的测试。*O试题内容:O以下关于面向对象软件测试的说法中,正确的是.匚A:面向对象软件只能采用白盒测试,不能采用黑盒测试匚B:测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例口C:若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用匚D:等价类划分是一种类树层次的测试技术・15:参考答案:C・参考解析:(P201)大突击集成只进行一轮,无需进行增量式集成;与大突击集成相比,自底向上集成中测试的充分性容易得到保证;基干集成的优点是:集中了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成。*o试题内容:O以下关于面向对象程序集成测试的说法中,错误的是A:大突击集成只进行一轮,无需增量集成匚B:与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性口C:基干集成在任何情况下都优于自底向上集成匚D:无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码・16:参考答案:C・参考解析:(P206)集成策略需要关注如何充分测试类间的各种连接。O试题内容:O以下哪种测试属于面向对象程序集成测试考虑的范畴CA:针对一个类的多个成员方法间协作的测试匚B:针对一个成员方法的不同输入情况的测试匚C:针对多个类的多个实例间协作的测试匚D:针对一个类树上多个类间继承的测试・17:参考答案:A・参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。•o试题内容:O以下关于Web应用软件测试的说法中,正确的是匚A:链接测试是Web应用软件测试的一项内容CB:Web应用软件测试通常不考虑安全性测试匚C:与传统软件相比,Web应用软件测试更简单口D:Web应用软件只能进行黑盒测试,不能进行白盒测试・18:参考答案:D・参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。安全性测试包括服务器端的内容安全性、客户端的内容安全性、Cookie安全性和日志功能;性能测试包括并发测试、负载测试和压力测试、配置测试和性能调优。o试题内容:O以下关于Web应用软件测试的说法中,错误的是匚A:内容测试是Web应用软件测试的一项重要内容口B:Cookie安全性测试是Web应用软件安全性测试的一项重要内容CC:并发测试是Web应用软件性能测试的一项重要内容匚D:表单测试是Web应用软件性能测试的一项重要内容・19:参考答案:D・参考解析:(P230-233)易用性测试包括易安装性测试、功能易用性测试以及用户界面测试;易安装性测试包括安装手册的易用性、安装的自动化程度、安装的灵活性、安装中断的处理、修复安装和卸载、多环境安装的支持;功能易用性测试包括业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度;用户界面测试包括界面整体测试、界面元素测试、输入测试。A选项属于界面整体测试的合理性测试;B选项属于易安装性测试;C选项属于功能易用性测试的功能定制性。D选项是在静态关联下具有的。■O试题内容:O以下哪一项不属于软件易用性测试关注的范畴匚A:软件界面的色彩是否协调CB:软件是否能在多种操作系统下运行口C:软件是否支持用户根据自己的需要进行定制口D:软件是否能主动引导用户使用相互关联的功能・20:参考答案:B・参考解析:(P228)与其他软件的兼容性包括与其他支撑软件的兼容性、与其他同类软件的兼容性和与不同类软件的兼容性。同类软件间的互操作:当存在多个同类软件时,用户一般希望它们之间可以互操作,用户因此可以充分利用各个软件的优势;不同类的软件间通常不存在交互和冲突,因此通常不存在兼容性的问题,但对于一些特殊情况需要加以考虑。O试题内容:O以下哪一项属于兼容性测试关注的范畴CA:办公软件在异常退出时是否会破坏正在处理的文档匚B:杀毒软件在清除病毒时是否会破坏办公软件的文档口C:软件同类功能的使用风格是否一致口D:软件提供的功能与用户手册的说明是否一致・21:参考答案:A・参考解析:(P258)软件测试设计的要点:所设计的测试技术方案是否可行,是否有效和是否能达到预期的测试目标;所设计的测试用例是否完整,边界条件是否考虑,其覆盖范围能达到多高;所设计的测试环境是否和用户的实际使用环境比较接近;白盒测试的用例设计的方法:采用逻辑覆盖的结构测试用例的设计方法;基于程序结构的域测试用例设计方法;数据流测试用例设计方法;根据对象状态或等待状态变化来设计测试用例;基于程序错误的变异来设计测试用例;基于代数运算符合的测试用例设计方法。测试开发是测试用例设计的一部分工作内容。■o试题内容:O下列有关软件测试设计的说法中,正确的是口A:测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标匚B:基于判定表的测试用例设计方法是白盒测试用例设计方法Cc:测试方案设计中可以忽略软件系统的实际使用环境CD:测试开发不是测试用例设计的工作内容・22:参考答案:D・参考解析:(P265)测试项目结束的阶段性标志是将测试报告或质量报告发送出去,并得到测试经理或项目经理的认可。需要完成的管理操作:①审查测试全过程。在原来跟踪的基础上,要对测试项目进行全过程、全方位的审视,检查测试计划、测试用例是否得到执行,检查测试是否有遗漏。②对当前状态的审查。包括产品缺陷和过程中没有解决的各类问题。对产品目前存在的缺陷进行逐个的分析,了解对产品质量影响的程序,从而决定产品的测试是否能告一段落。③结束标识。根据上述两项的审查进行评估,如果所有测试内容完成,测试的覆盖率达到要求以及产品质量达到已定义的标准,就可以定稿测试报告。④项目总结。通过对项目中的问题分析,找出流程、技术和管理中存在的问题根源,避免今后再度发生并获得项目成功经验。•O试题内容:O下列有关测试项目结束与定稿测试报告的说法中,正确的是CA:测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了CB:对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告匚C:审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告匚D:当所有测试计划内容完成,测试覆盖率达到要求以及产品质量达到定义的标准,即可定稿测试报告・23:参考答案:D・参考解析:(P282)如果仅执行自动测试,而不进行自动比较,就不算是自动化测试;自动比较的内容可能是多种类型的:文本信息、专用格式化数据、屏幕输出内容、电子邮件信息、发送到硬件设备的数据或信号、通过网络发送到其他机器和进程的信息、数据库的内容等;自动比较的局限性在于办公自动比较可能没有人工比较灵活。■O试题内容:O下列有关自动测试的基本概念中,错误的是CA:仅有自动测试执行而无自动比较,则不算是完全自动化测试CB:自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等匚C:自动比较的局限性在于自动比较可能没有人工比较灵活性高匚D:自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作24:参考答案:C参考解析:(P305)回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试;软件测试规范规定,对具体的软件可根据软件测试合同及软件的重要性、完整性级别的对上述各类软件测试的内容进行裁剪。*O试题内容:o以下关于软件回归测试的说法中错误的是CA:软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试匚B:软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试匚C:软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试口D:对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁・25:参考答案:D・参考解析:(P305)验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。验收测试一般由软件的需方组织,由独立于软件开发的人员实施。如果验收测试委托第三方实施,一般应委托国家认可的第三方测试机构。软件验收测试的技术依据是软件研制合同。其测试工作应满足被验收测试的软件已通过系统测试。*O试题内容:O以下说法中错误的是-CA:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统■匚B:验收测试的技术依据是软件研制合同(或用户需求或系统需求)C:进行验收测试的软件必需已经通过系统测试
D:验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。・1:参考答案:1.Push。Push。2.边数E为6,结点数N为3,V(G)=E-N+2=6-3+2-503.pathl;SIPush。PopC)
-S2 ^S1path2:3.pathl;SIPush。PopC)
-S2 ^S1path2:SIPush。 >S2SetEmptyO一]path3:SIPush。 Push。 -S2 PopC) PopO■S3 ►S2 -SIpath4:SIPush。 Push。 PopO *S2 ^S3 -S2SetEmptyOSIPush。 Push()SetEmptvC) -S2 -S3 SIo试题内容:o一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。转换到各个状态的条件如下:SI:(t0)创建栈对象时初始化,这是系统做的;(tl)在S2状态下执行置空运算setEmptyO;(t2)在S3状态下执行置空运算setEmptyO;(t3)在S2状态下执行出栈运算Pop();S2:(t4)在S1状态下执行进栈运算Push。;(t5)在S3状态下执行出栈运算Pop();S3:(t6)在S2状态下执行进栈运算Push。。为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。要求.根据题意,画出栈对象的状态迁移图;.计算该状态迁移图的McCabe环路复杂性;.确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。・2:参考答案:子系统客户端容量未设计测试用例。登录与退出测试用例未执行,即时消息的个人设置功能的测试用例未执行完,其中还有6个未执行;测试用例设计存在问题:功能区域划分不详细,客户端容量的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问题:存在未执行的用例。2.存在问题是开发组和测试组不能在2天后完成工作。根据题中描述的数据,开发组中要修改的问题数是14+151=165,需要修改时间是160/40=4天;测试组即便新建的问题不需要修改,需要时间是:(105+151)/90=3天。o试题内容:o某测试项目中的测试执行阶段按计划在3天后结束,将进入测试总结阶段。.测试管理人员通过QESuiteWebversion1.0测试过程管理工具观察到部分测试用例的设计状况和执行状况如下表,请从测试用例设计和测试用例执行2个方面说明观察到的问题和需要尽快开展的相关测试工作。.该项目当前的软件问题处理状况如下:测试项目当前剩余处在“待验”状态的软件问题有105个,处在“新建”状态的软件问题有14个,处在“打开”状态的软件问题有151个。已知该测试组的软件问题日常处理能力是90个软件问题/工作日,开发组日常修复软件问题的能力是40个软件问题/工作日。请说明软件问题报告处理方面说明存在的问题和需要尽快开展的相关开发和测试工作。子系统功能区域测试用例编写数量谟登录与退出—6即时消息个人设置8发送接收消息5邀请多人参与5音视频交互5•••…•••客户端容量—0客户端性能—5客户端强度—4•3:参考答案:1.intmain(void)(Charchoice;Init_list();for(;;){choice=menu_select();switch(choice){enterO;break;deleteAddr();break;list();break;exit(0);))Return0;)Voidinit_list(void)(Registerintt;For(t=0;t<MAX;++t)Addr_listLt].name[0]=\0;①Intmenu_select(void)(Chars[80];Intc;Printf(z,1.Enteraname\n,z);Printf(z,2.Deleteaname\n,z);Printf(z/3.Listthefile\n/z);PrintfC4.Quit\n,z):②Do{Printf(z,\nEnteryourchoice:z,);Gets(s);Oatoi(s);③}while(c<l||c>4);Returnc;④Voidenter(void)(Intslot;Chars[80];Slot=find_free();If(slot==-l){PrintfC\NlistFULL");Return;⑦}Printf("Entername:");Gets(add_list[slot].name);Printf(z,Enterstreet:,z);Gets(addr_list[slot].street);Printf(/zEntercity:");Gets(addr_list[slot].city);Printf("Enterzip:");Gets(s);Addr_list[slot].zip=strtoul(s,\0,10);⑧)Intfind_free(void)Registerintt;For(t=0;addr_list[t].name[0]&&t<MAX;++t);If(t==MAX)return-1;⑤Returnt;⑥VoiddeleteAddr(void)(Registerintslot;Chars[80];Printf(z,enterrecord#:〃);Gets(s);Slot=atoi(s);⑨lf(slot>=0&&slot<MAX)Addr_list[slot].name[0]=\0;⑩voidlist(void)(Registerintt;for(t=0;t<MAX;++t){If(addr_list[t].name[0]){PrintfC%s\nz,,addr_list[t].name);Printf(,z%s\nz,,addr_list[t].street);Printf(,z%s\nz,,addr_list[t].city);Printf(z/%lu\n\nz,,addr_list[t.zip]);})Printf(z/\n'n");}S1:t<MAXc<l||c>4addr_list[t].name[0]&&t<MAXS4:slot==-1slot>=0&&slot<MAXaddr_list[t].name[0]试用的:TESTI:输入:在"Enteryourchoice:〃后输入:1;输出:z,l.Enteraname”,z2.Deleteaname”“3.listthefile”“ListFull"Test2:输入:在"Enteryourchoice:〃后输入:1;在"Entername:"后输入:王明在"Enterstreet:〃后输入:王府井在“Entercity::,z后输入:北京在"Enterzip::〃后输入:4121500输出:z,1.Enteraname”,z2.Deleteaname”z,3.listthefile”〃4.Quit"Test3:输入:在“Enteryourchoice:"后输入:2;在"Enterrecord$:〃后输入:4;输出:z,l.Enteraname”z,2.Deleteaname”z,3.listthefile”〃4.Quit〃Test4:输入:在“Enteryourchoice:"后输入:3;输出:z,l.Enteraname”〃2.Deleteaname”z,3.listthefile”〃4.Quit”王明王府井北京4121500Test4:输入:在"Enteryourchoice:"后输入:4;输出:无输出,系统退出不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。O试题内容:o已知C源程序如下:/*Asimplemailinglistexampleusinganarrayofstructures.*/#include<stdion.h>ttinclude<stdlib.h>#defineMAX4structaddr{charname[30];charstreet[40];charcity[20];unsignedlongintzip;}addr_list[MAX];voidinit_list(void),enter(void);voiddeleteAddr(void),list(void);intmenu_select(void),find_free(void);intmain(void)(charchoice;init_list()""initializethestructurearray*/for(;;){choice=menu_select();switch(choice){case1:enter();break;case2:deleteAddr();break;case3:list();break;case4:exit(0);))return0;)/*Initializethelist.*/voidinit_list(void)(registerintt;for(t=0;t<MAX;++t)addr_list[t].name[0]=\0;/*Getamenuselection.*/intmenu_select(void)|chars[80];intc;printf("LEnteraname\nz,);printf(,z2.Deleteaname\n,z);printfC*3.Listthefile\nzz);printf("4.Quit\n");do{printf(z,\nEnteryourchoice:z,);gets(s);c=atoi(s);}while(c<l||c>4);returnc;}/*Inputaddressesintothelist.*/voidenter(void)(intslot;chars[80];slot=findfree();if(slot==-l){printfC\nListFull");return;)printf("Entername:");gets(addr_list[slot].name);printf("Enterstreet:");gets(addr_list[slot].street);printf("'Entercity:");gets(addr_list[slot].city);printf("Enterzip:〃);gets(s);addr_list[slot].zip=strtoul(s,\0,10);/*Findanunusedstructure.*/intfind_free(void)registerintt;for(t=0;addr_list[t].name[0]&&t<MAX;++t);if(t==MAX)returnT;/*noslotsfree*/returnt;)/*Deleteanaddress.*/voiddeleteAddr(void)(registerintslot;chars[80];printf(z,enterrecordgets(s);slot=atoi(s);if(slot>=0&&slot<MAX)addr_list[slot].name[0]=\0;}/*Displaythelistonthescreen.*/voidlist(void)(registerintt;for(t=0;t<MAX;++t){if(addr_list[t].name[0]){printf(z,%s\n,z,addr_listLt].name);printf(z,%s\n,z,addr_listLt].street);printfC%s\n,z,addr_listLt].city);printf(z,%lu\n\nz,,addr_list[t].zip);)}printf(〃\n\n");).画出main函数的控制流程图;.设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。历年真题考试时间:120试卷总分:100・2009年9月全国计算机等级考试四级软件测试工程师笔试真题
一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有
一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。1. 软件验证和确认是保证软件质量的重要措施,它的实施应该针对(2分)*oCA:程序编写阶段o匚B:软件开发的所有阶段o口C:软件调试阶段oCD:软件设计阶段2. 在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是(2分)■oCA:程序结构。口B:软件外部功能。匚C:程序正确性o匚D:程序内部逻辑3. 在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是(2分)■oCA:操作性分析o□B:可靠性分析o匚C:引用分析4.o°D:接口分析4.卜一列指导选择和使用测试覆盖率的原则中错误的是(2分)oCA:覆盖率不是目的,仅是一种手段。匚B:不要追求绝对100%的覆盖率o匚C:不可能针对所有的覆盖率指标来选择测试用例o匚D:只根据测试覆盖率指标来指导测试用例的设计5. 在以下有关逻辑覆盖的说法中错误的说法是(2分)O匚A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准o口B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求o匚C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求o匚D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来6. 走查是对软件进行静态测试的一种方法,以下不属于走查活动的是(2分)*。CA:计划走查会议。匚B:准备测试用例o口C:执行走查以发现和改正错误o口D:在走查过程中程序员逐条讲解自己的程序7.设有一段程序如下满足判定一条件覆盖的要求下,最少的测试用例数目是(2分)if((a==b)and((c==d)or(e==f)))doSIeheif((p==q)or(5==t))doS2elsedoS3CA:6□B:8CC:3CD:4・8. 在以下有关集成测试的说法中,错误的说法是(2分)OCA:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力o口B:自底向上集成的优点是减少了编写桩模块的工作量o匚C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题o匚D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大・9. 在集成测试阶段,人们关注的一种主要的覆盖是(2分)*。CA:功能覆盖oCB:语句覆盖oCC:基本路径覆盖。CD:条件覆盖•10. 可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是(2分)oCA:正确标识在需求规格说明中的每项需求B:从需求规格开始的正向跟踪应确保完全支持需求规格oCc:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持。匚D:确保所有不同接口规格说明的完整性・11. 以下关于软件性能测试的说法中,不正确的是(2分)•OCA:发现软件缺陷是性能测试的目的之一O匚B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力o口C:性能测试通常需要对测试结果进行分析才能获得测试结论o口D:检验软件的最大负载是性能测试的目的之一12. 以下哪种软件测试不属于广义软件性能测试的范畴(2分)OCA:并发测试。匚B:压力测试。匚C:兼容性测试。匚D:负载测试13. 以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是(2分)O匚A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别O匚B:软件经常面临恶意的使用者,而硬件没有恶意的使用者o匚C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区oCD:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的14. 以下关于面向对象软件测试的说法中,错误的是(2分)*O匚A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分。匚B:面向对象软件只能采用白盒测试,不能采用黑盒测试o口C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试o口D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴15. 以下关于面向对象软件测试的说法中,正确的是(2分)OCA:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用。匚B:基于判定表的测试不能用于面向对象程序的单元测试。口C:不变式边界测试可用于类层次的测试,其目的是测试功能组合o匚D:对于抽象类,需要进行单元测试.16. 以下关于面向对象程序集成测试的说法中,正确的是(2分)■O匚A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略O匚B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码C:协作集成从本质上讲是--种自底向上集成匚D:基干集成从本质上讲是一种自顶向下集成17. 以下关于Web应用软件测试的说法中,正确的是(2分)■。匚A:对Web应用软件进行性能测试时,不需要进行压力测试o口B:内容测试是Web应用软件易用性测试的一项重要内容oCC:Cookie测试是Web应用软件功能测试的一项重要内容。口D:是否存在无效链接是Web应用软件安全性测试关注的范畴18. 以下哪一项属于软件易用性测试关注的范畴(2分)■oCA:软件是否能在多种操作系统下运行o口B:软件是否能与同类软件共享数据o匚C:软件是否能主动禁止用户可能进行的非法操作o匚D:软件是否能抵御网络攻击19. 以下哪一项属于数据兼容性测试关注的范畴(2分)■O匚A:软件在异常退出时是否会破坏正在处理的文件。匚B:软件是否可以在不同的J2EE应用服务器上运行o口C:软件同类功能的使用风格是否一致o匚D:软件是否能打开以前版本保存的文件20. 以下关于极限测试的说法中,正确的是(2分)匚A:极限测试是一种针对极限编程的软件测试匚B:极限测试中所有的测试均由编码人员完成o口C:与传统的软件测试相比,极限测试是一种更严格的测试。匚D:极限测试中只需要进行单元测试・21. 下列有关软件缺陷报告的编写原则中,哪个是错误的(2分)oCA:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷o口B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷o口C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息。口D:同一个软件缺陷可以被重复报告22.依据QESuiteWebVersion1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的(2分)■oCA:校验oCB:关闭oCC:验证oCD:分类与分配23. 下列哪个不是测试环境的组成要素(2分)■ocA:软硬件。CB:技术文档。cc:测试工具oCd:网络环境・24.根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及(2分)■。口A:测试用例管理。口B:测试环境管理。匚C:配置管理。口D:测试系统管理・25.根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及(2分)*。CA:测试用例无冗余性原则o口B:测试执行可重复性原则。口C:测试用例可操作性原则o口D:测试用例可管理性原则二、论述题(共3题,共50分)论述题答题必须用蓝、黑钢笔或圆珠笔写在论述题答题纸的相应位置上。・1. 请完成下列工作:(1)请给出与此有限状态机等价的控制流图;(4分)(2)确定基本测试路径集;(9分)(3)设计测试用例以覆盖基本测试路径。(7分)(20分)下曾是一个简单的ATM机中描述验证信用卡PIN活动的有限状态机。其中包括:厂口”表示的状态和8个用“一”表示的转移。转移上的标签所遵循的是:横线上方是弓IW:的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有三次输入PIN的如果三次都输入错误,则停止交易退卡。S1:等待插卡 第do:插k 显目 7——无效卡有效卡 J1显示无效卡退卡显示输入PIN/z ' s 第一次PIN错误S2:等攵输-TIN1显不重新输入PIN(第•次)―、Qo:输入PI、 J、~1 ,S3:等待输入PIN)PIN正确/ (第二次)I-J显示选择事务P1、正确显示选择事:务do:输入显示选择事务P1、正确显示选择事:务do:输入PINJS5:等待事务选择加按下选择按钮* PI7正确显7T选择由嗡2.已知C源程序如下:/*Inputtodaysdate,outputtomorrowsdate*//*version2*/#include<stdio.h>structydate{intday;intmonth;intyear;};intleap(structydated){if((d.year%4==0&&d.year%100!=0)I(d.year%400==0))return1;elsereturn0;}intnumdays(structydated){intday;staticintdaytab[]={31,28,31,30,31,30,31,31,30,31,30,31);if(leap(d)&&d.month==2)day=29;elseday=daytab[d.month-1];returnday;)intmain(void){structydatetoday,tomorrow;printf(z,formatofdateis:year,month,day输入的年,月,日之间应用逗号隔开\n");printf("todayis:");scanf(z,%d,%d,%d〃,&today.year,&today.month,&today.day);while(0>=today.yearItoday.year>655350>=today.monthI|today.month>121I0>=today.day|Itoday.day>numdays(today)){printf(z,inputdateerror!reenterthedate!\n,z);printf("todayis:〃);scanf(〃%d,%d,%d〃,&today.year,&today.month,&today.day);)if(today,day!=numdays(today)){tomorrow.year=today.year;tomorrow.month=today.month;tomorrow.day=today,day+1;)elseif(today.month==12){tomorrow.year=today.year+1;tomorrow.month=l;tomorrow.day=l;else{tomorrow.year=today.year;tomorrow.month=today.month+1;tomorrow.day=l;}printf(zztomorrowis:%d,%d,%d\n\n",tomorrow,year,tomorrow,month,tomorrow,day);}(1)画出程序中所有函数的控制流程图;(10分)(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分)(20分)•3.QESuiteWebVersion1.0中,已知Lead1.0邮件系统测试项目的部分信息如下:•测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Leadl.0_090801・功能分赛视图中部分待测区域及人员分配定义如下表一所示:已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuiteWebVersion1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分)(10分)历年真题考试时间:120试卷总分:1002010年3月全国计算机等级考试四级软件测试工程师笔试真题一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。・1:参考答案:C•参考解析:(P26)接口分析的目的是评估软件交付物是否正确、一致、完整和准确地说明了接口需求。接口分析必须关注三种接口:用户接口、硬件接口和软件接口。O试题内容:O以下叙述中正确的是■UA:可跟踪性分析是在整体上分析整个系统的资源分配策略匚B:关键性分析是标识原始需求和相应开发结果之间关系的能力口C:接口分析必须关注三种接口:用户接口、硬件接口和软件接口CD:评估仅在软件开发的最后阶段进行,以确认产品是否符合规模说明・2:参考答案:D・参考解析:(P109)场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法从系统分析的结果——用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。•o试题内容:O场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法的出发点是CA:事件流口B:数据流匚C:控制流匚D:用例・3:参考答案:A・参考解析:(P115)内部边界值测试可以用来发现一些内部错误,如误把“《,,写作。但内部边界值测试应作为一种补充方法,在其他方法的最后使用。O试题内容:O下面一段小程序是判断一个长度为n的字符数组是否中心对称。例如,"abcddcba”或“abcdcba”就是中心对称。作为内部边界值,应填入()内的判断应是boolcenter-svm(charS[J,intn)]〃判断字符数组s中的n个字符是否中心对称。是则函数返回We,否则返回f,inti=1,j=n;whi]e()if(S[1-1]!=S[j-1])returrifake; 〃1,j从1开始计数,数组从0开立ehe|I=i+1;j=j-1;|returntrue;匚A:i<j口B:i==j(判等)匚C:i>j匚D:i!=j(判不等)・4:参考答案:C・参考解析:(P152)功能测试主要是为了发现以下几类错误:是否有不正确或遗漏了的功能;功能实现是否满足用户需求和系统设计的隐式需求;能否正确地接受输入,能否正确地输出结果。O试题内容:O检查系统能否正确地接受输入,能否正确地输出结果,这属于UA:安全性测试口B:GUI测试Cc:功能测试匚D:协议一致性测试・5:参考答案:A・参考解析:(P44)静态错误分析有以下几种:类型和单位分析,引用分析等,其中在静态错误分析中,最广泛使用的技术就是发现引用异常。o试题内容:O检查是否存在“已定义但未使用”的变量引用异常应属于O口A:静态分析CB:动态分析口C:代码执行DD:调试・6:参考答案:A・参考解析:(P63)语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。o试题内容:O如果程序通过了百分之百的代码覆盖率测试,则说明程序满足了O口A:语句覆盖口B:编程规范匚C:设计规格匚D:功能需求・7:参考答案:B・参考解析:(P65)*O试题内容:O下面有关逻辑覆盖的说法中错误的是OCA:DDP覆盖是判定覆盖的一个变体匚B:满足条件覆盖一定也满足判定覆盖GC:指令块覆盖属于语句覆盖匚D:若判定覆盖率达到100%,则语句覆盖率一定也达到100%•参考解析:(P71)(P„)A【解析】设串联型分支结构中有n个判定语句,计算满足关系式n+1m;S=2-,取正。々UJ申川坛设汁川,.:,,!!中I;;二,'1,,.的用印川联O试题内容:O对于具有串联型分支结构的程序,如果有7个判断语句串联,则使用正交实验设计法,至少需要的测试用例数应为CA:23匚B:24匚C:26口D:27・9:参考答案:B・参考解析:(PU4)规范导出的测试是根据相关的规格说明书描述来设计测试用例的。每一个测试用例用来测试一个或多个规格说明的陈述语句。规范导出法就是根据陈述规范所用语句的顺序来相应地为被测单元设计测试用例。■O试题内容:O考虑一个计算平方根的函数,其规格说明如下:输入:浮点数输出:浮点数规格:当输入一个大于或等于零的浮点数时,函数输出其正的平方根并返回true;当输入一个小于零的浮点数时,函数显示出错信息“非法输入值”并返回false。按照规范导出法,应设计的测试用例数至少应为口A:1CB:2匚C:3D:4・10:参考答案:C・参考解析:(P135136)自底向上的增量式集成的目的是从底层构件开始,按照模块调用图的结构,逐层向上集成,以检测整个系统的稳定性。对于具有如下属性的产品,可以优先考虑本集成测试策略:采用契约式设计的产品;底层接口比较稳定的产品;高层接口变化比较频繁的产品;底层模块较早完成的产品。O试题内容:O适合使用自底向上的增量式集成方式进行集成和测试的产品应属于GA:使用了严格的净室软件工程过程的产品CB:控制模块具有较大技术风险的产品匚C:采用了契约式设计的产品匚D:在极限编程中使用了探索式开发风格的产品・11:参考答案:C・参考解析:(P180)o试题内容:O以下哪种软件测试属于软件性能测试的范畴匚A:分支覆盖测试CB:极限测试口C:负载测试匚D:硬件兼容性测试・12:参考答案:A・参考解析:暂无解析■O试题内容:O以下关于软件性能测试的说法中,正确的是OCA:达到百分之百的语句覆盖是软件性能测试的一个前提条件B:并发进程数是度量软件性能的一项基本指标Cc:探测软件在满足预定的性能需求的情况下所能负担的最大压力是失效恢复测试的主要目的之一口D:发现压力下软件功能的缺陷是软件性能测试的主要目的之一・13:参考答案:D・参考解析:(P186)软件可靠性测试的目的是收集软件测试时软件故障的情况,并对其进行整理从而为分析和预测软件的可靠性提供帮助。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。因此,此时的测试用例的设计可以完全在运行剖面的指导下进行。*o试题内容:O以下关于软件可靠性测试的说法中,正确的是OCA:软件可靠性测试能有效地减少软件在恶意使用下出现崩溃的次数口B:软件可靠性测试的主要目的是度量软件的可靠性匚C:在一次软件可靠性测试中,执行的测试用例可以不完全符合所定义的软件运行剖面匚D:软件可靠性测试使用的测试用例必须满足语句覆盖・14:参考答案:A・参考解析:暂无解析*O试题内容:O以类为单元进行单元测试时,以下说法中正确的是O匚A:一个测试用例可以调用该类的多个方法,但每个方法只能调用一次匚B:一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法cc:由该类方法组成的任何一个序列都是一个合理的测试用例匚D:针对一个类的多个实例间协作的测试仍然属于面向对象单元测试的范畴・15:参考答案:B・参考解析:暂无解析*O试题内容:O以下关于面向对象软件测试的说法中,错误的是O匚A:不变式边界测试是一种类级别的单元测试技术口B:对于一棵继承树上的多个类,只有处于叶节点的类需要测试GC:测试动态绑定是类树测试的一个目标口D:在面向对象单元测试中,等价类划分测试可以用于方法级别的测试・16:参考答案:C・参考解析:(P201)所谓大突击集成就是将系统的所有组成成分都集成在一起进行测试。与其他集成策略不同的是,大突击集成只进行一轮,无需进行增量集成。o试题内容:O以下关于面向对象软件集成测试的说法中,正确的是O匚A:大突击测试总是面向对象软件集成测试效果最差的方法匚B:基于判定表的测试是面向对象软件集成测试的常用方法.Cc:大突击测试无需增量集成匚D:自底向上集成需要开发的测试代码总是比自顶向下集成需要开发的测试代码多・17:参考答案:C・参考解析:(P219)o试题内容:O以下关于Web应用软件测试的说法中,正确的是■匚A:内容测试是Web应用软件易用性测试的一项重要内容口B:Web应用软件虽然需要频繁地进行演化,但不需要频繁地进行测试口C:Cookie安全性测试是Web应用软件安全性测试的一项重要内容GD:Web应用软件只能进行白盒测试,不能进行黑盒测试・18:参考答案:B・参考解析:(P218)对Web应用软件而言,Web服务器,中间服务器和数据库服务器的配置都可能影响其性能。*o试题内容:O以下关于Web应用软件测试的说法中,正确的是OCA:Web应用软件安全性测试只关注用户能否绕开访问控制使用超越访问权限的内容匚B:Web应用软件的性能不仅与Web应用软件自身的代码有关,还可能与所用的Web服务器、中间件服务器以及数据库服务器有关口C:测试Web应用软件是否支持不同的浏览器是Web应用软件表示层测试关注的一项主要内容匚D:对于没有使用数据库的Web应用软件,不需要进行性能测试・19:参考答案:A・参考解析:(P231)与手工相比,使用软件的一个主要优点是能够减少重复的输入,从而保证数据的一致性。*O试题内容:O以下哪一项属于软件功能易用性测试关注的内容O匚A:软件是否能帮助用户减少输入中的重复劳动B:软件界面的色彩是否协调Cc:软件是否允许用户导入由该软件以前版本生成的数据口D:软件的界面风格是否与同类软件的界面风格一致・20:参考答案:A・参考解析:(P229)数据兼容性测试包括两类:不同版本间的数据兼容性和不同软件间的数据兼容性。O试题内容:O以下哪一项不属于数据兼容性测试关注的范畴O■匚A:一个Web应用软件是否支持不同的关系型数据库口B:一个浏览器是否同时支持不同版本的HTML文件格式cc:一个排版软件是否可以打开该软件以前版本保存的文件口D:一个文字处理软件是否可以打开其他文字处理软件保存的文件・21:参考答案:B・参考解析:(P247~249)*o试题内容:O下列有关测试过程抽象模型的描述中正确的是O■匚A:v模型指出,软件测试要尽早准备,尽早执行,只要某个测试达到了准备就绪点,测试执行活动就可开展匚B:W模型强调,测试伴随着整个软件开发周期同步进行,而且测试的对象不仅仅是程序,需求、设计也同样要测试口C:H模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求GD:X模型提出针对完整的程序进行集成的编码和测试・22:参考答案:D・参考解析:(P255)制定测试计划,要达到的目标有:为测试各项活动制定一个现实可行的综合的计划;建立一个组织模型;开发有效的测试模型;确定测试所需要的时间和资源;确定测试过程中每个测试阶段的测试完成标准和要实现的目标;识别出测试活动中各种风险,并给出风险应对措施。o试题内容:O以下活动中,哪个不属于测试计划的内容CA:为测试各项活动制定一个现实可行的综合的计划匚B:确定测试过程中每个测试阶段的测试完成标准GC:识别测试活动中各种风险,并给出风险应对措施匚D:分析测试需求,并制定测试方案・23:参考答案:D・参考解析:(P276)自动测试工具不是智能测试工具,而是再测试工具,即回归测试工具。O试题内容:O以下有关回归测试的说法中错误的是匚A:严格来说,回归测试不是一个测试阶段,只是一种可以用于各个测试阶段的测试技术匚B:回归测试的目标是保证被测应用在系统被修改和扩充后,各项功能依然正确口C:回归测试可以在系统和验收测试环境下进行匚D:回归测试适合采用传统手工方法来完成,而不适合使用自动化测试工具来完成・24:参考答案:A・参考解析:(P44、45)静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。它有以下几种:类型和单位分析,引用分析,表达式分析,接口分析。o试题内容:O软件静态分析一般包括:控制流分析、数据流分析、接口分析,以A:表达式分析匚B:功能分析口C:边界值分析•匚D:因果图分析・25:参考答案:C・参考解析:(P120)系统测试与单元测试,集成测试的区别在于测试方法不同:系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。•O试题内容:o以下说法中错误的是OGA:单元测试一般采用白盒测试方法,辅以黑盒测试方法匚B:集成测试主要采用黑盒测试方法,辅以白盒测试方法口C:配置项测试一般采用白盒测试方法匚D:系统测试一般采用黑盒测试方法二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。・1:参考答案:(3)基本路径集=Cache复杂度=4设计测试用例如下:①输入空值,执行路径S1-S2-S1②输入abc,空值,执行路径S1-S2-S3-S2-S1③输入1.23_,执行路径S1-S2-S3-S1④输入abc,4.56_执行路径SI-S2-S3-S2-S3-SI状态执行情况当前状态YYYY输入YYYY下一个状态NYYY输入NYNY下一个状态NNYY当前状态YYNYSI-S2-SISI-S2-S3-S2-SISI-S2-S3-SISI-S2-S3-S2-S3-“Y”-执行“N”-不执行o试题内容:o考虑一个根据以下简单规则确认输入数有效性的应用程序:输入数由数字、符号“+”或“-”开始。该数字或符号后面可接任意位数的数字。这些数字可以有选择地后接用英文句号表示的小数点。如果有一个小数点,则小数点后面应该有两位数字。任何输入数,不管是否有小数点,都应该以空格结束。请根据以上处理规则:(1)画出相应的状态转换图。(4分)(2)根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入的“下一个状态”。(4分)(3)根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。(12分)・2:参考答案:序号操作人员执行操作状态试版本1李明新建验证/待验DUCHA1.0J001052李明校验/再现打开DUCHAI.OJOOIO53吕剑秋修复/修复睑证/待验DUCHAI.OJOO2O54李明验证/校验解决/修复DUCHAI.OJOO2O55李明打开打开/再现DUCHAI.OJ0O21Oo试题内容:OQESuiteWebVersion1.0中,已知DUCHA1.0工作专网系统测试项目的部分信息如下:•测试版本:总计3个测试版本,按日期排序分别为DUCHA1.0_100105,DUCHA1.0_100205,DUCHA1.0_100210»・功能分奏视图中部分待测反域及人员分配定义如下表所示:(表1)已知在功能区域“工作平台/归档”下有一个软件问题处于“打开/再现”状态,下表中是该软件问题操作历史信息,请依据QESuiteWebVersion1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(表2)功能区域功能区域测试人员开发人员安全王军张晓东工作平台发文李明昌剑秋收文李明吕剑秋 ••••••••••••归档李明吕剑秋容量并发用户数周晓松张晓东 操作序号操作者饮行操作操作后的问题状态测试版本1新建2李明校验/再现DUCHAI.0.1001053修复/修复DUCHAl.O_lOO2O54李明解决/修复5打开/再现DUCHAl.O_lOO2lO3:参考答案:(1)流程图①voidreverse(chars口)的流程图(见图1)②voidgetHex(intnumber,chars口)的流程图(见图2)③intmain()的流程图(见图3)(2)设计测试用例①输入0,输出0②输入2,③输入26,④输入27,⑤输入28.⑥输入29.⑦输入30.⑧输入31,输出2输出1A输出1B输出1C输出1D输出1E输出1F⑨输入20P,输出错误语句覆盖率无法达到100%,因为main。函数中的return0语句永远无法执行。O试题内容:o已知C源程序如下:#include<stdio.h>#include<string.h>voidreverse(chars[]){intc,i,j;for(i=0,j=strlen(s)-l;i<j;i++,j-){c=s[i];s[i]=s[j];s[j]=c;))voidgetHex(intnumber,chars[]){inti;i=0;while(number>0){if(number%16<10)s[i++]=number%16+0 ;elseswitch(number%16){case10:s [i++] = A ;break;case11:s [i++] = B ;break;case12:s [i++] = C ;break;case13:s [i++] = D ;break;case14:s [i++] = E ;break;case15:s [i++] = F ;break;default:printf(z,Error,z);break;)number/=16;)s[i]=\\0 ;reverse(s);}intmain(){unsignedintnumber;inti=0;chars[50];printf(“如"pleaseinputnumber:\\n,z);scanf&number);getHex(number,s);i=0;while(s[i])printf("%c",s[i++]);return0;(1)画出程序中所有函数的控制流程图;(10分)(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%o如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。(10分)历年真题考试时间:120试卷总分:1002010年9月全国计算机等级考试四级软件测试工程师笔试真题一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1:参考答案:C参考解析:软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特性的集合,它除了关注“明确的需求”外,还扩展到了“隐含的需求”。软件质量是各种特性的复杂组合,定义一个软件的质量,就等于为该软件定义一系列质量属性。C项叙述不准确。■O试题内容:O下列有关软件质量的叙述中,错误的是O匚A:软件质量不仅包括软件产品的质量,还包括软件过程的质量CB:明确的软件质量属性是指在合同或行业标准中规定必须实现的质量要求口C:隐含的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑匚D:软件的功能和性能必须结合在一起考虑•2:参考答案:D・参考解析:对于A项,软件测试贯穿于软件开发的整个过程,其功能是验证软件的功能是否按照预先的设想执行的。对于B项,一个成功的软件测试是发现了以前未发现的错误的测试。对于C项,根据80/20原则,如果发现一程序模块似乎比其它程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个过程模块。D项正确。■O试题内容:O下列有关软件测试的叙述中,正确的是匚A:测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验匚B:一个成功的测试能够验证程序的确做了它应该做的事情口C:根据80/20的原则,优秀的软件开发人员所编写的程序错误少,因此对于他们的程序,重点不应放在缺陷测试上匚D:在软件过程的早期寻找尽可能多的错误符合软件测试的原则・3:参考答案:A・参考解析:白盒测试是程序员在编程阶段对每个程序单元进行测试的最有效的测试类型,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。A项错误。•O试题内容:O下列有关白盒测试的叙述中,错误的是匚A:白盒测试是在同时拥有源代码和可执行代码的情形下才可以进行的一种软件测试方法匚B:白盒测试应该由开发人员实施,因为只有他们才能够访问测试执行所涉及的代码匚C:即使对所有的源代码都进行了100%的逻辑覆盖测试,也不能保证程序中没有错误匚D:软件测试人员制定测试计划的目的是想尽可能多地对源代码进行测试・4:参考答案:D・参考解析:数据流可看作是一种路径测试,它主要关注在一条路径上变量在何处定义,在何处使用,它是一种白盒测试方法。o试题内容:O下列有关黑盒测试的叙述中,错误的是CA:黑盒测试是在不考虑源代码的情形下进行的一种软件测试方法CB:最好由测试人员、最终用户和开发人员组成的团队来实施黑盒测试口C:黑盒测试主要是通过对比和分析实测结果和预期结果来发现它们之间的差异,所以黑盒测试又称为"数据驱动”测试匚D:数据流测试是一种黑盒测试方法・5:参考答案:C・参考解析:走查人员走查产品并且准备在走查会议上讨论他们对产品作出的评注、建议、问题,同时,协调人员指定一个测试组,为被审查程序准备一批有代表性的测试用例,提交给走查小组,在大多数的走查中,很多问题是在向程序员提问过程中发现的,而不是由测试用例直接发现的。■O试题内容:O走查是一种重要的审查方法,下列所述的审查活动中,不属于走查的是CA:审查小组的组织者事先把相关的设计文档、源程序和其他材料发给每一个小组成员,要求他们预先了解审查的内容CB:测试员事先根据审查的源代码准备一批测试用例口C:程序员在小组审查会上向全体审查人员逐条讲解自己编写的程序匚D:所有参与审查的人员集体扮演''计算机''的角色,使用事先准备的测试用例按照源程序规定的顺序逐条执行,讨论可能出现的问题・6:参考答案:D・参考解析:软件测试的不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试活动就可以开展。O试题内容:O下面有关软件测试的叙述中,不属于H模型核心思想的是O匚A:软件测试不仅仅指测试的执行,还包括很多其他的活动口B:软件测试是一个独立的流程,贯穿产品整个开发周期,与其他流程并发地进行口C:软件测试要尽早准备,尽早执行匚D:软件测试不同层次的测试活动严格按照某种线性次序执行・7:参考答案:A・参考解析:路径覆盖就是设计足够的测试用例,执行程序中所有可能的路径,尽管路径覆盖比判定/条件覆盖更强,但路径覆盖并不一定包含判定/条件覆盖。•o试题内容:O下面有关路径测试的叙述中,错误的是O匚A:路径覆盖是最强的覆盖测试,它不但能发现其他覆盖测试能发现的问题,还能发现其他覆盖测试不能发现的问题匚B:测试员不可能对任何一个程序都完成100%的路径测试Cc:不提倡用不同的数据重复测试同一条路径D:即使每条路径都执行了一次,程序还是可能存在缺陷・参考解析:同行评审设计的内容很多,主要分为管理评审、技术评审、文档评审和过程评审。B项正确。o试题内容:O同行评审主要包括管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三视图小学生题目及答案
- 养老院老人生活照顾人员行为规范制度
- 养老院老人紧急救援人员福利待遇制度
- 养老院老人健康监测报告制度
- 养老院工作人员职责分工制度
- 大专入门考试题目及答案
- 办公室消防安全管理制度
- 铁路四确认制度
- 小艺考初试考哪些题目及答案
- 电商平台支付流程设计原则
- 2025年铸造原理考试试题及答案
- 2025全国注册监理工程师继续教育必考题库和答案
- 衣柜全屋定制设计方案
- ESG理论与实务 课件 第一章 ESG概述
- 食堂餐厅维修项目方案(3篇)
- 医用手术器械讲解
- 冰芯气泡古大气重建-洞察及研究
- DB37∕T 5031-2015 SMC玻璃钢检查井应用技术规程
- 口腔肿瘤手术配合方案
- 新疆金川矿业有限公司堆浸场扩建技改项目环评报告
- 2025至2030年中国武汉餐饮行业市场现状调查及发展趋向研判报告
评论
0/150
提交评论