第1页共10页一、单项选择题:共20小题,每小题2分,满分40分。1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式B.功能性测试和结构性测试//测试目的C.单元测试、集成测试和系统测试D、动态测试和静态测试//测试方式2、软件测试是采用(测试用例)执行软件的活动。A.测试用例B.输入数据C.测试环境D.输入条件3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1B.只有2C.只有3D.都是4、导致软件缺陷的最大原因是:(A)A.软件需求说明书B.设计方案C.编码D.维护5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)A、测试输入、执行条件和预期的结果。B、测试目标、测试工具C、测试环境D、测试配置第2页共10页6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)A.测试B.调试C.回归测试D.单元测试软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。7、软件缺陷修复的代价最高的阶段为(A)A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、下列(B)是关于软件缺陷的描述。A.导致软件包含故障的人的行为//软件错误B.产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。软件故障是指软件在运行过程中产生的不希望出现或不可接收的内部状态,对软件故障若无适当措施加以及时处理,就会是软件失效。第3页共10页软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。9、可作为测试停止的标准是(D)A.当时间用光时B.执行了所有的测试用例,但没有发现故障C.当所有缺陷都已经清除时D.当达到所要求的覆盖时10、下列描述错误的是(A)A.软件发布后如果发现质量问题,那是软件测试人员的错B.穷尽测试实际上在一般情况下是不可行的C.软件测试自动化不是万能的D.测试能由非开发人员进行,调试必须由开发人员进行。11、如下图所示的N-S图,至少需要(B)个测试用例完成逻辑覆盖。A.15B.16C.17D.1812、下列(C)方法设计出的测试用例发现程序错误的能力最强。A.等价类划分法B.场景法C.边界值分析法D.决策表法第4页共10页13、功能性测试是根据(A)来设计测试用例。A、软件的规格说明B、设计文档C、程序的内部逻辑D、维护手册14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(C)A.单元测试B.集成测试C.回归测试D.验收测试15、(C)方法是根据输出对输入的依赖关系来设计测试用例的。A.边界值分析B.等价类C.因果图法D.错误推测法16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(B)A.动态测试B.静态测试C.黑盒测试D.白盒测试17、下列(B)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。A.DD-路径图B.控制流图C.MM-路径图D.模块调用图18、自底向上增量式集成测试中,下面(C)描述是正确的。A.测试由桩模块控制B.最上面的模块最先测试C.父单元用测试过的子单元测试D.包含树的深度优先或广度优先遍历过程19、以下关于测试用例特征的描述错误的是(C)A.最有可能抓住错误的;B.一定会有重复的、多余的;C.一组相似测试用例中最有效的;D.既不是太简单,也不是太复杂。20、(D)是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。A、基本路径测试B、逻辑覆盖C、决策表D、数据流测试二、判断题:共20小题,每题1分,满分20分)第5页共10页1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T)2.软件质量保证和软件测试是同一层次的概念。(F)3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(F)4.程序员兼任测试员可以提高工作效率。(F)5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T)6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(T)7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(T)9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。(F)10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(F)11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(∨)12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)13.测试用例的数目越多,测试的效果越好。(x)14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x)15.单元测试属于动态测试。(∨)16.验收测试是以最终用户为主的测试。(∨)17.没有发现错误的测试是没有价值的。(∨)18.可以把不合格的开发人员安排做测试。(x)19.每一个软件项目都有一个最优的测试量。(∨)20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨)三、简答题:共4小题,每题5分,满分20分。1、简单描述一下软件测试工程师一般会承担的一些具体工作。1:检视代码,评审开发文档(静态测试方法)2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等)3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。4:通过测试度量软件的质量。2、黑盒测试与白盒测试各有哪些优缺点?第6页共10页黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑盒测试结合白盒测试的覆盖率指标执行,冗余和漏洞问题会被发现并解决。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷。3、画图描述测试层次与传统开发V型瀑布模型的对应第7页共10页4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。(2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)(2000,6,15)测试用例来自等价类的边界;正好等于;刚刚大于;刚刚小于边界的值第8页共10页四、综合题:共1小题,每题20分,满分20分。1、使用基本路径测试方法,为以下程序段设计测试用例。(1)画出程序的控制流图。(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。第9页共10页(3)导出基本路径集,确定程序的独立路径。(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。voidDo(intX,intA,intB){1if((A1)&&(B=0))2X=X/A;3if((A=2)||(X1))4X=X+1;5}第10页共10页由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。1:A1;2:B=0;3:X=X/A;4:A=2;5:X1;6:X=X+1;7:}