软件测试习题库第1章软件测试背景判断题1.软件缺陷就是软件未达到软件产品需求说明书指明的要求。()对2.软件缺陷主要是由于设计的问题造成。()错3.软件缺陷主要是由于编码问题造成。()错4.软件缺陷主要是由于需求问题造成。()对5.软件缺陷在测试阶段发现的数量最多。()错6.软件缺陷在发布后修复的成本最大。()对7.软件缺陷在需求分析阶段修复的成本最大。()错8.软件缺陷在设计阶段修复的成本最大。()错9.软件缺陷在需求分析阶段修复的成本最小。()对10.算法错误是设计错误的一种。()对填空题1.软件缺陷按测试开发阶段分为____________缺陷、设计缺陷和____________缺陷。需求缺陷、编码缺陷2.软件出错机理可描述为软件错误、_________________、软件故障_和______________。软件缺陷,软件失效3.需求阶段的错误分为不一致性错误、__________________和___________________。冗余性错误、不完整性错误、不可行错误、不可测试错误(只填3个)4.设计阶段的错误分为设计不完全错误、__________________和___________________。、算法错误、模块接口错误、控制逻辑错误、数据结构错误(只填2个)5.编码阶段的错误分为数据说明错误、__________________和___________________。数据使用错误、计算错误、比较错误、控制流错误、界面错误、输入/输出错误(只填2个)6.“测试成熟度”分为五级、分别为初始级、________________、______________、管理和测量级、优化,预防缺陷和质量控制级。定义级、集成级7.某公司成立一个测试小组,当所有的开发全部完成后才由测试小组接手项目的测试,则该公司属于“测试成熟度”模型中的____________级。定义8.某公司的软件产品由项目经理带着几个开发人员进行研发,每个开发人员自行测试自己的程序,该公司属于“测试成熟度”模型中的____________级。初始9.BillHetzel定义的测试第一类方法的核心思想是_____________________________________。证明软件是工作的10.GlenfordMyers定义的测试第二类方法的核心思想是__________________________________。证明软件是有错误的名词解释1软件缺陷从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背2.TMM软件测试成熟度模型是对测试组当前的测试能力状态的一种度量,帮助测试组改进测试效率,提高测试管理水平。3.测试用例为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。简答题1简述软件缺陷产生的原因。1、用户需求和说明书没有被很好的理解分析人员不能100%理解用户需求,写作水平不高2、软件设计的不合理设计人员不能100%理解需求文档,设计水平不高3、代码(算法,流程)存在错误编码人员不能100%理解设计文档,编码水平不高2简述什么样的情况下可以判定为软件缺陷。(1)软件未达到软件产品需求说明书指明的要求。(2)软件出现了软件产品需求说明书指明不会出现的错误。(3)软件功能超出软件产品需求说明书指明的范围。(4)软件未达到软件产品需求说明书虽未指明但应达到的要求。(5)软件测试人员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好的问题。3.简述测试与调试的区别。测试的主要工作是找缺陷,发现软件的错误(是否满足用户需求),确定程序中可疑错误的原因和确切位置,对程序(设计或编号)进行修改,排除错误贯穿整个软件生命周期。调试的目的是解决代码中的缺陷。第2章软件测试概述判断题1.软件测试就是对程序进行测试。()错2.当软件代码开发结束时,软件测试过程才开始。()错3.对发现错误较多的程序段,应进行更深入的测试。()对4.发现错误多的程序模块,残留在模块中的错误也多。()对5.如果发布出去的软件有质量问题,都是软件测试人员的错。()错6.测试部门负责软件质量。()错7.软件测试的目的是尽可能多的找出软件的缺陷。()对8.开发一个软件系统时,要考虑所有的软件质量要素。()错9.测试用例越多,测试效果就会越好。()错10.产品规格说明书和文档的谬误不属于软件缺陷。()错11.没有质量度量,等于没有质量标准。()对12.在软件编码过程中产生的缺陷数量相对软件开发的其它过程多得多。()对13.软件测试能保证软件质量。()错14.软件测试不用考虑软件的可扩展性。()错15.软件的质量越高越好,所以我们必须保证软件零缺陷才能交付。()错16.如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好处,那么这样的系统可以认为是安全的。()对17.软件的可靠性可以通过软件测试发现并解决。()错18.好的测试用例集可以花费最小的代价(人力、物力、财力、时间)做最好的测试。()对填空题1.软件测试的对象包括用户需求、需求说明书、___________________、_______________和运行结果。设计说明书、源代码2.软件测试按测试阶段分为单元测试、___________________、确认测试、系统测试、_________________。集成测试、验收测试3.软件测试生命周期分为:测试计划、_________________、_________________、测试执行、测试评估五个阶段。测试设计、测试开发4.导致软件缺陷最大原因是___________________。需求错误5.测试用例的作用是________________________________________________。验证某个程序路径是否满足特定的需求6.测试设计员的职责是____________________和________________________。设计测试用例、设计测试脚本7.软件的易用性要让___________________来评价。用户8.软件的健壮性包含了____________能力和_____________能力。容错、恢复9.软件的功能性质量因素包括健壮性、________________和______________。正确性、可靠性10.非功能性质量因素包括性能、清晰性、易用性、____________、____________。安全性,可扩展性,兼容性,可移植性(填写2个)名词解释1.软件测试软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。2.软件的可移植性软件的可移植性指的是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译器)的能力,主要体现为代码的可移植性。3.软件质量软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。4.软件质量模型软件质量模型指出了质量属性之间的联系和高质量软件的质量属性构成,人们通过软件质量模型来评价一个软件的质量。5.软件的健壮性健壮性是指在异常情况下,软件能够正常运行的能力6.集成测试一种测试阶段,用于测试模块之间的交互7.系统测试一种测试阶段,在代码完全集成后进行,用于测试系统所有功能和非功能是否满足需求。8.软件质量要素对软件整体质量或用户需求影响最大的那些质量属性简答题1比较验证与确认的区别确认评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。验证检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的。2.你认为一个优秀的测试工程师应该具备哪些基本素质和专业素质?基本素质对软件感兴趣好奇心自信、执着、追求完美、团队合作、勾通叛逆精神追求完美洞察力专业素质业务知识产品设计知识软件架构知识UML各种测试工具用户心理学文字表达能力3.某公司生产出一个新型的纸杯,现由你对纸杯进行测试,以保证纸杯的质量和口碑,请根据软件质量要素简述测试方法和目的。正确性:是否漏水、是否有包装错误健壮性:反复装水倒水或一直保持水满的状态,测试漏水时间是否达标可靠性:测试一箱纸杯中有多少个坏的性能:测试装油、热水、冰水的漏水时间易用性:测试纸杯是否容易使用,包装是否符合用户特点安全性:测试纸杯是否结实兼容性:测试纸杯是否按国家标准生产4.简述测试用例的作用及包含的主要元素。为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。主要元素:用例、用例名称、测试目的、前提条件、测试环境、测试步骤、预期结果、.实际的结果/测试的结果5.简述测试计划阶段的工作内容。确定测试需求-根据需求收集和组织测试需求信息,确定测试需求制定测试策略-针对测试需求定义测试类型、测试方法以及需要的测试工具等。建立测试通过的准则-根据项目实际情况为每个层次测试建立通过标准确定资源和进度-确定测试需要的软硬件资源、人力资源以及测试进度评审测试计划-根据同行评审的规范对测试计划进行同行评审6.简述软件设计阶段的工作内容对每个测试需求,确定所需的测试用例。对每个测试用例,确定其输入和预期结果。测试环境配置编写测试用例文档对测试用例进行同行评审7.简述设计测试用例的基本原则测试用例的代表性能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的。8.简述什么是软件的可扩展性,什么时候需要考虑软件的可展性。软件的可扩展性是反映软件适应“变化”的能力。软件的可扩展性关键要看软件的规模和复杂性如果软件规模很小,问题很简单或者软件并不需要后继开发,那么亦无所谓“可扩展性”了。如果软件规模很大,问题很复杂或采用了增量开发模式,倘若软件的可扩展性不好,那么软件难以维护,甚至不能使用。第3章白盒测试判断题1代码走查的要点是代码编写是否符合标准和规范,是否存在逻辑错误。()对2.对于每个函数,路径覆盖测试是绝对做不到的。()错3.满足条件覆盖肯定满足语句覆盖。()错4.静态测试只能发现简单的语法错误,效率低,耗费时间。()错5.代码审查过程应将注意力用于查找错误而不是修正错误。()对6.路径上的节点都至多出现一次,除非初始和终止节点是相同的节点,称之为简单路径。()对7.如果存在一个测试用例集T可以访问所有长度为2的子路径,则称该测试用例集满足了图的边对覆盖准则。()对8.数据流测试中,节点内一个变量V的值被修改,则称变量V在该节点处被定义。()对9.数据流测试中,节点内一个变量V的值被访问,则称变量V在该节点处被定义。()错10.如果存在一个变量v的从li到lj的Def-pair路径,则称变量v可以从定义节点li到达使用节点lj()对填空题1.白盒法设计测试用例覆盖强度最高的方法是______________________。路径覆盖2.静态测试包括桌面走查、__________________和__________________。代码审查、评审3.代码审查的参与人员为_______________、________________、模块设计人员和一名测试专家_。协调人、编码人员4.选择足够的测试用例,使得程序中每个语句至少都能被执行一次,则满足了白盒测试中的____________覆盖。语句5.设计测试用例,使得程序中每个判定至少为真和为假值各一次,则称满足了白盒测试中的__________