一、选择题:1.软件测试按照测试层次可以分为(c)A.黑盒测试、白盒测试B.功能性测试和结构性测试C.单元测试、集成测试和系统测试D、动态测试和静态测试2、软件测试是采用(a)执行软件的活动。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、测试配置6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(b)A.测试B.调试C.回归测试D.单元测试7、软件缺陷修复的代价最高的阶段为(a)A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、下列(b)是关于软件缺陷的描述。A.导致软件包含故障的人的行为B.产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能力丧失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.决策表法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、如果F实现一个程序,输入变量x1和x2的边界、区间分别为:a≤x1≤d,区间为[a,b],[b,c],[c,d];e≤x2≤g,区间为[e,f],[f,g];则下列_d__图可表示为强健壮等价类测试用例。A.B.abcdgfex2x1x2abcdgfex1C.D.18、对于一个含有n个变量的程序,采用基本边界值分析法测试程序会产生(c)个测试用例。A.6n+1B.5nC、4n+1D.7n19、以下关于测试用例特征的描述错误的是(b)A.最有可能抓住错误的;B.一定会有重复的、多余的;C.一组相似测试用例中最有效的;D.既不是太简单,也不是太复杂。20、(d)是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。A、基本路径测试B、逻辑覆盖C、决策表D、数据流测试[B]21.软件测试的目的是()。A评价软件的质量B发现软件的错误C找出软件中所有的错误D证明软件的正确性[D]22.下面有关测试原则的说法中正确的是________。A使用测试用例进行测试是为了检查程序是否做了它该做的事B对程序的调试最好由第三方测试机构来做C程序最好由编写该程序的程序员自己来测试D测试用例应由测试的输入数据和预期的输出结果两部分组成[A]23.有关软件缺陷的状态描述错误的是()A“Reopen”表示测试中发现并报告了新的缺陷B“Closed”表示测试人员验证后,确认缺陷已不再存在C“Fixed”表示软件问题已被开发人员修复并等待测试人员验证D“Deferred”表示这个缺陷可以推迟到下一个版本中解决[A]24.如果一个软件产品的主要功能完全丢失,应用程序崩溃属于()的错误A致命B严重C一般D微小[D]25.软件生存周期中修改错误代价最大的是()阶段A需求B设计C编程D维护[B]26.在理想情况下,只要软件发生了变更,就要进行()A验证测试B回归测试C确认测试D验收测试abcdgfex1x2abcdgfex1x2[C]27.大多数情况下,性能测试的方法是()A静态测试B白盒测试C黑盒测试D可靠性测试[C]28.为了提高测试效率,正确的做法是()A随机选择测试用例B完成编码后再设计软件的测试用例C选择发现错误可能性大的数据作为测试用例D取一切可能的输入数据作为测试用例[D]29.集成测试中,用于代替被测模块所调用的模块的是()A主模块B底层模块C驱动模块D桩模块[C]30.在等价类测试中,规定了一组输入数据且每个数据分别进行处理,可以确定()个有效等价类,()个无效等价类A1,nB1,1Cn,1D1,2[B]31.集成测试阶段主要关注的是()A语句覆盖B功能覆盖C基本路径覆盖D条件覆盖[D]32.在安全性测试中,模拟的攻击系统的入侵方式需要有()A通过外部手段获取系统密码B独占整个系统资源,使别人无法访问C使用能瓦解防守的客户软件来攻击系统D以上全部[A]33.在实际测试中,软件性能的高低往往直接取决于()A用户对响应时间的接受程度B系统响应时间的估计值C系统响应时间的绝对值D所有功能的最大响应时间[D]34.关于α测试和β测试错误的是()Aα测试是在受控制的环境下进行的Bβ测试是在不受控制的环境下进行的Cα测试是由软件公司模拟普通用户使用来测试的Dβ测试是由普通用户来管理的[C]35.关于面向对象测试,说法正确的是()A面向对象只能采用白盒测试,不能采用黑盒测试B对类的测试,一个测试用例只能包含对该类的一个方法的一次调用C对一个类中的单个方法的测试属于面向对象单元测试考虑的范畴D面向对象的软件测试不必考虑对继承关系的测试二、判断题:1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨)2.软件质量保证和软件测试是同一层次的概念。(x)3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(x)4.程序员兼任测试员可以提高工作效率。(x)5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨)6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(∨)7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨)9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。(x)10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(x)11.在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7n个。(x)12.软件生存周期是从软件开始开发到开发结束的整个时期。(x)13.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(∨)14.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)15.测试用例的数目越多,测试的效果越好。(x)16.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x)17.单元测试属于动态测试。(∨)18.验收测试是以最终用户为主的测试。(∨)19.没有发现错误的测试是没有价值的。(∨)20.可以把不合格的开发人员安排做测试。(x)三、填空题1.软件的缺陷“千年虫”问题是软件设计阶段产生的缺陷。2.软件的所有组成内容中,缺陷出现最多的地方是规格说明书。3.面向对象的测试中,对有父类和子类的继承层次,应该先测试父类较好。4.单元测试中,采用讲解、讨论和模拟运行的方式进行的查找错误的活动称为走查或审查。5.满足判定覆盖一定也满足语句覆盖。6.对每个端口都要询问端口上会出现什么事件,然后根据每个端口的事件列表寻找使用输入端口和输出端口线索,这是系统测试阶段的常用方法。7.可安装性和可恢复性的测试属于验收测试阶段。8.使用决策表设计时,决策表的每一行或运行条目就对应一个测试用例。9.白盒测试又称为结构或逻辑驱动测试;黑盒测试又称为功能测试。10.一套完整的测试工具解决方案应该包含:测试管理平台、功能测试工具和性能测试工具。三、简答题:1.简单描述一下软件测试工程师一般会承担的一些具体工作。答:检视代码、评审开发文档(静态测试方法)进行测试设计、写作测试文档(测试计划、测试方案、测试用例等)执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正通过测试度量软件的质量….2.简述测试用例书写标准的6个组成部分,包括各个部分的名称、类型和主要功能。(1)标识符或编号:用于不同文档、相互引用(2)测试项:指明具体的测试对象(3)测试环境要求:非特殊环境可以不必给出(4)输入标准:指明执行测试时具体的数据及输入步骤(5)输出标准:按照指定的环境和输入标准执行后所期望的输出结果(6)测试用例之间的关联:标志本测试用例与其他测试用例的依赖关系3.简述集成测试有几种常见的方法,各自的优缺点。(1)自顶向下:优点:早发现上层问题,不用写桩程序。缺点:早期不易展开使用人力,需要写驱动程序,下层错误晚发现。(2)自底向上:与自顶向下优缺点相反。(3)三明治:优点:将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序。缺点在真正集成之前每一个独立的模块没有完全测试过。(4)大棒:如果没错一次性通过;所有的模块一次集成的,很难确定出错的位置。并不推荐在任何系统中使用,适合在规模较小的应用系统中使用4.通过对Rational软件测试产品的学习,简述你对软件测试自动化的优点、适用范围和关键技术的理解。答:软件测试自动化的优点:缩短测试周期,测试效率高,充分利用硬件资源,节省人力资源,降低测试成本,容易实施、结果可靠,做手工不能做。答要点即可适用范围:单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合。关键技术:测试脚本代码分析捕获和回放重点是脚本5.有一个函数的功能是将数字串转化为整数,数字串为1~6位长(带符号),机器字长为16位。请考虑边界值法设计测试用例(7个特定值,写明输入和预期输出)。答:机器字长为16位,数据范围是-32768~32767;数字串为1~6位长(带符号),范围是-99999~99999;要按照其中之一确定7个特定值:min-minmin+nmlmax-maxmax+如按机器字长数据范围:min-minmin+nmlmax-maxmax+输入:-32769-32768-327670327663276732768预期输出:无效值-32768-3276703276632767无效值五、综合题:1.实现某城市的电话号码,该电话号码由三部分组成:区号:空白或3位数字;前缀:非0或1开头的3位数字;后缀:4位数字。如一个合格的电话号码为0108559617。请分析规则说明,采用等价类划分方法设计测试用例。答:首先分析程序的规则和功能,划分等价类并编号:对象有效等价类无效等价类区号空白(1)3位数字(2)有非数字字符(5)少于3位数字(6)多于3位数字(7)前缀从200-999的3位数字(3)有非数字字符(8)起始位为0或1(9)少于3位数字(10)多于3位数字(11)后缀4位数字(4)有非数字字符(12)少于4位数字(13)多于4位数字(14)根据上述等价类的划分,设计测试用例如下:2.下面是一个C语言程序段,请采用基本路径测试法设计一组测试用例,保证每个基本独立路径至少执行一次。intTest(inti_count,inti_flag