软件测试期末题库-答案.docx
选择题10X2分1、软件是程序和(A)的集合。A、文档B、代码C、测试用例D、测试2、软件工程中描述生存周期的瀑布模型一般包括计划、(八)、设计、编码、测试、维护等几个阶段。A、需求分析B、需求调查C、可行性分析D、问题定义3、严重的软件缺陷的产生主要源自(A)0A、需求B、设计C、编码D、测试4、以下不属于应用系统中的缺陷类型的是:(B)A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明5、降低缺陷费用最有效的方法是(B)。A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试6、测试环境中不包括的内容是(A)A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境7、软件调试的目的是(B)A、发现软件中隐藏的错误B、解决测试中发现的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性8、软件测试的目的是(A)难易度:2A、发现软件中隐藏的错误B、解决软件中隐藏的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性9、下列关于测试和调试的说法中正确的是(B)A、测试和调试没有本质区别。目的都是为了发现软件系统中的错误。B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。C、调试主要在软件的开发阶段进行。D、调试一般不能确定程序中潜在错误发生的原因10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)o难易度:3A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。C、测试组织与开发组织为同一公司,但不在同一部门。D、测试组织与开发组织为不同公司。11某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。A、白盒法B、黑盒法C、动态测试D、灰盒法13、黑盒测试法是根据程序的(C)来设计测试用例的。A、应用范围B、内部逻辑C、功能D、输入数据14、验收测试的测试用例主要根据A、需求分析B、源程序A )的结果来设计。C、概要设计D、详细设计15、软件测试中白盒测试法是通过分析程序的(B)来设计测试用例的。A、应用范围B、内部逻辑C、功能D、输入数据16、下列关于白盒测试与黑盒测试的说法中错误的是(C)oA、用白盒测试来验证单元的基本功能时,经常要用黑盒测试的思考方法来设计测试用例B、仅仅通过白盒测试,或仅仅通过黑盒测试都不能全面系统地测试一个软件C、白盒测试适用于软件测试的各个阶段D、在黑盒测试中使用白盒测试的手段,常被称为“灰盒测试”17、关于黑盒测试与白盒测试的区别,下列说法正确的是(A)0A、白盒测试侧重于程序结构,黑盒测试侧重于功能B、白盒测试可以使用自动测试工具,黑盒测试不能使用工具C、白盒测试需要开发人员参与,黑盒测试不需要。D、黑盒测试比白盒测试应用更广泛18、下列关于alpha测试的描述中正确的是:(B)A、alpha测试不需要用户代表参加B、alpha测试不要开发人员参加C、alpha测试是集成测试的一种D、alpha测试是验收测试的一种19、集成测试分为渐增组装测试和(A)A、非渐增组装测试B、确认测试C、单元测试D、测试计划20、集成测试中使用的辅助桩模块分为驱动模块和(C)A、传入模块B、主模块C、桩模块D、传出模块21、驱动模块模拟的是(D)A、子模块B、第一模块C、底层模块D、主程序22、单元测试的测试用例主要根据(B)的结果来设计。A、需求分析B、源程序C、概要设计D、详细设计23、单元测试的测试目的是(C)A、保证每个模块或件能正常工作B、保证每个程序能正常工作C、确保缺陷得到解决D、使程序正常运行24、以用户为主导的测试成为(A)A、验收测试B、白盒测试C、黑盒测试D、系统测试25、按照测试策略和过程,测试可以分为:(B)A、单元、白盒、确认、系统、验收B、单元、集成、确认、系统、验收C、白盒、黑盒、确认、系统、验收D、白盒、集成、确认、系统、验收26、若一个通讯簿最多可以输入100条记录,则下列选项中设计的测试用例最优的是(D)oA、分别输入1、50、100条记录B、分别输入0、B50、99、100条记录C、分别输入0、C99、100、101条记录D、分别输入0、1、50、99、100、101条记录27、下列逻辑覆盖测试方法中,覆盖能力最强的是(D)A、语句覆盖B、判定覆盖C、条件覆盖D、条件组合覆盖28、选出属于白盒测试方法(D)A、测试用例覆盖B、输入覆盖C、输出覆盖D、条件覆盖29、(八)是一种黑盒测试方法,它是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。A、等价类划分法B、边界值分析法C、因果图法D、场景法30、黑盒测试用例设计方法包括(B)等A.等价类划分法、因果图法、正交试验设计法、功能图法、路径覆盖法、语句覆盖法B.等价类划分法、边界值分析法、判定表驱动法、场景法、错误推测法、因果图法、正交试验设计法、功能图法C.因果图法、边界值分析法、判定表驱动法、场景法、Z路径覆盖法D.场景法、错误推测法、因果图法、正交试验设计法、功能图法、域测试法31、错误推测法的基本想法是:(D)A.划分有效等价类和无效等价类B.划分原因和结果C.列出所有的可能情况D.列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例32、用户文档测试中不包括的是(A)A、用户需求说明B、操作指南C、用户手册D、随机帮助33、与设计测试用例无关的文档是(A)A、项目开发计划B、需求规格说明书C、设计说明书D、源程序34、测试过程实施所必备的核心文档不包括(B)A、测试计划B、测试缺陷报告C、测试用例(大纲)D、软件测试报告35、(八)是为了高效率地发现软件缺陷而精心设计的少量测试数据。A、测试用例B、测试计划C、测试报告D、测试分析报告36、下列(A)情况需要考虑引入自动化测试。A、需要重复执行很多次的测试B、只执行一次的测试C、不重要的测试D、很快有回报的测试37、WEB应用中一般采用架构的是(B)A、C/S结构B、B/S结构C、集群结构D、服务器互备份38、下列哪个不是WEB测试的测试内容?(D)A、功能测试B、兼容性测试C、界面测试D、用户测试39、导航测试属于(C)A、功能测试B、性能测试C、可用性/可靠性测试D、压力测试40、Web测试的一个重要特征是(C)A、图片B、文字C、链接D、视频41、测试驱动开发的简称是(C)A、ADDB、TTDC、TDDD、TDT42、确保测试与(A)无关,不要依赖使用过期的数据进行测试。A、时间B、地点C、软硬件资源D、测试人员43、JUnit是(C)语言的单元测试框架。A、C.NetC、JavaD、C+44、(D)中认定的对象是对问题空间中的结构、其他系统、设备、被记忆的事件、系统涉及的人员等实际实例的抽象。A、OOPB、OODC、OOUD、OOA45、对OOD的测试,针对功能的实现和重用以及对OoA结果的拓展,以下不属于考虑内容的是(B)A、对构造的类层次结构的测试B、对对象库的结构测试C、对类库的支持的测试D、对认定的类的测试10X1分1. F软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。2. T广义的软件测试由“确认”、“验证”、“测试”3个方面组成。3. F软件测试等于程序测试。4. F测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。5. T软件测试的目的是尽可能多的找出软件的缺陷。6. T要充分注意软件测试中的群集现象。7. T好的测试方案是极可能发现迄今为止尚未发现的错误。8. F测试人员要坚持原则,缺陷未修复完坚决不予通过。9. T发现错误多的模块,残留在模块中的错误也多。10. F测试人员说:“没有可运行的程序,我无法进行测试工作”。11. F负载测试是验证要检验的系统的能力最高能达到什么程度。12. F白盒测试方法比黑盒测试方法好。13. T在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。14. T产品质量检验阶段是质量管理的发展阶段之一。15. TV模型不能适应较大的需求变化。16. TW模型能够较早地发现缺陷。17. F验收测试是由最终用户来实施的。18. F单元测试能发现约80%的软件缺陷。19. F我们可以人为的使得软件不存在配置问题。20. F集成测试计划在需求分析阶段末提交。21. TBeta测试是验收测试的一种。22. T自底向上集成需要测试员编写驱动程序。23. F为了快速完成集成测试,采用一次性集成方式是适宜的。24. Falpha测试不是验收测试的一种。25. F必须要求用户参与的测试阶段是单元测试。26. T项目立项前测试人员不需要提交任何工件。27. F测试需求一定要写得很细很细。28. F测试需求就是软件需求。29. F测试组负责软件质量。30. F代码评审是检查源代码是否达到模块设计的要求。31. F代码评审员一般由测试员担任。32. T一个程序中所含有的路径数与程序的复杂程度有着直接的关系。33. F静态检查就是看代码。34. T等价类法和边界值着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约关系。35. T在实际测试中,边界值分析法和等价类划分法经常结合使用。36. F因果图法是建立在决策表法基础上的一种白盒测试方法。37. T黑盒测试法又叫功能测试或数据驱动测试。38. F测试用例是在测试执行后写的。39. T测试用例一般是由测试设计人员写的。40. T在设计测试用例时,应包括合理的输入条件和不合理的输入条件。41. TQTP是一种自动化测试工具。42. F测试自动化是万能的。43. TLOadRUrmCr是性能测试工具。44. T采用自动化测试有可能延误项目进度。45. F面向对象的软件测试是采用面向对象的概念和原则,用结构化的方法构建。46. TWCb网站测试需要考虑数据库测试。47. TwCb网站测试不需要考虑功能测试。48. F敏捷测试不需要写测试计划。49. TJunit是一个开源的Java单元测试框架。50. FWAS是单元测试工具。名词解释5X4分1、软件测试:在软件投入运行之前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。2、软件缺陷:存在于软件之中的不希望或不可接受的偏差。3、软件测试的目的:为了检验软件系统是否满足需求4、黑盒测试:检测软件每个功能是否能正常使用。不考虑内部逻辑结构和内部特性。5、回归测试:软件或软件的修复或更正后的“再测试”。6、性能测试:测试软件的运行性能。7、质量保证:是为了提供足够的信任证据,证明组织有关的各类实体有能力满足质量要求所实施,并在必要时进行证实的有计划、有系统的活动。8、Q测试:系统开发接近完成时对软件进行的测试,开发者在测试现场9、B测试:系统开发根本完成时对软件进行的测试,开发者不在测试现场10、压力测试:测试系统在某一条件达到最高限度时,各项功能是否依旧运行。11、单元测试:又称模块测试,是针对软件设计的最小单位-程序模块进行正确性检验的测试工作。12、集成测试:又称组装测试,通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。13、系统测试:将软件作为计算机系统的一个元素,与其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。14、驱动模块(driver):相当于被测模块的主程序15、桩模块(stub):用以代替被测模块调用的这模块。16、确认测试:确认测试又称有效性测试,是检验所开发的软件是否能按用户提出的要求运行。17、软件测试策略:是为软件工程过程定义的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列步骤。18、测试计划的目的:明确测试活动的意图。19、测试用例(TeStCase):是为了高效率地发现软件缺陷而精心设计的少量测试数据。20、软件自动化测试:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施。21、面向对象的软件测试:面向对象的软件测试是面向对象软件开发的不可缺少的一环,是保证软件质量、提高软件可靠性的关键。结合传统软件测试的方法和技术,并针对面向对象软件所具有的特征,将面向对象软件测试层次划分为三层:类测试、类簇测试和系统测试。22、敏捷测试:敏捷测试是适应敏捷方法而采用的新的测试流程、方法和实践,对传统的测试流程有所剪裁,有不同的侧重,例如减少测试计划、测试用例设计等工作的比重,增加与产品设计人员、开发人员的交流和协作。简述题2*10分一、请简述软件测试模型中W模型的图及W模型的优点。测试与开发同步进行;有利于尽早地全面发现问题;及时了解项目难度和测试风险;二、说明测试技术的基本分类从是否需要执行被测软件的角度(静态,动态)从测试是否针对系统的内部结构和具体实现算法的角度(白盒,黑盒)按测试策略和过程(单元测试,集成测试,系统测试,验收测试)按实施组织划分(开发方测试,用户测试,第三方测试)三、说明软件测试和调试的目的有何区别?测试的目的是判断和发现软件是否有错误调试的目的是定位软件错误并纠正四、列举自动化测试工具?QTP%RationalAdventNetsSiIkTest、QA、Test、Holodeck、Telelogic五、Alpha测试与Beta测试的区别?两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。六、测试360网站首页应该考虑的因素?七、八、简述黑盒测试中决策表法的定义及其方法适应的程序?在逻辑条件取值的组合所构成的多种情况,分别执行不同的操作。处理这类问题的一个有力分析和表达工具就是决策表简述测试模型中V模型的优缺点?优点:1. 既有底层测试又有高层测试。底层:单元测试。高层:系统测试。2. 将开发阶段清楚的表现出来,便于控制开发的过程。当所有阶段都结束时,软件开发就结束了。缺点:1. 容易让人误解为测试是在开发完成之后的一个阶段。2. 由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难。3. 实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。九、向对象测试与传统测试的区别?测试的对象不同;测试的基本单位不同;测试的方法和策略不同。十、简述测试工具JUnit的特点?卜一、请画出敏捷测试流程简要图?可重用单元测试用例;提供三种方式显示测试结果;提供单元测试用例成批运行的功能;整个框架设计良好,易扩张。十二、请列举你所知的测试原则?软件剂试的原则:1所有的测试都应追溯到用户需求2应当把“尽早和不断地刑试”作为座右铭3测试工作应该由独立的专北的软件测试机构来完成4Paret。原则,测试发现的错误中SO%很可能起源于20%的模块中。5设计测试用例时,应该考虑各种情况。6对刑试出的错误结果一定要由一个确认的过程。7制定严格的测试计划S完全测试是不可能的,测试需要终止。9注意回归则试的关联性。10妥善保存一切测试过程文档。案例分析题1*20分一、某保险公司的人寿保险的保费计算方式为:投保额义保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为06%,10点以下保险费率为0.1%而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表1所示。表1保险公司计算保费费率的规则年龄性别婚姻抚养人数20、3940、59其它MF已婚未婚1人扣05点最多扣3点(四舍五入取整)6点4占«L/、2点5点3点3点5点分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类,10分)和测试用例表(10分)。分析程谶格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类),如表5其中,瘫年龄:除位或两位非零维,值的有效范围为1g“性SJ:阳位英文字符,只能取值W或F. 性SU:鼠位英文字符,只能取值W或F. 婚姻:摩符,只能取值已婚或未婚 抚养人数:空白或一位非零整数,值的范围为19。输入条件有效等价类编号无效等价类2039岁14059岁2年龄瞪3小于1126099岁大于9913非英文字符14单个英文字符415怅!1,M,5除'M和F之外的其他单个字符16'F,6已婚7婚姻未婚8除巳婿和未婚之外的其他字符17空白9除空白和数字之外的其他字符18睇16人10小于1196g人11大于g20根据表5-17中的等介类表f设计葭盖所有的等价类的测试用例,如表5-18所示.测试用例编号输入数据预期输出年龄怅U抚养人数保睑费率127F未婚空白0.6%250M已婚20.6%370F已婚70.1%40M空白无法推算5100F已婚3无法推算699男已婚4无法推算71Child越空白无法推算845N已婚5无法推算938F离婚1无法推算1062M已婚没有无法推算1118F0无法推算1240M未婚10无法推算二、某软件规格说明中包含这样的要求:输入的第一个字符必须是A或B,第二个字符必须是一个数字,在此情况下进行文件的修改;但如果第一个字符不正确,则给出信息L;如果第二个字符不是数字,则给出信息M。1、写出文字说明(5分)2、画出因果图(5)3、写出相应的决策表(5分)4、写出测试用例(5分)解法如下:(1)分析程序的规格说明,列出原因和结果。原因:C1一一笫一个字符是AC2-第一个字符是BC3一第一个字符是一个数字结果:el一给出信息Le2-修改文件e3-给出信息M4(2)将原因和结果之间的因果关系用逻辑符号连接起一来,得到因果图。编号为11的中间节点是导出结果的进一步原因。因果图示例3(3)添加约束:因为CI和C2不可能同时为,即第一个字符不可能既是A又是B,在因果图上可对其施加E约束,得到具有约束的因果图。具有E约束的因果图&(4)将因果图传换成决策表。_规则选项I2345678条件C11I1IOOO0G1IOOIIOOG1O1O1O1O111II1OO动作«1OO0OI11O1OOO¾O1OIO1不可能1I测试用例A5A#B9B?X2Y%决策表(5)设计测试用例。决策表中的前两种情况,因为原因1和原因2不可能同时为1,所以应排除这两种情况。根据此表,可以设计出6个测试用例。编号愉入数据预期输出TCIA5修改文件TC2A#给出信息MTC3B9修改文件TC4B?给出信息MTC5X2给出信息LTC6Y%给出信息L和信息M涮次用物I三、假设中国某航空公司规定:中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。中国去非欧美的国外航线都有食物供应,只有商务舱可以播放电影。中国国内的航班的商务舱有食物供应,但是不可以播放电影。中国国内的航班的经济舱除非飞行时间大于2小时就有食物供应,但是不可以播放电影。使用决策表法设计测试用例。使用决策表法设计测试用例C123456中国去欧美?YNNNNN航中国去非欧美的国外?NYYNNN中国国内的航班NNNYYY商务仓一YNYN线匕行时间2小时一一一Y一服食物供应务播放电影-一测美亚亚中中中试国洲,洲国,国,S用商务商例仓务行仓时问>2四、某城市电话号码由三部分组成,分别是:地区码一一空白或三位数字;前缀一一非0'或'1'开头的三位数字;后缀一一4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。要求:(1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。(2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成些补充的测试用例。1史用等如突划冲入有效等价类号无效等侑类嬷号地区码空白有事数字字符5少干3位数字63位数字2多于3位政字7前绿200-9993育率数字字符8起始位为婚9起始位为T10少于3位数字11多于3位数字12后想4住敬字4有重数字字箝13少于4位假字14多于4位数字15测试用例编号*人数据演闻也出薛等价英地区码W搜后缀1空白1234567接受(有效1,3,4-J-m-9099879-IW有效)2.3.4320A1234§67拒绝(无效)S433254M7S拒绝(无效)6S123423445«7拒绝无效761232B31234拒绝无效871230131234拒绝(无效)981231231234拒绝无效109123231254拒绝无效111012323451234拒饶无效12111232341B54拒绝(无效131211323434拒绝无效14131232342334S拒绝(羽DIS分析设计题1*20分一、分析以下程序代码,设计测试用例。Int×=1;Inty=l;1. While(MaxNum>0)2. (3. if(10=Type)4. x=y*2;5. else6. if(i00=Type)7. ×=y+10;8. else9. x=y-20;10. MaxNum-;11. 12. Ptintf(“d”,x);二、分析以下程序代码,设计测试用例。1 main()2 (3 intnuml=0znum2=0zscore=100;4 inti;5 charstr;6 scanf("%d,%cn",&i,&str);7 while(i<5)8 (9 if(str='T')10 numl+;11 elseif(str=zF,)12 13 score=score-10;14 num2+;15 )16 i+;17 )18 printf("numl=%d,num2=%dzSCore=%dn”,numl,num2,score);19)测试用例测试用例输入期望输出执行路径istrnumlnum2scoreTestCase15OO100路径1estCase241O100路径2cstCase34lA,OO100路径3TestCase44WO190路径4三、分析以下程序代码,设计测试用例。1. Voidsort(intijntj)2. (3. intm,n,k;4. m=n=k=O;5. while(i+<ll)6. (7. if(j<5)8. m+;break;9. else10. if(j<8)11. n+;12. else13. k+;14. 15. Printf5%d,%d,%d”,m,n,k);)2、计算圈复杂度12(边数)TO(顶点数)+2=43、导出基本路径测试用例通过路径输入数据预期结果41415i=ll,j=9m=0,n=0,k=04671415i=9,j=4m=2,n=0,k=046910131415i=10,j=6m=0,n=l,k=046912131415:二10,j二9m=0,n=0.k=l16.四、分析以下程序代码,使用语句覆盖和判定覆盖设计测试用例。1.voidDoWork(intxzinty,intz)2(3. intk=OJ=O;4. if(x>3)&&(z<10)5(6. k=x*y-l;语句块17. j=sqrt(k);8. )9. if(x=4)(y>5)10. 11. j=x*y+10;语句块212. )13. j=j%3;语句块3)数据输入条件预期结果X=Ly=5,z=9TFFj=2x=4,y=6,z=llFTFj=34x=5,y=4,z三llFFTj=j%314.