您好、欢迎来到现金彩票网!
当前位置:PC蛋蛋 > 运行剖面 >

计算机等级考试四级软件测试历年真题【参考】doc

发布时间:2019-07-25 20:28 来源:未知 编辑:admin

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  历年线月全国计算机等级考试四级软件测试工程师笔试真题 一、选择题?(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 1: 参考答案:D 参考解析:(P6)可靠性:在指定条件下使用,软件产品维持规定的性能水平的能力;效率:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力;易用性:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力;功能性:当软件在指定条件下使用,软件产品提供明确的和隐含要求的功能的能力。 试题内容: 在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的 A:效率 B:易用性 C:功能性 D:可靠性 2: 参考答案:C 参考解析:(P19)独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。 试题内容: 程序独立测试的人员应是 A:程序员自己 B:同一开发组的测试成员 C:第三方测试人员 D:同一开发组的其他成员 3: 参考答案:B 参考解析:(P13)严重的错误,是指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明;致命的错误,是指造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等;一般的错误,是指不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好的实现功能,没有达到预期的效果;微小的错误,是指一些小的问题,对功能几乎没有影响,产品及属性仍可使用。 试题内容: 如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失,次要功能完全丢失,或错误的声明,这是属于 A:致命的错误 B:严重的错误 C:一般的错误 D:微小的错误 4: 参考答案:B 参考解析:(P21)对与嵌套型分支结构,若有N个判定语句,则存在N+1条不同的路径。 试题内容: 有一段小程序,对数组A[n]中所有正整数和负整数求累加和,negat和posit分别返回负整数和正整数的累加和。 int?maxInt=32767,minInt=-32768; negat=0;posit=0; for?(int?i=0;i<n;i++) if(A[i]<0&&A[i]>=minInt-negat)negat=negat+A[i]; else?if(A[i]>0&&A[i]<=maxInt-posit)posit=posit+A[i]; 可能的测试路径数是? A:A B:B C:C D:D 5: 参考答案:A 参考解析:(P65)DDP覆盖率公式:DDP覆盖率=被评价到的判定路径数量/程序中判定路径总数×100%=4/7×100%=57.1%。 试题内容: 下图是一个判定路径覆盖图,其中用“◇”表示判定语句,用“表示处理语句,用“○”表示判定汇合点,用“●——●”表示判定路径,若有一个测试用例覆盖了判定路径A、B、E、H,则判定路径覆盖率为? A:57.1% B:78.6% C:90% D:100% 6: 参考答案:A 参考解析:(P94)人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。 试题内容: 人们从长期的测试工作经验得知,大量的错误是发生在输入范围的 A:边界上 B:内部 C:外部 D:相互作用上 7: 参考答案:D 参考解析:(P120)单元测试的测试对象是实现了具体功能的程序单元,一般对应详细设计中所描述的设计单元。 试题内容: 单元测试的测试对象不包括 A:设计单元 B:各个操作 C:内部消息序列 D:场景 8: 参考答案:C 参考解析:(P125)一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路。 试题内容: 一个好的程序实现是要考虑各种可能出错的条件,并进行适当的出错处理,即预设各种出错处理的 A:现象 B:策略 C:通路 D:场景 9: 参考答案:B 参考解析:(P146)集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误,包括接口数据本身的错误、接口数据顺序错误等。 试题内容: 正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了 A:应该做的事情 B:不该做的事情 C:有错误的事件 D:有性能缺陷的事情 10: 参考答案:C 参考解析:(P138)成对集成的思想就是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块;三明治集成:把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合;相邻集成就是对每个邻居建立并执行一个集成测试会话。 试题内容: 在基于调用图的集成中,有一种集成策略就是对应与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是 A:持续集成 B:三明治集成 C:成对集成 D:相邻集成 11: 参考答案:B 参考解析:(P180)软件性能测试的分类:性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。 试题内容: 以下哪种软件测试不属于软件性能测试的范畴 A:配置测试 B:健壮性测试 C:失效恢复测试 D:负载测试 12: 参考答案:B 参考解析:(P178)软件性能测试的目标:发现缺陷、性能调优、能力检验与规划。 试题内容: 以下目标中,哪个是软件性能测试的目标 A:检查软件的容错能力 B:发现压力下软件功能的缺陷 C:发现软件的安全漏洞 D:检查用户界面是否易于使用 13: 参考答案:A 参考解析:(P187)人们通过软件运行剖面来刻画软件实际运行情况。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。可靠性测试的目的是进行软件可靠性的预测。 试题内容: 以下关于软件可靠性测试的说法中,正确的是 A:软件运行剖面的定义需要符合软件的实际运行情况 B:测试用例的生成必须采用白盒测试方法 C:软件可靠性测试通常能够比黑盒测试发现更多的错误 D:软件可靠性测试必须在集成测试中实施 14: 参考答案:C 参考解析:(P192)在设计每个类的测试用例时,不仅要考虑调用各个成员方法的输入参数,还要考虑如何设计调用的序列,而有的测试序列会在某些成员方法执行时因为不能满足方法正常执行的前提条件而导致方法处于不正常的工作状态,这些测试序列不是合理的测试序列。类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A实例的测试,但如果继承使用不合理,还需要按照类A的规格说明对类A重新进行测试。等价类划分是一种方法层次的测试。 试题内容: 以下关于面向对象软件测试的说法中,正确的是 A:面向对象软件只能采用白盒测试,不能采用黑盒测试 B:测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例 C:若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用 D:等价类划分是一种类树层次的测试技术 15: 参考答案:C 参考解析:(P201)大突击集成只进行一轮,无需进行增量式集成;与大突击集成相比,自底向上集成中测试的充分性容易得到保证;基干集成的优点是:集中了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成。 试题内容: 以下关于面向对象程序集成测试的说法中,错误的是 A:大突击集成只进行一轮,无需增量集成 B:与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性 C:基干集成在任何情况下都优于自底向上集成 D:无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码 16: 参考答案:C 参考解析:(P206)集成策略需要关注如何充分测试类间的各种连接。 试题内容: 以下哪种测试属于面向对象程序集成测试考虑的范畴 A:针对一个类的多个成员方法间协作的测试 B:针对一个成员方法的不同输入情况的测试 C:针对多个类的多个实例间协作的测试 D:针对一个类树上多个类间继承的测试 17: 参考答案:A 参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。 试题内容: 以下关于Web应用软件测试的说法中,正确的是 A:链接测试是Web应用软件测试的一项内容 B:Web应用软件测试通常不考虑安全性测试 C:与传统软件相比,Web应用软件测试更简单 D:Web应用软件只能进行黑盒测试,不能进行白盒测试 18: 参考答案:D 参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。安全性测试包括服务器端的内容安全性、客户端的内容安全性、Cookie安全性和日志功能;性能测试包括并发测试、负载测试和压力测试、配置测试和性能调优。? 试题内容: 以下关于Web应用软件测试的说法中,错误的是 A:内容测试是Web应用软件测试的一项重要内容 B:Cookie安全性测试是Web应用软件安全性测试的一项重要内容 C:并发测试是Web应用软件性能测试的一项重要内容 D:表单测试是Web应用软件性能测试的一项重要内容 19: 参考答案:D 参考解析:(P230-233)易用性测试包括易安装性测试、功能易用性测试以及用户界面测试;易安装性测试包括安装手册的易用性、安装的自动化程度、安装的灵活性、安装中断的处理、修复安装和卸载、多环境安装的支持;功能易用性测试包括业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度;用户界面测试包括界面整体测试、界面元素测试、输入测试。A选项属于界面整体测试的合理性测试;B选项属于易安装性测试;C选项属于功能易用性测试的功能定制性。D选项是在静态关联下具有的。 试题内容: 以下哪一项不属于软件易用性测试关注的范畴 A:软件界面的色彩是否协调 B:软件是否能在多种操作系统下运行 C:软件是否支持用户根据自己的需要进行定制 D:软件是否能主动引导用户使用相互关联的功能 20: 参考答案:B 参考解析:(P228)与其他软件的兼容性包括与其他支撑软件的兼容性、与其他同类软件的兼容性和与不同类软件的兼容性。同类软件间的互操作:当存在多个同类软件时,用户一般希望它们之间可以互操作,用户因此可以充分利用各个软件的优势;不同类的软件间通常不存在交互和冲突,因此通常不存在兼容性的问题,但对于一些特殊情况需要加以考虑。 试题内容: 以下哪一项属于兼容性测试关注的范畴 A:办公软件在异常退出时是否会破坏正在处理的文档 B:杀毒软件在清除病毒时是否会破坏办公软件的文档 C:软件同类功能的使用风格是否一致 D:软件提供的功能与用户手册的说明是否一致 21: 参考答案:A 参考解析:(P258)软件测试设计的要点:所设计的测试技术方案是否可行,是否有效和是否能达到预期的测试目标;所设计的测试用例是否完整,边界条件是否考虑,其覆盖范围能达到多高;所设计的测试环境是否和用户的实际使用环境比较接近;白盒测试的用例设计的方法:采用逻辑覆盖的结构测试用例的设计方法;基于程序结构的域测试用例设计方法;数据流测试用例设计方法;根据对象状态或等待状态变化来设计测试用例;基于程序错误的变异来设计测试用例;基于代数运算符合的测试用例设计方法。测试开发是测试用例设计的一部分工作内容。 试题内容: 下列有关软件测试设计的说法中,正确的是 A:测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标 B:基于判定表的测试用例设计方法是白盒测试用例设计方法 C:测试方案设计中可以忽略软件系统的实际使用环境 D:测试开发不是测试用例设计的工作内容 22: 参考答案:D 参考解析:(P265)测试项目结束的阶段性标志是将测试报告或质量报告发送出去,并得到测试经理或项目经理的认可。需要完成的管理操作:①审查测试全过程。在原来跟踪的基础上,要对测试项目进行全过程、全方位的审视,检查测试计划、测试用例是否得到执行,检查测试是否有遗漏。②对当前状态的审查。包括产品缺陷和过程中没有解决的各类问题。对产品目前存在的缺陷进行逐个的分析,了解对产品质量影响的程序,从而决定产品的测试是否能告一段落。③结束标识。根据上述两项的审查进行评估,如果所有测试内容完成,测试的覆盖率达到要求以及产品质量达到已定义的标准,就可以定稿测试报告。④项目总结。通过对项目中的问题分析,找出流程、技术和管理中存在的问题根源,避免今后再度发生并获得项目成功经验。 试题内容: 下列有关测试项目结束与定稿测试报告的说法中,正确的是 A:测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了 B:对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告 C:审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告 D:当所有测试计划内容完成,测试覆盖率达到要求以及产品质量达到定义的标准,即可定稿测试报告 23: 参考答案:D 参考解析:(P282)如果仅执行自动测试,而不进行自动比较,就不算是自动化测试;自动比较的内容可能是多种类型的:文本信息、专用格式化数据、屏幕输出内容、电子邮件信息、发送到硬件设备的数据或信号、通过网络发送到其他机器和进程的信息、数据库的内容等;自动比较的局限性在于办公自动比较可能没有人工比较灵活。 试题内容: 下列有关自动测试的基本概念中,错误的是 A:仅有自动测试执行而无自动比较,则不算是完全自动化测试 B:自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等 C:自动比较的局限性在于自动比较可能没有人工比较灵活性高 D:自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作 24: 参考答案:C 参考解析:(P305)回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试;软件测试规范规定,对具体的软件可根据软件测试合同及软件的重要性、完整性级别的对上述各类软件测试的内容进行裁剪。 试题内容: 以下关于软件回归测试的说法中错误的是 A:软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试 B:软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试 C:软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试 D:对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁 25: 参考答案:D 参考解析:(P305)验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。验收测试一般由软件的需方组织,由独立于软件开发的人员实施。如果验收测试委托第三方实施,一般应委托国家认可的第三方测试机构。软件验收测试的技术依据是软件研制合同。其测试工作应满足被验收测试的软件已通过系统测试。 试题内容: 以下说法中错误的是 A:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统 B:验收测试的技术依据是软件研制合同(或用户需求或系统需求) C:进行验收测试的软件必需已经通过系统测试 D:验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施 二、论述题?(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。 1: 参考答案: 试题内容: 一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。转换到各个状态的条件如下: S1:(t0)创建栈对象时初始化,这是系统做的; (t1)在S2状态下执行置空运算setEmpty(); (t2)在S3状态下执行置空运算setEmpty(); (t3)在S2状态下执行出栈运算Pop(); S2:(t4)在S1状态下执行进栈运算Push(); (t5)在S3状态下执行出栈运算Pop(); S3:(t6)在S2状态下执行进栈运算Push()。 为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。要求 1.根据题意,画出栈对象的状态迁移图; 2.计算该状态迁移图的McCabe环路复杂性; 3.确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。 2: 参考答案:子系统客户端容量未设计测试用例。登录与退出测试用例未执行,即时消息的个人设置功能的测试用例未执行完,其中还有6个未执行;测试用例设计存在问题:功能区域划分不详细,客户端容量的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问题:存在未执行的用例。 2.存在问题是开发组和测试组不能在2天后完成工作。 根据题中描述的数据,开发组中要修改的问题数是14+151=165,需要修改时间是160/40=4天;测试组即便新建的问题不需要修改,需要时间是:(105+151)/90=3天。 试题内容: 某测试项目中的测试执行阶段按计划在3天后结束,将进入测试总结阶段。 1.测试管理人员通过QESuite?Web?version?1.0测试过程管理工具观察到部分测试用例的设计状况和执行状况如下表,请从测试用例设计和测试用例执行2个方面说明观察到的问题和需要尽快开展的相关测试工作。 2.该项目当前的软件问题处理状况如下: 测试项目当前剩余处在“待验”状态的软件问题有105个,处在“新建”状态的软件问题有14个,处在“打开”状态的软件问题有151个。已知该测试组的软件问题日常处理能力是90个软件问题/工作日,开发组日常修复软件问题的能力是40个软件问题/工作日。请说明软件问题报告处理方面说明存在的问题和需要尽快开展的相关开发和测试工作。? 3:参考答案:?main(void) { Char?choice; Init_list(); for(;;){ choice=menu_select(); switch(choice){ case?1:?enter(); break; case?2:?deleteAddr(); break; case?3:?list(); break; case?4:?exit(0); } } Return?0; } Void?init_list(void) { Register?int?t; For?(t=0;tMAX;++t)? Addr_list[t]0]=\0;① } Int?menu_select(void) { Char?s[80]; Int?c; Printf(1.Enter?a?name\n); Printf(2.Delete?a?name\n); Printf(3.List?the?file\n); Printf(4.Quit\n);② Do{ Printf(\nEnter?your?choice:); Gets(s); C=atoi(s);③ }while(c1c4); Return?c;④ } Void?enter(void) { Int?slot; Char?s[80];? Slot=find_free(); If(slot==-1)?{ Printf(\Nlist?FULL);? Return;?⑦?} Printf(Enter?name:); Gets(add_list[slot].name); Printf(Enter?street:); Gets(addr_list[slot].street); Printf(Enter?city:); Gets(addr_list[slot].city); Printf(Enter?zip:); Gets(s);? Addr_list[slot].zip=strtoul(s,\0,10);?⑧? } Int?find_free(void) { Register?int?t; For(t=0;addr_list[t].name[0]?&&?tMAX;++t); If(t==MAX)?return?-1;?⑤ Return?t;?⑥? } Void?deleteAddr(void) { Register?int?slot; Char?s[80]; Printf(enter?record?#?:); Gets(s); Slot=atoi(s);?⑨ If(slot=0?&&?slotMAX) Addr_list[slot].name[0]=\0;?⑩ } void?list(void) { Register?int?t; for(t=0;tMAX;++t){ If(addr_list[t].name[0]){ Printf(%s\n,addr_list[t].name); Printf(%s\n,addr_list[t].street); Printf(%s\n,addr_list[t].city); Printf(%lu\n\n,addr_list[t.zip]); } } Printf(\n\n); }S1:?tMAX S2:?c1c4 S3:?addr_list[t].name[0]?&&?tMAX S4:slot==-1 S5:?slot=0&&slotMAX S6:?addr_list[t].name[0] 2.测试用例: TEST1:输入:在Enter?your?choice:后输入:1; 输出:1.Enter?a?name 2.Delete?a?name 3.list?the?file 4.Quit List?Full Test2:输入:在Enter?your?choice:后输入:1; 在Enter?name:?后输入:王明 在?Enter?street?:?后输入:王府井 在?Enter?city:?:?后输入:北京 在?Enter?zip:?:?后输入:4121500 输出:1.Enter?a?name 2.Delete?a?name 3.list?the?file 4.Quit Test3:输入:在Enter?your?choice:后输入:2; 在Enter?record?$:?后输入:4; 输出:1.Enter?a?name 2.Delete?a?name 3.list?the?file 4.Quit Test4:输入:在Enter?your?choice:后输入:3; 输出:1.Enter?a?name 2.Delete?a?name 3.list?the?file 4.Quit 王明 王府井 北京 4121500 Test4:输入:在Enter?your?choice:后输入:4; 输出:无输出,系统退出 不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。 试题内容: 已知C源程序如下: /*A?simple?mailing?list?example?using?an?array?of?structures.?*/ #include?stdion.h #include?stdlib.h #define?MAX?4 struct?addr?{ char?name[30]; char?street[40]; char?city[20]; unsigned?long?int?zip; }?addr_list[MAX]; void?init_list(void),?enter(void); void?deleteAddr(void),?list(void); int?menu_select(void),?find_free(void); int?main(void) { char?choice; init_list();/*initialize?the?structure?array?*/ for(;;){ choice=menu_select(); switch(choice){ case?1:enter(); break; case?2:deleteAddr(); break; case?3:list(); break; case?4:exit(0); } } return?0; } /*?Initialize?the?list.?*/ void?init_list(void) { register?int?t; for(t=0;tMAX;++t)addr_list[t].name[0]=\0; } /*?Get?a?menu?selection.*/ int?menu_select(void) { char?s[80]; int?c; printf(1.?Enter?a?name\n); printf(2.?Delete?a?name\n); printf(3.?List?the?file\n); printf(4.?Quit\n); do?{ printf(\nEnter?your?choice:); gets(s); c=atoi(s); }while(c1c4); return?c; } /*?Input?addresses?into?the?list.?*/ void?enter(void) { int?slot; char?s[80]; slot=find_free(); if(slot==-1){ printf(\nList?Full); return; } printf(Enter?name:); gets(addr_list[slot].name); printf(Enter?street:); gets(addr_list[slot].street); printf(Enter?city:); gets(addr_list[slot].city); printf(Enter?zip:); gets(s); addr_list[slot].zip?=?strtoul(s,?\0,?10); } /*?Find?an?unused?structure.*/ int?find_free(void) { register?int?t; for(t=0;?addr_list[t].name[0]&&tMAX;?++t); if(t==MAX)?return?-1;?/*?no?slots?free?*/ return?t; } /*?Delete?an?address.*/ void?deleteAddr(void) { register?int?slot; char?s[80]; printf(enter?record?#:); gets(s); slot=atoi(s); if(slot=0?&&?slot??MAX) addr_list[slot].name[0]=\0; } /*?Display?the?list?on?the?screen.*/ void?list(void) { register?int?t; for(t=0;tMAX;++t){ if(addr_list[t].name[0]){ printf(%s\n,addr_list[t].name); printf(%s\n,addr_list[t].street); printf(%s\n,addr_list[t].city); printf(%lu\n\n,addr_list[t].zip); } } printf(\n\n); } 1.画出main函数的控制流程图; 2.设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。 历年线月全国计算机等级考试四级软件测试工程师笔试真题 一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 1.软件验证和确认是保证软件质量的重要措施,它的实施应该针对 (2分) A:程序编写阶段 B:软件开发的所有阶段 C:软件调试阶段 D:软件设计阶段 2.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是 (2分) A:程序结构 B:软件外部功能 C:程序正确性 D:程序内部逻辑 3.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是 (2分) A:操作性分析 B:可靠性分析 C:引用分析 D:接口分析 4.下列指导选择和使用测试覆盖率的原则中错误的是 (2分) A:覆盖率不是目的,仅是一种手段 B:不要追求绝对100%的覆盖率 C:不可能针对所有的覆盖率指标来选择测试用例 D:只根据测试覆盖率指标来指导测试用例的设计 5.在以下有关逻辑覆盖的说法中错误的说法是 (2分) A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准 B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求 C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求 D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来 6.走查是对软件进行静态测试的一种方法,以下不属于走查活动的是 (2分) A:计划走查会议 B:准备测试用例 C:执行走查以发现和改正错误 D:在走查过程中程序员逐条讲解自己的程序 7.设有一段程序如下 满足判定—条件覆盖的要求下,最少的测试用例数目是 (2分) A:6 B:8 C:3 D:4 8.在以下有关集成测试的说法中,错误的说法是 (2分) A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力 B:自底向上集成的优点是减少了编写桩模块的工作量 C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题 D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大 9.在集成测试阶段,人们关注的一种主要的覆盖是 (2分) A:功能覆盖 B:语句覆盖 C:基本路径覆盖 D:条件覆盖 10.可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是 (2分) A:正确标识在需求规格说明中的每项需求 B:从需求规格开始的正向跟踪应确保完全支持需求规格 C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持 D:确保所有不同接口规格说明的完整性 11.以下关于软件性能测试的说法中,不正确的是 (2分) A:发现软件缺陷是性能测试的目的之一 B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力 C:性能测试通常需要对测试结果进行分析才能获得测试结论 D:检验软件的最大负载是性能测试的目的之一 12.以下哪种软件测试不属于广义软件性能测试的范畴 (2分) A:并发测试 B:压力测试 C:兼容性测试 D:负载测试 13.以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是 (2分) A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别 B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区 D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的 14.以下关于面向对象软件测试的说法中,错误的是 (2分) A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分 B:面向对象软件只能采用白盒测试,不能采用黑盒测试 C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试 D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴 15.以下关于面向对象软件测试的说法中,正确的是 (2分) A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 B:基于判定表的测试不能用于面向对象程序的单元测试 C:不变式边界测试可用于类层次的测试,其目的是测试功能组合 D:对于抽象类,需要进行单元测试 16.以下关于面向对象程序集成测试的说法中,正确的是 (2分) A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略 B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码 C:协作集成从本质上讲是一种自底向上集成 D:基干集成从本质上讲是一种自顶向下集成 17.以下关于Web应用软件测试的说法中,正确的是 (2分) A:对Web应用软件进行性能测试时,不需要进行压力测试 B:内容测试是Web应用软件易用性测试的一项重要内容 C:Cookie测试是Web应用软件功能测试的一项重要内容 D:是否存在无效链接是Web应用软件安全性测试关注的范畴 18.以下哪一项属于软件易用性测试关注的范畴 (2分) A:软件是否能在多种操作系统下运行 B:软件是否能与同类软件共享数据 C:软件是否能主动禁止用户可能进行的非法操作 D:软件是否能抵御网络攻击 19.以下哪一项属于数据兼容性测试关注的范畴 (2分) A:软件在异常退出时是否会破坏正在处理的文件 B:软件是否可以在不同的J2EE应用服务器上运行 C:软件同类功能的使用风格是否一致 D:软件是否能打开以前版本保存的文件 20.以下关于极限测试的说法中,正确的是 (2分) A:极限测试是一种针对极限编程的软件测试 B:极限测试中所有的测试均由编码人员完成 C:与传统的软件测试相比,极限测试是一种更严格的测试 D:极限测试中只需要进行单元测试 21.下列有关软件缺陷报告的编写原则中,哪个是错误的 (2分) A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 D:同一个软件缺陷可以被重复报告 22.依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的 (2分) A:校验 B:关闭 C:验证 D:分类与分配 23.下列哪个不是测试环境的组成要素 (2分) A:软硬件 B:技术文档 C:测试工具 D:网络环境 24.根据《GB/T15532计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及 (2分) A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理 25.根据《GB/T15532计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及 (2分) A:测试用例无冗余性原则 B:测试执行可重复性原则 C:测试用例可操作性原则 D:测试用例可管理性原则 二、论述题(共3题,共50分)论述题答题必须用蓝、黑钢笔或圆珠笔写在论述题答题纸的相应位置上。 1.请完成下列工作: (1)请给出与此有限状态机等价的控制流图;(4分) (2)确定基本测试路径集;(9分) (3)设计测试用例以覆盖基本测试路径。(7分) (20分) 2.已知C源程序如下: /*Input todays date,output tomorrows date*/ /*version 2*/ #include stdio.h struct ydate { int day; int month; int year;}; int leap(struct ydate d) { if((d.year%4==0&&d.year%100!=0)(d.year%400==0)) return 1; else return 0; } int numdays(struct ydate d) { int day; static int daytab[]= {31,28,31,30,31,30,31,31,30,31,30,31}; if(leap(d)&&d.month==2) day=29; else day=daytab[d.month-1]; return day; } int main(void) { struct ydate today,tomorrow; printf(format of date is:year,month,day 输入的年,月,日之间应用逗号隔开\n); printf(today is:); scanf(%d,%d,%d,&today.year,&today.month,&today.day); while(0=today.year today.year655350=today.monthtoday.month12 0=today.daytoday.daynumdays(today)) {printf(input date error!reenter the date!\n); printf(today is:); 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; } else if(today.month==12) {tomorrow.year=today.year+1; tomorrow.month=1; tomorrow.day=1; } else {tomorrow.year=today.year; tomorrow.month=today.month+1; tomorrow.day=1; } printf(tomorrow is :%d,%d,%d\n\n, tomorrow.year,tomorrow.month,tomorrow.day); } (1) 画出程序中所有函数的控制流程图;(10分) (2) 设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分) (20分) 3.QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下: ●测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Lead1.0_090801 ●功能分类视图中部分待测区域及人员分配定义如下表一所示: 已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分) (10分) 历年线月全国计算机等级考试四级软件测试工程师笔试真题一、选择题?(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 1: 参考答案:C 参考解析:(P26)接口分析的目的是评估软件交付物是否正确、一致、完整和准确地说明了接口需求。接口分析必须关注三种接口:用户接口、硬件接口和软件接口。 试题内容: 以下叙述中正确的是 A:可跟踪性分析是在整体上分析整个系统的资源分配策略 B:关键性分析是标识原始需求和相应开发结果之间关系的能力 C:接口分析必须关注三种接口:用户接口、硬件接口和软件接口 D:评估仅在软件开发的最后阶段进行,以确认产品是否符合规模说明 2: 参考答案:D 参考解析:(P109)场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法从系统分析的结果——用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。 试题内容: 场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法的出发点是 A:事件流 B:数据流 C:控制流 D:用例 3: 参考答案:A 参考解析:(P115)内部边界值测试可以用来发现一些内部错误,如误把“”写作“=”。但内部边界值测试应作为一种补充方法,在其他方法的最后使用。 试题内容: 下面一段小程序是判断一个长度为n的字符数组是否中心对称。例如,“abcddcba”或“abcdcba”就是中心对称。作为内部边界值,应填入()内的判断应是 ? A:ij B:i==j(判等) C:ij D:i!=j(判不等) 4: 参考答案:C 参考解析:(P152)功能测试主要是为了发现以下几类错误:是否有不正确或遗漏了的功能;功能实现是否满足用户需求和系统设计的隐式需求;能否正确地接受输入,能否正确地输出结果。 试题内容: 检查系统能否正确地接受输入,能否正确地输出结果,这属于 A:安全性测试 B:GUI测试 C:功能测试 D:协议一致性测试 5: 参考答案:A 参考解析:(P44)静态错误分析有以下几种:类型和单位分析,引用分析等,其中在静态错误分析中,最广泛使用的技术就是发现引用异常。 试题内容: 检查是否存在“已定义但未使用”的变量引用异常应属于 A:静态分析 B:动态分析 C:代码执行 D:调试 6: 参考答案:A 参考解析:(P63)语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 试题内容: 如果程序通过了百分之百的代码覆盖率测试,则说明程序满足了 A:语句覆盖 B:编程规范 C:设计规格 D:功能需求 7: 参考答案:B 参考解析:(P65) 试题内容: 下面有关逻辑覆盖的说法中错误的是 A:DDP覆盖是判定覆盖的一个变体 B:满足条件覆盖一定也满足判定覆盖 C:指令块覆盖属于语句覆盖 D:若判定覆盖率达到100%,则语句覆盖率一定也达到100% 8: 参考答案:A 参考解析:(P71) 试题内容: 对于具有串联型分支结构的程序,如果有7个判断语句串联,则使用正交实验设计法,至少需要的测试用例数应为 ? A:23 B:24 C:26 D:27 9: 参考答案:B 参考解析:(P114)规范导出的测试是根据相关的规格说明书描述来设计测试用例的。每一个测试用例用来测试一个或多个规格说明的陈述语句。规范导出法就是根据陈述规范所用语句的顺序来相应地为被测单元设计测试用例。 试题内容: 考虑一个计算平方根的函数,其规格说明如下: ■输入:浮点数 ■输出:浮点数 ■规格:当输入一个大于或等于零的浮点数时,函数输出其正的平方根并返回true;当输入一个小于零的浮点数时,函数显示出错信息“非法输入值”并返回false。 按照规范导出法,应设计的测试用例数至少应为 A:1 B:2 C:3 D:4 10: 参考答案:C 参考解析:(P135~136)自底向上的增量式集成的目的是从底层构件开始,按照模块调用图的结构,逐层向上集成,以检测整个系统的稳定性。对于具有如下属性的产品,可以优先考虑本集成测试策略:采用契约式设计的产品;底层接口比较稳定的产品;高层接口变化比较频繁的产品;底层模块较早完成的产品。 试题内容: 适合使用自底向上的增量式集成方式进行集成和测试的产品应属于 A:使用了严格的净室软件工程过程的产品 B:控制模块具有较大技术风险的产品 C:采用了契约式设计的产品 D:在极限编程中使用了探索式开发风格的产品 11: 参考答案:C 参考解析:(P180) 试题内容: 以下哪种软件测试属于软件性能测试的范畴 A:分支覆盖测试 B:极限测试 C:负载测试 D:硬件兼容性测试 12: 参考答案:A 参考解析:暂无解析 试题内容: 以下关于软件性能测试的说法中,正确的是 A:达到百分之百的语句覆盖是软件性能测试的一个前提条件 B:并发进程数是度量软件性能的一项基本指标 C:探测软件在满足预定的性能需求的情况下所能负担的最大压力是失效恢复测试的主要目的之一 D:发现压力下软件功能的缺陷是软件性能测试的主要目的之一 13: 参考答案:D 参考解析:(P186)软件可靠性测试的目的是收集软件测试时软件故障的情况,并对其进行整理从而为分析和预测软件的可靠性提供帮助。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。因此,此时的测试用例的设计可以完全在运行剖面的指导下进行。 试题内容: 以下关于软件可靠性测试的说法中,正确的是 A:软件可靠性测试能有效地减少软件在恶意使用下出现崩溃的次数 B:软件可靠性测试的主要目的是度量软件的可靠性 C:在一次软件可靠性测试中,执行的测试用例可以不完全符合所定义的软件运行剖面 D:软件可靠性测试使用的测试用例必须满足语句覆盖 14: 参考答案:A 参考解析:暂无解析 试题内容: 以类为单元进行单元测试时,以下说法中正确的是 A:一个测试用例可以调用该类的多个方法,但每个方法只能调用一次 B:一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法 C:由该类方法组成的任何一个序列都是一个合理的测试用例 D:针对一个类的多个实例间协作的测试仍然属于面向对象单元测试的范畴 15: 参考答案:B 参考解析:暂无解析 试题内容: 以下关于面向对象软件测试的说法中,错误的是 A:不变式边界测试是一种类级别的单元测试技术 B:对于一棵继承树上的多个类,只有处于叶节点的类需要测试 C:测试动态绑定是类树测试的一个目标 D:在面向对象单元测试中,等价类划分测试可以用于方法级别的测试 16: 参考答案:C 参考解析:(P201)所谓大突击集成就是将系统的所有组成成分都集成在一起进行测试。与其他集成策略不同的是,大突击集成只进行一轮,无需进行增量集成。 试题内容: 以下关于面向对象软件集成测试的说法中,正确的是 A:大突击测试总是面向对象软件集成测试效果最差的方法 B:基于判定表的测试是面向对象软件集成测试的常用方法 C:大突击测试无需增量集成 D:自底向上集成需要开发的测试代码总是比自顶向下集成需要开发的测试代码多 17: 参考答案:C 参考解析:(P219) 试题内容: 以下关于Web应用软件测试的说法中,正确的是 A:内容测试是Web应用软件易用性测试的一项重要内容 B:Web应用软件虽然需要频繁地进行演化,但不需要频繁地进行测试 C:Cookie安全性测试是Web应用软件安全性测试的一项重要内容 D:Web应用软件只能进行白盒测试,不能进行黑盒测试 18: 参考答案:B 参考解析:(P218)对Web应用软件而言,Web服务器,中间服务器和数据库服务器的配置都可能影响其性能。 试题内容: 以下关于Web应用软件测试的说法中,正确的是 A:Web应用软件安全性测试只关注用户能否绕开访问控制使用超越访问权限的内容 B:Web应用软件的性能不仅与Web应用软件自身的代码有关,还可能与所用的Web服务器、中间件服务器以及数据库服务器有关 C:测试Web应用软件是否支持不同的浏览器是Web应用软件表示层测试关注的一项主要内容 D:对于没有使用数据库的Web应用软件,不需要进行性能测试 19: 参考答案:A 参考解析:(P231)与手工相比,使用软件的一个主要优点是能够减少重复的输入,从而保证数据的一致性。 试题内容: 以下哪一项属于软件功能易用性测试关注的内容 A:软件是否能帮助用户减少输入中的重复劳动 B:软件界面的色彩是否协调 C:软件是否允许用户导入由该软件以前版本生成的数据 D:软件的界面风格是否与同类软件的界面风格一致 20: 参考答案:A 参考解析:(P229)数据兼容性测试包括两类:不同版本间的数据兼容性和不同软件间的数据兼容性。 试题内容: 以下哪一项不属于数据兼容性测试关注的范畴 A:一个Web应用软件是否支持不同的关系型数据库 B:一个浏览器是否同时支持不同版本的HTML文件格式 C:一个排版软件是否可以打开该软件以前版本保存的文件 D:一个文字处理软件是否可以打开其他文字处理软件保存的文件 21: 参考答案:B 参考解析:(P247~249) 试题内容: 下列有关测试过程抽象模型的描述中正确的是 A:V模型指出,软件测试要尽早准备,尽早执行,只要某个测试达到了准备就绪点,测试执行活动就可开展 B:W模型强调,测试伴随着整个软件开发周期同步进行,而且测试的对象不仅仅是程序,需求、设计也同样要测试 C:H模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求 D:X模型提出针对完整的程序进行集成的编码和测试 22: 参考答案:D 参考解析:(P255)制定测试计划,要达到的目标有:为测试各项活动制定一个现实可行的综合的计划;建立一个组织模型;开发有效的测试模型;确定测试所需要的时间和资源;确定测试过程中每个测试阶段的测试完成标准和要实现的目标;识别出测试活动中各种风险,并给出风险应对措施。 试题内容: 以下活动中,哪个不属于测试计划的内容 A:为测试各项活动制定一个现实可行的综合的计划 B:确定测试过程中每个测试阶段的测试完成标准 C:识别测试活动中各种风险,并给出风险应对措施 D:分析测试需求,并制定测试方案 23: 参考答案:D 参考解析:(P276)自动测试工具不是智能测试工具,而是再测试工具,即回归测试工具。 试题内容: 以下有关回归测试的说法中错误的是 A:严格来说,回归测试不是一个测试阶段,只是一种可以用于各个测试阶段的测试技术 B:回归测试的目标是保证被测应用在系统被修改和扩充后,各项功能依然正确 C:回归测试可以在系统和验收测试环境下进行 D:回归测试适合采用传统手工方法来完成,而不适合使用自动化测试工具来完成 24: 参考答案:A 参考解析:(P44~45)静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。它有以下几种:类型和单位分析,引用分析,表达式分析,接口分析。 试题内容: 软件静态分析一般包括:控制流分析、数据流分析、接口分析,以及 A:表达式分析 B:功能分析 C:边界值分析 D:因果图分析 25: 参考答案:C 参考解析:(P120)系统测试与单元测试,集成测试的区别在于测试方法不同:系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。? 试题内容: 以下说法中错误的是 A:单元测试一般采用白盒测试方法,辅以黑盒测试方法 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_??执行路径S1-S2-S3-S2-S3-S1 试题内容: 考虑一个根据以下简单规则确认输入数有效性的应用程序: ■输入数由数字、符号“+”或“-”开始。 ■该数字或符号后面可接任意位数的数字。 ■这些数字可以有选择地后接用英文句号表示的小数点。 ■如果有一个小数点,则小数点后面应该有两位数字。 ■任何输入数,不管是否有小数点,都应该以空格结束。 请根据以上处理规则: (1)画出相应的状态转换图。(4分) (2)根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入的“下一个状态”。(4分) (3)根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。(12分) 2: 参考答案: 试题内容: QESuite?Web?Version?1.0中,已知DUCHA?1.0工作专网系统测试项目的部分信息如下: ●测试版本:总计3个测试版本,按日期排序分别为DUCHA1.0_100105,DUCHA1.0_100205,DUCHA1.0_100210。 ●功能分类视图中部分待测区域及人员分配定义如下表所示:(表1) 已知在功能区域“工作平台/归档”下有一个软件问题处于“打开/再现”状态,下表中是该软件问题操作历史信息,请依据QESuite?Web?Version?1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(表2)? 3: 参考答案:(1)流程图?①??void?reverse(char?s[])的流程图(见图1) ②void?getHex(int?number,char?s[])的流程图(见图2) ③int?main(?)的流程图(见图3) (2)?设计测试用例 ①输入0,输出0 ②输入2?,输出2 ③输入26,输出1A ④输入27,?输出1B ⑤输入28,?输出1C ⑥输入29,?输出1D ⑦输入30,?输出1E ⑧输入31,输出1F ⑨输入20P,输出错误 语句覆盖率无法达到100%,因为main()函数中的return?0?语句永远无法执行。 试题内容: 已知C源程序如下: #includestdio.h #includestring.h void?reverse(char?s[]){ int?c,i,j; for(i=0,j=strlen(s)-1;ij;i++,j--){ c=s[i]; s[i]=s[j]; s[j]=c; } } void?getHex(int?number,char?s[]){ int?i; i=0; while(number0){ if(number%1610) s[i++]=number%16+r%16){ case?10:s[i++]=[i++]=[i++]=[i++]=[i++]=[i++]=[i]=in(){ unsigned?int?number; int?i=0; char?s[50]; printf(%s,please?input?number:\\n); scanf(%d,&number); getHex(number,s); i=0; while(s[i]) printf(%c,s[i++]); return?0; } (1)画出程序中所有函数的控制流程图;(10分) (2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。(10分) 历年线月全国计算机等级考试四级软件测试工程师笔试真题 一、选择题?(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 1: 参考答案:C 参考解析:软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特性的集合,它除了关注“明确的需求”外,还扩展到了“隐含的需求”。软件质量是各种特性的复杂组合,定义一个软件的质量,就等于为该软件定义一系列质量属性。C项叙述不准确。 试题内容: 下列有关软件质量的叙述中,错误的是 A:软件质量不仅包括软件产品的质量,还包括软件过程的质量 B:明确的软件质量属性是指在合同或行业标准中规定必须实现的质量要求 C:隐含的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑 D:软件的功能和性能必须结合在一起考虑 2: 参考答案:D 参考解析:对于A项,软件测试贯穿于软件开发的整个过程,其功能是验证软件的功能是否按照预先的设想执行的。对于B项,一个成功的软件测试是发现了以前未发现的错误的测试。对于C项,根据80/20原则,如果发现一程序模块似乎比其它程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个过程模块。D项正确。 试题内容: 下列有关软件测试的叙述中,正确的是 A:测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验 B:一个成功的测试能够验证程序的确做了它应该做的事情 C:根据80/20的原则,优秀的软件开发人员所编写的程序错误少,因此对于他们的程序,重点不应放在缺陷测试上 D:在软件过程的早期寻找尽可能多的错误符合软件测试的原则 3: 参考答案:A 参考解析:白盒测试是程序员在编程阶段对每个程序单元进行测试的最有效的测试类型,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。A项错误。 试题内容: 下列有关白盒测试的叙述中,错误的是 A:白盒测试是在同时拥有源代码和可执行代码的情形下才可以进行的一种软件测试方法 B:白盒测试应该由开发人员实施,因为只有他们才能够访问测试执行所涉及的代码 C:即使对所有的源代码都进行了100%的逻辑覆盖测试,也不能保证程序中没有错误 D:软件测试人员制定测试计划的目的是想尽可能多地对源代码进行测试 4: 参考答案:D 参考解析:数据流可看作是一种路径测试,它主要关注在一条路径上变量在何处定义,在何处使用,它是一种白盒测试方法。 试题内容: 下列有关黑盒测试的叙述中,错误的是 A:黑盒测试是在不考虑源代码的情形下进行的一种软件测试方法 B:最好由测试人员、最终用户和开发人员组成的团队来实施黑盒测试 C:黑盒测试主要是通过对比和分析实测结果和预期结果来发现它们之间的差异,所以黑盒测试又称为数据驱动测试 D:数据流测试是一种黑盒测试方法 5: 参考答案:C 参考解析:走查人员走查产品并且准备在走查会议上讨论他们对产品作出的评注、建议、问题,同时,协调人员指定一个测试组,为被审查程序准备一批有代表性的测试用例,提交给走查小组,在大多数的走查中,很多问题是在向程序员提问过程中发现的,而不是由测试用例直接发现的。 试题内容: 走查是一种重要的审查方法,下列所述的审查活动中,不属于走查的是 A:审查小组的组织者事先把相关的设计文档、源程序和其他材料发给每一个小组成员,要求他们预先了解审查的内容 B:测试员事先根据审查的源代码准备一批测试用例 C:程序员在小组审查会上向全体审查人员逐条讲解自己编写的程序 D:所有参与审查的人员集体扮演计算机的角色,使用事先准备的测试用例按照源程序规定的顺序逐条执行,讨论可能出现的问题 6: 参考答案:D 参考解析:软件测试的不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试活动就可以开展。 试题内容: 下面有关软件测试的叙述中,不属于H模型核心思想的是 A:软件测试不仅仅指测试的执行,还包括很多其他的活动 B:软件测试是一个独立的流程,贯穿产品整个开发周期,与其他流程并发地进行 C:软件测试要尽早准备,尽早执行 D:软件测试不同层次的测试活动严格按照某种线: 参考答案:A 参考解析:路径覆盖就是设计足够的测试用例,执行程序中所有可能的路径,尽管路径覆盖比判定/条件覆盖更强,但路径覆盖并不一定包含判定/条件覆盖。 试题内容: 下面有关路径测试的叙述中,错误的是 A:路径覆盖是最强的覆盖测试,它不但能发现其他覆盖测试能发现的问题,还能发现其他覆盖测试不能发现的问题 B:测试员不可能对任何一个程序都完成l00%的路径测试 C:不提倡用不同的数据重复测试同一条路径 D:即使每条路径都执行了一次,程序还是可能存在缺陷 8: 参考答案:B 参考解析:同行评审设计的内容很多,主要分为管理评审、技术评审、文档评审和过程评审。B项正确。 试题内容: 同行评审主要包括管理评审、技术评审、过程评审和 A:需求评审 B:文档评审 C:质量评审 D:风险评审 9: 参考答案:A 参考解析:条件/判定覆盖就是设计足够的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身的所有可能分支也至少评价一次,根据题中条件,A项正确。 试题内容: 对于如下给出的程序段: if(AB)and(C=5) then?do?P1; 若考虑满足条件/判定覆盖原则以及内部边界条件,需要设计的最小测试输入数据集可能是 A:(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=1,C=5) B:(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=2,C=4) C:(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5) D:(A=2,B=1,C=5),(A=1,B=2,C=4) 10: 参考答案:C 参考解析:路径覆盖是设计足够的测试用例,执行程序中所有可能的路径,而条件组合覆盖是设计足够的测试用例,使得每个判定的所有可能的条件取值组合至少执行一次。二者无关系。 试题内容: 下列关于逻辑覆盖的说法中,错误的是 A:满足条件覆盖的测试不一定满足判定覆盖 B:满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定/条件覆盖 C:满足路径覆盖的测试也一定满足条件组合覆盖 D:满足判定/条件覆盖的测试也一定满足判定覆盖和条件覆盖 11: 参考答案:A 参考解析:对于B项,资源利用率反映的是在一段时间内资源平均被占用的情况。对于C项,软件性能测试有用户视角、管理员视角、开发人员视角。对于D项,并发进程数不是软件性能测试的指标。 试题内容: 以下关于软件性能测试的说法中,正确的是 A:对于没有并发的应用系统而言,响应时间与吞吐量成反比关系 B:应用系统的资源利用率越高,性能也就越好 C:软件性能测试是从用户视角考察软件性能 D:并发进程数是软件性能测试中一种常用的性能指标 12: 参考答案:D 参考解析:通过进程分析,可以进一步查看每个进程的性能指标,以确定哪个进程是影响性能的原因。进程分析是指出现性能瓶颈时,可以进一步查看每个进程的性能指标,以确定哪个进程是造成性能瓶颈的原因。D项正确。 试题内容: 以下哪一种技术属于基于性能计数器的分析技术 A:数据流分析 B:指针分析 C:时间序列分析 D:进程分析 13: 参考答案:B 参考解析:并发测试是指模拟多用户并发使用软件的情况,从而测试软件是否存在与并发有关的缺陷,B项正确。 试题内容: 以下哪种软件测试属于软件性能测试的范畴 A:路径覆盖测试 B:并发测试 C:安全性测试 D:健壮性测试 14: 参考答案:B 参考解析:软件可靠性测试是:(1)在规定的条件下,在规定的时间内软件不引起系统失效的概率。(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。要进行测试需要经历确定可靠性目标,定义软件运行剖面,设计测试用例,实施可靠性测试,分析测试结果等阶段,因此软件可靠性测试代价非常高,软件可靠性既可用白盒测试又可用黑盒测试,软件可靠性测试也适用于面向对象软件测试。 试题内容: 以下关于软件可靠性测试的说法中,正确的是 A:软件可靠性测试是一种比白盒测试更严格的软件测试 B:软件可靠性测试的代价通常比较高 C:软件可靠性测试本质上是一种黑盒单元测试 D:软件可靠性测试不适用于面向对象软件测试 15: 参考答案:D 参考解析:抽象类中的方法没有具体的定义,不能进行方法层次的测试,方法层次的测试是单元测试中非常重要的方面,缺少了这一方面也就不能进行单元测试。 试题内容: 以下关于面向对象软件测试的说法中,正确的是 A:单个成员方法的测试不属于面向对象单元测试考虑的范畴 B:等价类划分测试只适用于传统软件的测试,不适用于面向对象软件的测试 C:基于判定表的测试适用于面向对象软件的测试 D:抽象类无法进行单元测试 16: 参考答案:B 参考解析:大突击集成是常用的集成策略,虽有自己的优点,也有一些缺陷,不是最有效的测试策略。针对一个类的多个实例间协作的测试属于单元测试,在单元测试中,由于集成和多态的使用,测试不能仅限于子类,还要考虑继承树上的各个父类。 试题内容: 以下关于面向对象软件测试的说法中,正确的是 A:大突击集成是最有效的面向对象软件集成测试策略 B:在面向对象软件的单元测试中,一棵继承树上的每个类都需要进行测试 C:针对一个类的多个实例间协作的测试属于面向对象软件集成测试考虑的范畴 D:在面向对象软件的单元测试中,基于判定表的测试是类层次测试的常用方法 17: 参考答案:C 参考解析:排版结构测试属于表示层的测试,链接测试是功能测试的内容。对于Web应用软件而言,性能是一个至关重要的因素。因此在对Web应用软件进行系统测试时,必须考虑性能测试。 试题内容: 以下关于Web应用软件测试的说法中,正确的是 A:排版结构测试是数据层测试关注的内容 B:链接测试是Web应用软件内容测试的重要内容 C:在对Web应用软件进行系统测试时,通常需要考虑性能测试 D:测试Web应用软件在多用户的情况下是否会出现系统崩溃,属于Web应用软件可靠性测试考虑的范畴 18: 参考答案:A 参考解析:浏览器兼容性测试是Web应用软件表示层的测试,表单测试属于功能测试的内容,压力测试的目的是检查系统在压力下的稳定性。A项正确。 试题内容: 以下关于Web应用软件测试的说法中,正确的是 A:应用服务器兼容性测试是Web应用软件业务层测试的一项内容 B:浏览器兼容性测试是Web应用软件安全性测试的一项内容 C:Web应用软件压力测试的主要内容是并发测试 D:表单测试是Web应用软件易用性测试的一项内容 19: 参考答案:B 参考解析:Web应用软件是否支持不同浏览器,软件功能是否丰富是功能测试的内容。在处理复杂性的响应时间是否符合要求是性能测试的内容,但和易用性测试无关。 试题内容: 以下哪一项属于软件易用性测试关注的内容 A:Web应用软件是否支持不同厂商开发的浏览器 B:软件是否提供图形用户界面 C:软件提供的功能是否丰富 D:在处理复杂任务时,软件的响应时间是否符合需求 20: 参考答案:D 参考解析:A、B、C均属于软件兼容性测试关注的内容,D属于数据兼容性关注的内容。 试题内容: 以下哪一项属于数据兼容性测试关注的范畴 A:一个软件是否支持不同的操作系统 B:一个杀毒软件是否会误删其他软件保存的文件 C:一个文字处理

http://ammanphoto.com/yunxingpoumian/179.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有