软件测试期末大作业一、判断(1)测试是为了验证软件已正确地实现了用户的要求。(×)(2)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。(√)(3)黑盒测试的测试用例是根据程序内部逻辑设计的。(×)(4)在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。(√)(5)单元测试通常由开发人员进行。(√)(6)测试人员说:“没有可运行的程序,我无法进行测试工作”。(×)(7)软件测试员无法对产品说明书进行白盒测试。(×)(8)在设计测试用例时,应包括合理的输入条件和不合理的输入条件。(√)(9)压力测试不需要辅助工具的支持。(×)(10)软件测试岗位工作角色有:测试经理、测试工程师、测试员(√)二、选择1、用黑盒技术设计测试用例的方法之一为(A)A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试2、软件测试的目的是(B)A)避免软件开发中出现的错误B)发现软件开发中出现的错误C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性D)修改软件中出现的错误3、下列软件属性中,软件产品首要满足的应该是(A)A)功能需求B)性能需求C)可扩展性和灵活性D)容错纠错能力4、以程序的内部结构为基础的测试用例技术属于(D)。A)灰盒测试B)数据测试C)黑盒测试D)白盒测试5、为了提高测试的效率,正确的做法是(A)。A)选择发现错误可能性大的数据作为测试用例B)在完成程序的编码之后再制定软件的测试计划C)随机选取测试用例D)使用测试用例测试是为了检查程序是否做了应该做的事6、对程序的测试最好由谁来做,对程序的调试最好由谁来做(B)。A)程序员第三方测试机构B)第三方测试机构程序员C)程序开发组程序员D)程序开发组程序开发组7、在进行单元测试时,常用的方法是(C)A)采用白盒测试,辅之以黑盒测试B)采用黑盒测试,辅之以白盒测试C)只使用白盒测试D)只使用黑盒测试8、以下那一种选项不属于软件缺陷(D)。A)软件没有实现产品规格说明所要求的功能B)软件中出现了产品规格说明不应该出现的功能C)软件实现了产品规格没有提到的功能D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题9、如果一个判定中的复合条件表达式为(A1)or(B=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)。A)1B)2C)3D)410、经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该(B)。A)较少B)较多C)相似D)不确定11、下面有关软件缺陷的说法中错误的是(C)。A)缺陷就是软件产品在开发中存在的错误B)缺陷就是软件维护过程中存在的错误、毛病等各种问题C)缺陷就是导致系统程序崩溃的错误D)缺陷就是系统所需要实现某种功能的实效和违背12、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是(B)。A)可划分为2个有效等价类,2个无效等价类B)可划分为1个有效等价类,2个无效等价类C)可划分为2个有效等价类,1个无效等价类D)可划分为1个有效等价类,1个无效等价类13、根据软件需求规格说明书,在开发环境下对已经集成的软件系统进行的测试是(A)。A)系统测试B)单元测试C)集成测试D)验收测试14、下面有关测试原则的说法正确的是(A)。A)测试用例应由测试的输入数据和预期的输出结果组成B)测试用例只需选取合理的输入数据C)程序最好由编写该程序的程序员自己来测试D)使用测试用例进行测试是为了检查程序是否做了它该做的事15、下列关于测试方法的叙述中不正确的是(C)A)从某种角度上讲,白盒测试与黑盒测试都属于动态测试B)功能测试属于黑盒测试C)对功能的测试通常是要考虑程序的内部结构D)结构测试属于白盒测试16、在覆准则中,最常用的是(D)A)语句覆盖B)条件覆盖C)分支覆盖D)以上全部17、大多数实际情况下,性能测试的实现方法是(A)。A)黑盒测试B)白盒测试C)静态分析D)可靠性测试18、下列方法中,不属于黑盒测试的是(A)。A)基本路径测试法B)等价类测试法C)边界值分析法D)基于场景的测试方法19、测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是(B)。A)随机选择B)划分等价类C)根据接口进行选择D)根据数据大小进行选择20、下列可以作为软件测试对象的是(D)。A)需求规格说明书B)软件设计规格说明C)源程序D)以上全部三、问答题1、什么是软件测试?答:一个软件开发出来,它不可能是完美无缺的,我们需求验证软件是否满足了用户的需求,让用户满意,软件好用操作简单,简而言之就是软件是否是用户要的,就需要软件测试人员对用户需要的那些功能去测试,就是软件测试。2、什么是测试用例?答:测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等并形成文档。3、什么是黑盒测试?用黑盒测试设计测试用例有哪些常用方法?答:⑴黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。⑵①等价类划分法②边界值分析法③错误推测法④因果图法⑤判定表法⑥状态迁移法⑦正交实验法。4、什么是白盒测试?用白盒测试设计测试用例有哪些常用方法?答:⑴白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。⑵①等价类划分法②边界值分析法③错误推测法④因果图法⑤正交表分析法⑥场景分析方法。5、软件测试工作过程有哪些?答:测试计划→测试设计→测试开发→测试执行→测试评估→测试报告→缺陷跟踪四、设计题1、NextDate函数NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。要求输入变量month、day和year均为整数值,并且满足下列条件:条件11≤month≤12条件21≤day≤31条件31912≤year≤2050设计测试用例,比较预期结果和实际结果的差异。编号输入数据输出结果YearMonthDay120033312003年4月1日220034302003年5月7日320032282003年3月1日420002292000年3月1日5A11111非法字符61911325无效输入日期72059426无效输入日期82000Mon23非法字符92003023无效输入日期1020031324无效输入日期1120033AA非法字符12200330无效输入日期132003332无效输入日期142003432无效输入日期152003229无效输入日期162004230无效输入日期2、有一个处理单价为5角钱饮料的自动售货机:若投入5角钱或1元钱的硬币,压下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并压下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。下面是使用决策表法分析的部分用例,请填写完整:用例序号12345输入条件1、投入1元硬币011012、投入5角硬币100003、按下“橙汁”100004、按下“啤酒”011105、有零钱找00110输出结果1、退还1元硬币010002、零钱照完灯亮110013、找5角硬币001024、送出“橙汁”101005、送出“啤酒”00000五:请谈谈自己对软件测试的认识。答:1.软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。2.从测试方法的角度可以分为手工测试和自动化测试。手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。3.从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。测试流程依次如下:(1)需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testingteam(2)测试计划:根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testingleaderortestingmanager(3)用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testingleader,seniortester(4)执行测试:根据测试用例的详细步骤,执行测试用例。--everytester(主要是初级测试人员)(5)执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--everytester(主要是初级测试人员)(6)defecttracking:追踪leader分配给你追踪的bug.直到bugfixed。--everytester(7)测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.(8)用户体验、软件发布等……总之,就是找出软件中存在的bug,提高产品的质量,提升用户的体验!