软件测试理论部分测试题一及参考答案一、基础理论1、软件测试的结束标准是什么?(5分)测试计划中所有规定的测试内容和回归测试都已经运行完成或根据上级主管对测试结果的意见,就可以结束本次测试2、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。(10分)计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。3)测试开发建立可重复使用的自动测试过程。4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。3、什么是缺陷报告?(5分)缺陷报告是描述软件缺陷现象和重现步骤地集合。软件缺陷报告SoftwareBugReport(SBR)或软件问题报告SoftwareProblemReport(SPR)4、缺陷报告的作用(5分)缺陷报告是软件测试人员的工作成果之一,体现软件测试的价值缺陷报告可以把软件存在的缺陷准确的描述出来,便于开发人员修正缺陷报告可以反映项目/产品当前的质量状态,便于项目整体进度和质量控制软件测试缺陷报告是软件测试的输出成果之一,可以衡量测试人员的工作能力5、缺陷报告的要点(5分)标题(Title)简洁、准确、完整、反映缺陷本质、方便查询前缀+标题正文,标题正文采用结果和动作,或者现象和位置的方式表达步骤(Steps)可复现、完整、简洁、准确按数字编号实际结果(Actualresults)准确、详细描述软件的现象和特征期望结果(Expectedresults)准确、丰富、有理有据平台(Platforms)准确截图(Screenshots)准确反映缺陷特征注释(Notes)关于缺陷的辅助说明6、软件测试缺陷报告的“5C”原则(5分)内容准确(Correct):每个组成部分的描述准确,不会引起误解步骤简洁(Concise):只包含必不可少的信息,不包括任何多余的内容内容清晰(Clear):每个组成部分的描述清晰,易于理解结构完整(Complete):包含复现该缺陷的完整步骤和其他本质信息风格一致(Consistent):按照一致的格式书写全部缺陷报告7、缺陷的二八定理(5分)在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的缺陷,而系统测试又能找出其余缺陷中的80%,最后的4%的缺陷可能只有在用户大范围、长时间使用后才会暴露出来。8、软件测试的流程(5分)制订测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结9、测试计划的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?(10分)测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂停和重新启动测试的标准、风险和问题等。最重要的:测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准10、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。(5分)黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。11、你认为合格的测试人员应该具备哪些素质?并说明原因(10分)从人的基本素质而言,需要具备以下素质:探索精神:不害怕陌生环境,喜欢装新软件,总是不停尝试,寻找转瞬即使的缺陷善于发现问题:喜欢解迷具有创造性:常需要使用超常手段来寻找缺陷追求完美:完美主义者沟通能力:一名理想的测试者必须能够同测试涉及到的所有人进行沟通自信心:开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了幽默感:在遇到狡辩的情况下,一个幽默的批评将是很有帮助的强的记忆力:一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几耐心:一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的自我督促:干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作学习能力:需要不断的进行学习新东西从技术角度而言,需要具备以下素质:测试能力:即对所测试对象的业务需要比较熟悉,因为测试人员靠什么吃饭?首先是业务的掌握能力,一般来说,大的行业业务(移动支撑、银行、物流等)掌握2年为一段计算机的基本知识:需要掌握一些计算机硬件的基本知识,如:存储原理、处理器指令类型等编码、操作系统、数据库等知识:具体根据所测对象的具体而定软工的基本知识:软件工程中关于软件开发过程的基本模型,基本理论等测试的理论方法:测试的策略、方法等软件质量标准:软件包的国家、国际质量标准文字表达能力:标准、准确、完整的文字表达能力12、软件测试的原则,这些原则能更好的理解和指导我们做测试工作,请把你所知道的原则详细列出来(10分)软件测试的原则1.应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2.测试用例应由测试输入数据和对应的预期输出结果这两部分组成。3.程序员应避免检查自己的程序。4.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。5.充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。6.严格执行测试计划,排除测试的随意性。7.应当对每一个测试结果做全面检查。8.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便13、CMM由低至高共分为5个级别是什么?并简述每级基本特征(10分)CMM1初始级:不可预估和缺乏控制CMM2可重复级:可以重复以前熟练的任务CMM3已定义级:过程特征化,容易理解CMM4已管理级:过程被度量肯控制CMM5优化级:集中于过程改进14、有一个测试计算平方根的函数,--输入:实数--输出:实数--需求说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息平方根非法-输入值小于0并返回0;库函数Print-Line可以用来输出错误信息。试题要求:分别按等价类划分和边界值分析方法为该程序设计测试用例,写出测试用例。(15分)A.等价类划分:I.可以考虑作出如下划分:a、输入(i)0和(ii)=0b、输出(a)=0和(b)ErrorII.测试用例有两个:a、输入4,输出2。对应于(ii)和(a)。b、输入-10,输出0和错误提示。对应于(i)和(b)。B.边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:a、输入{最小负实数}b、输入{绝对值很小的负数}c、输入0d、输入{绝对值很小的正数}e、输入{最大正实数}