功能测试十一大知识点

YuMiLLer 贡献于2012-01-15

作者 liuxin  创建于2008-07-18 01:46:00   修改者微软用户  修改于2011-05-22 07:06:00字数11937

文档摘要:功能测试流程:根据需求说明书制订计划主要是测试目的,测试策略,测试资源,测试各阶段的里程碑,测试文档的评审级别和时间然后实施测试,测试环境准备数据准备编写测试用例辅助工具准备,根据用例执行测试,关注测试结果,测试评审和报告。
关键词:

功能测试十一大知识点 功能测试流程 根据需求说明书 制订计划 主要是 测试目的,测试策略,测试资源,测试各阶段的里程碑,测试文档的评审级别和时间然后实施测试,测试环境准备 数据准备 编写测试用例 辅助工具准备,根据用例执行测试,关注测试结果,测试评审和报告 1.什么叫软件测试,它的目的是什么?为什么要用专业的测试人员?什么叫测试用例?好的测试用例都有哪些特点?什么叫缺陷? 1.1.什么叫软件测试,它的目的是什么? 使用人工或自动的手段,来运行或者测试某个系统的过程,其目的在于检验软件是否满足规定的需求,或者弄清预期结果与实际间的差异 广义来讲就是指软件生命周期所有的检查评审和检测工作。 狭义来讲就是识别软件缺陷的过程。 1.2.为什么要用专业的测试人员? 1.开发人员有建设性,不愿意去破坏不会选择破坏性的数据,愿意找一些正常的数据来进行测试,并且开发人员都是按模块来完成工作的,他们的测试也是按模块来进行,具有局限性,不容易发现模块间的问题。 2.测试人员的工作就是“破坏”,没有固定的思维,并且更具有反向思维和发散性思维。 3.测试也是具有专门的方法和技能的,测试不是“乱点”测试,它包含了很强的方法,测试人员会针对软件最薄弱的地方去准备数据进行测试。 4.测试不是人人都可以的,新手只能发现表层的东西,有经验的人会考虑的更全面,更多的发现逻辑上的问题,同时对业务熟练的测试工程师,可能会出现问题出现的地方,能够更快的上手,更准的找到问题所在。 1.3.什么叫测试用例? 指对于特殊的软件产品进行测试的任务的描述,体现了方式方案方法技术和策略 1.4.好的测试用例都有哪些特点? 1.准确,测试用例的设计符合测试需求; 2.没有冗余步骤; 3.可重用; 4.可跟踪,是针对特定测试需求的; 5.适当,对于当前的测试环境,对于测试者是可以执行的; 6.独立于编写者,要求用例是详细的; 1.5.什么叫缺陷? 简单的说,缺陷就是与需求不相符的地方,在软件使用过程中所出现的任何问题。 满足下面5个中的任何一个都称为缺陷: 1.软件未达到软件规格说明书中的功能; 2.软件超出软件规格说明书中指明的范围; 3.软件未达到软件规格说明书中指出的应达到的目标; 4.运行出现错误; 5.软件测试人员认为软件难以理解,不易使用,运行速度慢或者最终用户认为软件使用效果不好; 2.什么是瀑布模型,他有何含义?测试按阶段分都有哪些,每个阶段的主要任务有那些?简述一下缺陷的生命周期,整个生命周期可以变化吗?请详细说明等价类法和边界值法 2.1.什么是瀑布模型,他有何含义? 分为软件定义、软件开发和软件使用维护阶段。其中软件定义分为计划和需求分析阶段。软件开发分为设计、编码和测试阶段。软件使用维护阶段分为运行维护阶段。 强调了阶段的划分及顺序性各阶段工作以及文档的完备性是一种严格线形的按阶段顺序的逐步细化的开发模式。 传统的生命周期方法自顶向下。特点一:阶段间具有顺序性和依赖性;特点二:推迟实现的观点;特点三:质量保证的特点 2.2.测试按阶段分都有那些,每个阶段的主要任务有那些? 按阶段划分:分为单元,集成,系统,验收 1.单元:对最小单元进行测试 保证每个模块单独用行正确; 2.集成(接口):验证几个模块间的接口是否存在问题,要做到全路径的覆盖将经过单元测试的模块按设计要求连接起来,组成所规定的软件系统的过程。通过测试发现与模块接口有关的问题。应当避免一次性集成,而采用增量集成; 3.系统:一般由开发商来做,检验系统是否满足功能,集成性能等,根据软件需求规范的要求进行的,目的是要确认系统满足需求的要求; 4.验收:一般和系统测试的范围一样,不过是由用户或者用户委托第3方来完成; 2.3.简述一下缺陷的生命周期,整个生命周期可以变化吗? 缺陷的生命周期:1.新的缺陷被测试人员提交;2.项目经理确定该缺陷的优先级、分配开发人员来修复;3.开发人员根据缺陷的优先级去修复缺陷、使该缺陷被修复;4.开发人员发布一个新的内部版本;5.测试人员确认这个新版本中的被修复缺陷;6.被修复的缺陷被 ;7.没有被修复的缺陷再次打开,返回; 不能变化。 2.4.请详细说明等价类法和边界值法 --等价类法:是非常典型的黑盒测试。把所有可能的输入数据,即程序的输入域划分成若干部分。从每个子集中选取少量具有代表性的数据作为测试用例 分为有效等价类和无效等价类两种。 划分等价类的标准是完备测试,避免冗余。 --边界值法:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法是作为对等价类划分法的补充,其测试的用例来自等价类的边界。 --两者的区别:1.边界值分析不是从某等价类中随便挑一个数据进行测试,而是对等价类的每一个边界都要作为测试条件。2.边界值分析法不仅考虑输入条件,还要考虑输出所产生的情况。 3.测试按阶段分有哪些,每个阶段的主要任务有那些?我们都学了哪些用力的设计方法简单的介绍一下 3.1.测试按阶段分有哪些,每个阶段的主要任务有那些? 按阶段划分:分为单元,集成,系统,验收 1.单元:对最小单元进行测试 保证每个模块单独用行正确。 2.集成(接口):验证几个模块间的接口是否存在问题,要做到全路径的覆盖将经过单元测试的模块按设计要求连接起来,组成所规定的软件系统的过程。通过测试发现与模块接口有关的问题。应当避免一次性集成,而采用增量集成; 3.系统:一般由开发商来做,检验系统是否满足功能,集成性能等,根据软件需求规范的要求进行的,目的是要确认系统满足需求的要求; 4.验收:一般和系统测试的范围一样,不过是由用户或者用户委托第3方来完成; 3.2.我们都学了哪些用力的设计方法简单的介绍一下,安装TD过程中若出现宕机的问题(如RPC服务出错)应该如何解决问题? 1.等价类法:是非常典型的黑盒测试。把所有可能的输入数据,即程序的输入域划分成若干部分。从每个子集中选取少量具有代表性的数据作为测试用例分为有效等价类和无效等价类两种。划分等价类的标准是完备测试,避免冗余。 2.边界值法:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法是作为对等价类划分法的补充,其测试的用例来自等价类的边界。 3.场景法:软件是用事件触发来控制流程,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。要区分出基本流和备选流。 4..因果图法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。背景:等价类与边界值没有考虑相互之间的关系。需要用因果图法来补充。四种关系恒等、非、或、与。对于输入条件有4中约束E约束、I约束、R约束、O约束。对于输入条件有M约束。 5.随即测试:使用随机数生成器选取测试用例值,一般用于抽查,复查等情况,是对前面方法的补充。 6.错误推测:时凭借经验和直觉来推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。 错误推测法和随机测试法不能为主,只是有效的补充 4.集成测试的方法与策略有那些阐述增量式测试方法与非增量式测试方法的优点缺点,没有发现错误的测试有用吗?一个软件产品测试结果时没有发现任何新的缺陷,这样软件质量一定好吗?有了单元测试为何还要集成测试? 4.1.集成测试的方法与策略有那些阐述增量式测试方法与非增量式测试方法的优点缺点,没有发现错误的测试有用吗? 1、 非增量式集成:一步到位进行测试,按结构模式组成整体进行测试 2、 增量式集成:自顶向下增量,底向上增量 策略:深度优先,广度优先。 优缺点 1.采用增量式测试,依次将模块加入到系统,并测试新合并后的系统,这个过程以一个逻辑/功能顺序重复进行,直至所有模块被功能集成进来,形成完整的系统为止。在这个过程中,容易确定缺陷的所在,但实施起来,重复信息较多,时间较长。 2.非增量式测试一次测试整个系统,时间短,但发现问题后不易确定位置。 没有发现错误的测试是否有用需要分情况。如果本次测试设计了完全覆盖需求的测试用例,正确的执行了测试计划,完成了测试的目标却没有发现错误,它就证明了系统在测试的情况下能正确的进行工作。但如果测试用例没有完全覆盖需求,或执行方式错误等问题使测试没有发现错误,本次测试的功用就会大大降低。 4.2.一个软件产品测试结果时没有发现任何新的缺陷,这样软件质量一定好吗? 测试结束时没有发现任何新的缺陷,这样的软件质量并不一定好。 因为首先,没有发现新的缺陷,可能软件原先发现的缺陷数量很多,而且尚未被修复,或者是重大功能点出现了问题。这样的软件质量肯定不行。其次,测试本身的质量是否有保证也是对软件质量评价的一个标准。如果软件本身的需求规格说明书不详细,制定出来的测试计划,用例等都不完善,或者可能出现的执行方面的错误等都会造成软件可能隐藏的问题。 4.3.有了单元测试为何还要集成测试? 1.单元测试:主要测试模块在语法,格式,逻辑上的错误 目的:测试最小单元-模块,保证每个模块正确,对最小模块进行独立的测试。 主要任务。 模块接口的测试:保证进出单元模块的数据流正确。 模块局部数据结构测试:保证临时存储的数据在算法执行过程中的完整性。 模块中所有独立执行路径:保证每个语句都执行一次。 各种错误处理测试:对所有处理错误的路径进行测试。 模块边界条件测试:采用边界值分析技术,保证模块在边界条件和极限情况下正常执行。 2.集成测试:将经过单元测试的模块按设计要求连接起来,组成所规定的软件系统的过程。 通过测试发现与模块接口有关的问题。应当避免一次性集成,而采用增量集成。 强调全路径的覆盖; 主要任务:发现与接口有关的各种错误 1)将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失。 2)将各个子功能组合起来,检查是否达到了预期的要求。 3)验证一个模块的功能是否会对另一个模块的功能产生不利影响。 4)全局数据结构是否有问题,会不会被异常修改。 5)单个模块的误差积累起来,是否会被放大,从而达到不可接受的程度。 从根本目的到主要任务都有差别,两者相互间不可取代。 5.什么是V模型他有何含义?说出白盒测试与黑盒测试的区别,动态测试与静态测试的区别?有了黑盒为和还要白盒?测试ZERO-BUG是测试的目的吗?通常测试要达到什么样的目标? 5.1.什么是V模型他有何含义? V模型是反映了测试活动与分析设计活动的关系,从左到右描述了基本的开发过程和测试行为,非常明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系,他的含义指出单元测试和集成测试应检验测试程序的执行是否满足软件设计的要求,系统测试应检验系统功能、性能的质量特性是否达到系统要求的指标,验收测试确定软件的实现是否满足用户需要或合同的要求。 5.2.说出白盒测试与黑盒测试的区别,动态测试与静态测试的区别?有了黑盒为和还要白盒? 测试按透明度划分:黑盒测试,白盒测试,灰盒测试。 1.黑盒测试:只注重输入输出,不管里边的实际情况,将整个系统当成一个黑盒子。 2.白盒测试:更注重内部的逻辑结构分支。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明说的规定正常执行,按照程序内部的结构测试程序。 1.静态测试:不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括代码检查、程序结构分析、代码质量度量等。 2.动态测试:运行程序,输入各种值来进行测试。 5.3.有了黑盒为和还要白盒? 黑盒测试只限于对软件功能上的测试,他只注重输出,不去看里面的内容,具体的代码,只看着个软件能不能实现需求的功能。而白盒测试是更注重逻辑结构,他是通过测试来验证产品内部动作是否正常执行,按照程序内部的结构测试程序。简单的说就是看程序的原文件原代码来测试。 5.4.测试ZERO-BUG是测试的目的吗?通常测试要达到什么样的目标? 软件不可能达到零的BUG,软件测试即使有保证也不能保证他100%的没问题,测试只能够证明缺陷存在,不能够证明缺陷不存在,彻底的测试是难以实现的。软件测试的目的是发现尽可能多的缺陷,并通过修改把缺陷解决掉,从而提高软件产品的质量。 通过测试我们要达到什么样的目标: 1.确保软件达到其承诺或公布的功能,并且所有用户可以访问到的功能都有明确的说明。 2.确保软件满足性能和效益的要求。 3.确保软件是健壮(稳定性)和适应用户环境的。 6.你认为什么是一个好的测试人员应具有的素质?测试时有那些基本的原则?如果有人说已经过了测试的软件不应该在出错,你认为这话是对的吗?有了系统测试为何还要验收测试?简单的介绍测试计划和报告主要包括那些内容,每部分的用途是什么? 6.1.你认为什么是一个好的测试人员应具有的素质? 测试人员的基本素质:沟通能力、技术能力、移情能力、相关人员的协调、自信心、外交能力、幽默感、很强的记忆力、耐心、怀疑精神、自我督促、洞察力。 6.2.测试时有哪些基本的原则? 1.所有的测试都应该遵循客户的要求 2.测试开始前都应该有计划,尽可能把时间安排的宽松些 3.测试应该从小规模开始,逐步向大规模进行 4.穷举测试是不可能的,应该有条件的进行舍取 5.应该尽可能采用第3方测试 6.不充分的测试是不付责任的,过分的测试是一种资源的浪费,也是不付责任的表现 7.应该把尽早和不断的测试当作座右铭 8.程序员除了自测以外应该避免自己测试自己的程序 9.设计用例的时候应该涉及合法、不合法以及边界的条件, 10.特殊情况下还要创造一些极端和意外的情况。 11.一定要注意测试中错误集中发生的现象 12.对测试的结果有一个确认的过程 13.对错误要有可再现性 14.一定要妥善保存测试过程中的文档 6.3.如果有人说已经过了测试的软件不应该在出错,你认为这话是对的吗? 经过了测试的软件不应该再出错,这是错误的。软件的质量要靠不断改进软件开发过程来保证,软件测试只是一种有效提高软件质量的手段。但无法保证100%的没有问题,软件问题是不可避免的。在分析设计实现的测试能够发现80%的错误,在系统测试能够发现其余的80%,剩下的错误,只有可能在用户大范围长时间执行来发现。 6.4.有了系统测试为何还要验收测试? 1.系统:一般由开发商来做,检验系统是否满足功能,集成性能等,根据软件需求规范的要求进行的,目的是要确认系统满足需求规格说明书的要求。 2.验收:一般和系统测试的范围一样,不过是由用户或者用户委托第3方来完成,目的是验证系统满足用户需求的要求。 两者是不可替代的。 6.5.简单的介绍测试计划和报告主要包括那些内容,每部分的用途是什么? 测试计划包括测试目的,测试策略,测试资源(人力,物力),测试阶段以及里程碑,定义各种文档的评审级别及评审时间。具体内容包括: 1.对测试范围进行确定;2.风险的确定 如需求的不明确;3.资源的规划(人力,物力);4.时间表的制定和人员的安排;5.测试完成标准是什么;6.进度和风险的控制;7.测试数据的准备的相关的方案;8.测试工具和方法的选择;9.影响资源分配的特殊考虑; --测试计划标识符;介绍;目的;背景;范围 --测试项:纲要的描述对哪些具体的东西进行测试如规格说明书,系统等需要测试的功能和不需要测试的功能; --策略:主要是描述测试活动中的总体方法和目标是重点所在;要使用的测试方法;要确定质量风险;测试完成或者测试成功所采用的评价标准;有关资源的要求和涉及进度的特殊考虑测试类型;评估标准以及测试方法;确定资源; --测试项通过/失败的标准:通过测试用例所占的百分比;缺陷的数量、严重程度和分布情况;测试用例覆盖;用户测试的成功结论;文档的完整性;性能标准 --测试中断和恢复的规定:关键路径上的未完成任务;大量的缺陷;严重的缺陷;不完整的测试环境;资源短缺 --测试完成后应提交的材料 --测试任务 --环境需求:包括软硬件资源和人力资源 --测试人员的工作职责 --人员安排与培训需求(可省) --进度表 --潜在的问题和风险 --审批 --词汇表 报告: 1.概述:主要时描写本次测试的背景和意义。 2.测试对象:被测产品的信息。 3.组织架构:人员配置,参与人员等方面。 4.测试总结:简单描述本次测试的过程;测试方法及工具;测试过程;测试时间安排;测试案例的执行情况;测试问题的情况:发现问题及解决情况;测试分析:覆盖率分析、测试问题分析(分类,汇总,解决情况分析,遗留问题分析;遗留问题的解决方案和计划,测试结论)。 5.测试结论:正确,简捷。 7.测试的分类有哪些?我们报告一个缺陷时有哪些原则?测试中确认和验证分别指什么? 7.1.测试的分类有哪些? 1.按阶段划分:单元测试,集成测试,系统测试,验收测试。 单元测试:验证最小单元,保证每个最小单元都是正确的。 集成测试(接口测试):验证几个模块之间的结合会不会存在问题。 系统测试:将被测系统放入到软硬件环境中整个来测试,不光是功能上的,还包括非功能的。 验收测试:由用户来组织的。用户准备接受这个系统之前的最后一次测试,非常正式。 2.按目的划分:功能测试,非功能测试。 功能:检验这个功能能不能用 非功能:一般在功能测试后才进行,有这方面的要求。比如:性能,容量,安全,界面,易用性,安装/卸载,本地化,压力,可靠性。 3.按透明度划分:黑盒测试,白盒测试,灰盒测试。 黑盒测试:只注重输入输出,不管里边的实际情况,将整个系统当成一个黑盒子。 白盒测试:更注重内部的逻辑结构分支。白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明说的规定正常执行,按照程序内部的结构测试程序。 灰盒测试:介于二者之间,既关心输入输出,也关心内部逻辑。 4.按执行方式分:静态测试,动态测试 静态测试:不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括代码检查、程序结构分析、代码质量度量等。 动态测试:运行程序,输入各种值来进行测试。 7.2.我们报告一个缺陷时有哪些原则? 1.尽快报告软件缺陷 2.有效描述软件缺陷,有效描述软件缺陷要求如下: A、简单短小 B、明确指明错误类型 C、单一 D、使用IT行业专用表达术语和表达方法 3.在报告软件缺陷时不作任何评价 4.补充和完善软件缺陷报告 7.3.测试中确认和验证分别指什么? 测试的手段:验证,确认。 验证指:保证软件正确实现某一特定功能的一系列活动。 确认指:保证软件的实现满足了用户需求的一系列活动。 8.什么是Alpha 测试与Beta测试?讲讲你将如何进行安装/卸载测试,做集成测试时有哪些方法与策略,你会如何选择? 8.1.什么是Alpha 测试与Beta测试? alpha测试 测试在开发现场,在受控的环境中进行 beta测试 一个或者很多个最终用户对系统的测试,开发者通常不在现场,用户记录问题报告给开发者开发者进行最后的修改,并开始准备最终的软件 8.2.讲讲你将如何进行安装/卸载测试,做集成测试时有哪些方法与策略,你会如何选择? 首先要建立一个测试环境安装测试软件需要IIS服务要安装适当的操作系统比如WINDOWS 2000系统,一般采用虚拟机在虚拟机上进行测试环境的正确安装,然后测试结束后是否可以正常卸载删除。 1.非增量式集成:一步到位进行测试,按结构模式组成整体进行测试 2.增量式集成:自顶向下增量和自底向上增量 策略:深度优先,广度优先。 遵循方法: 1.确认组成完整系统的模块之间的关系; 2.评审模块之间的交互和通信需求,确认出模块间的接口; 3.使用上述信息产生一套测试用例; 4.采用增量式测试,依次将模块加入到系统,并测试新合并后的系统,这个过程以一个逻辑/功能顺序重复进行,直至所有模块被功能集成进来,形成完整的系统为止; 根据测试阶段来选择非增量式集成:一步到位进行测试。 按结构模式组成整体进行测试或者增量式集成:自顶向下增量或自底向上增量。 9.什么叫回归测试?我们做回归测试时采取用例的策略有哪些?测试用例的复用有什么意义?为什么需要写测试用例,直接测试不行吗? 9.1.什么叫回归测试?我们做回归测试时采取用例的策略有哪些? 定义:程序被修改或增加新功能,重新测试检查被发现缺陷是否被改正,并所修改没有引发新问题。 --基于剖面选择测试:测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些针对最重要或最频繁使用功能的测试用例。 --重新测试修改的部分:当测试者对修改的局部化有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。 9.2.测试用例的复用有什么意义? 1.减轻测试用例开发的工作量(如:一个人将登陆系统用例设计好以后,其他人在设计某个业务需要登陆操作步骤的时候,就不用在单独设计,只要引用登陆系统这个用例就可以了); 2.减轻测试用例的维护工作量(如:设计人员离职,不能复用的测试用例需要花费时间和精力重新设计。还有不能复用的用例在执行的时候可能需要重新设计,不明用例内容不知如何执行); 3.易于建设自动化测试; 4.易于进行测试用例的评审,看不懂的测试用例时无法评审的; 9.3.为什么需要写测试用例,直接测试不行吗? 测试用例的本质就是针对要测试内容确定一组测试用例。 1.在开始实施测试之前设计好测试用例,可以避免盲目测试并提供测试效果; 2.测试用例的使用令软件测试的实施重点突出、目的明确; 3.在软件版本更新后只需修复少部分测试用例便可展开测试工作,降低工作强度,缩短项目周期; 4.功能模块通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断提高; 10.只要符合5个规则中的一个,就可以叫做软件缺陷,请讲讲这5个规则。为什么有些缺陷会不被修复或推迟修复,如何进行测试的评估?自动化测试有何优势?它能不能完全替代手工测试? 10.1.只要符合5个规则中的一个,就可以叫做软件缺陷,请讲讲这5个规则? 1.软件未达到软件规格说明书规定的功能; 2.软件超出软件规格说明书指明的范围; 3.软件未达到软件规格说明书指出应该达到的目标; 4.软件运行出现错误; 5.软件测试人员认为软件难于理解,不易使用,运行速度慢,或者是最终用户认为软件使用效果不好; 10.2.为什么有些缺陷会不被修复或推迟修复,如何进行测试的评估? 软件测试的主要评测方法包括覆盖评测和质量评测。 --覆盖评测分为:计划需求覆盖率,已执行的测试覆盖率,成功的测试覆盖率,基于代码的测试覆盖率。 1.计划需求覆盖率=Tp/Rft%(计划需求数/测试需求总数) 2.已执行的测试覆盖率=Ti/Rft%(已执行的测试用例数/测试需求总数) 3.成功的测试覆盖率=Ts/Rft%(完成成功没有缺陷的测试用例数/测试需求总数) 4.基于代码的测试覆盖率=Ta/Tiic%(代码语句、代码分支、代码路径、数据状态判定点、数据元素名表示已执行的项目数/代码中的项目总数) --质量评测:测试评测的评估提供对测试完全程度的评测,在测试过程中已发现缺陷的评估提供了最佳的软件测试质量指标。 --对缺陷指标的分析就是对软件质量的评测过程: 缺陷分析,主要的缺陷参数有4个 1.状态:缺陷的当前状态(打开的、正在修复的、关闭的); 2.优先级:必要处理和解决缺陷的相对重要性; 3.严重性:缺陷的相关影响,对最终用户、组织或第三方的影响等; 4.起源:导致缺陷的起源故障及其位置,或排除需要修复的构件; 缺陷分析通常用四类形式的度量提供缺陷评测: 1.缺陷发现率:将发现的缺陷数量作为时间的函数来评测,即创建缺陷趋势图; 2.缺陷潜伏期:也称为阶段潜伏期,是种特殊类型的缺陷分布度量; 3.缺陷密度=缺陷数量*加权值/功能数量:以平均值估算法计算出软件缺陷分布密度值; 4.缺陷消耗(成本)=缺陷数量*加权值/缺陷总数 10.3.自动化测试有何优势?它能不能完全替代手工测试? 对程序的回归测试更方便;可以运行更多更繁琐的测试;可以执行一些手工测试困难或不可能进行的测试;更好的利用资源;测试具有一致性和重复性;测试的复用性;增加软件信用度; 不能取代手工测试;手工测试比自动化测试发现的缺陷更多;对测试的质量依赖性极大;测试自动化不能提高有效性;测试自动化可能制约软件开发;工具本身并无想象力; 11.测试需求的优先级别如何划分?测试用例的优先级别如何划分? 如何准备测试数据?测试与调试的区别?缺陷包含哪些内容,这些内容的意义是什么?缺陷的严重级别和优先级别如何划分? 11.1.测试需求的优先级别如何划分? 根据业务风险级别来划分的: 高级风险(A风险) 中级风险(B风险) 低级风险(C风险) 功能类型 数据的计算/验证 例子:利息的计算 数据的改变 例子:修改客户信息 数据的显示 例子:显示客户信息 业务影响 合法性 例子:违反权限管理机制 错误信息 例子:普通信息 无 使用频度 非常频繁 例子:开户每天都有N次 经常 例子:销户 极少 例子:挂失 受影响客户的数量 大量/非常重要 例子:取款/VIP客户 组/群 例子:网上交电话费 一些 例子:营业员报表 业务风险评估需要针对被测软件的所有业务功能; 评估标准应该在整个业务的范围内是唯一的,才能在企业范围内使不同的评估结果具有可比性; 四个标准应用与每个业务功能; ——每个业务功能进行业务评估标准的原则: 如果业务功能涉及到2个A或者1个A与至少2个B,那么业务功能的风险级别为A; 如果业务功能涉及到至少2个B或者1个A与1个B,那么业务功能的风险级别为B; 其他情况,该业务功能风险级别为C; 11.2.测试用例的优先级别如何划分? 所需测试需求类别 测试用例类型 测试用例优先级 1级-高级质量保证 逻辑覆盖 1级 差异覆盖 4级 2级-中级质量保证 逻辑覆盖 2级 差异覆盖 5级 3级-低级质量保证 逻辑覆盖 3级 差异覆盖 6级 11.3.如何准备测试数据? --测试数据的获取: 用户数据-从最终用户处获得实际数据;手动-对测试数据进行手动的添加;自动-利用自动测试工具进行自动的数据添加;编码-利用编码接口通过编制程序来获得数据;随机生成-任意的向软件中输入数据; --如何准备测试数据: 1.测试组必须考虑支持测试工作所需的数据库记录的数量和规模; 2.测试人员必须研究数据值的变化; 3.测试数据的范围与数据的精确度、相关程序和完成程序之间是有关联的,在执行期间要关注测试数据的完整性; 4.创建数据集应该能够反应应用程序所在的领域的特定“条件”,也就是说特定模式的测试数据并不需要等到特定时间之后才能通过执行待定的操作获得; 5.测试人员必须设计获得、生产或开发测试数据的方法。 11.4.测试与调试的区别? 具体有以下几点区别: 1.软件测试是找出软件已经存在的错误。而调试是定位错误,修改程序以修正错误。 2.软件测试从一个已知的条件开始,有预知的结局。而调试从未知的条件开始,其结局不可预知。 3.软件测试可以计划,可以预先制定测试用例和过程,工作进度可以度量。而调试不能计划,进度不可度量。 4.软件测试的对像可以是文档和代码,而调试的对像只能是代码。 5.软件测试是有目的性的,由测试人员完成,为了程序可完成指定功能。而调试是随机性的,由程序员完成,为了程序可运行。 6.调试是在测试之后,在方法、思路、策略上都有所不同。 11.5.缺陷包含哪些内容,这些内容的意义是什么? 1.实际修复时间—指明修复缺陷的时间天数; 2.分配给—指定修复缺陷人员的用户名; 3.关闭于版本—指明在其中关闭缺陷的应用程序的版本; 4.关闭日期—指明缺陷的关闭日期; 5.注释—显示有关缺陷的注释; 6.缺陷ID—缺陷的位置数字ID; 7.描述—详细描述缺陷; 8.检测者—找到缺陷的人员的用户名; 9.检测于版本—指明其中发生缺陷的应用程序的版本; 10.检测日期—检测到缺陷的日期; 11.估计修复时间—指明修复缺陷所需的估计天数; 12.修改日期—指明上次更改该缺陷的时间; 13.计划关闭版本—指明计划修复缺陷的版本; 14.优先级—缺陷的优先级,范围从低优先级(级别1)到紧急优先级(级别5); 15.项目—发生缺陷的项目的名称; 16.可重现—指明如果条件和检测到缺陷时的条件相同,是否可以重新创建缺陷; 17.严重性—缺陷的严重性,范围从低(级别1)到紧急(级别5); 18.状态—缺陷当前的状态。默认情况下,状态为“新”。缺陷状态可以是以下之一:已关闭、已修复、新、打开、以否决、重新打开。 19.主题—指明主题文件夹; 20.概要—缺陷的简短概要; 11.6.缺陷的严重级别和优先级别如何划分? 严重性:表示软件缺陷的恶劣程度,反应其对产品和用户的影响; 优先级:修复缺陷的重要程度和应该何时修复; --缺陷严重性级别: A类—严重错误。 死机或非法退出;死循环;数据库发生死锁;因错误导致的程序中断;功能错误;与数据库连接错误;数据通讯错误; B类—较严重错误。 程序错误;程序接口错误;数据库表、业务、规则、缺省值未加完整性等约束条件; C类—般性错误。 操作界面错误;打印内容格式错误;简单的输入限制未放在前台进行控制;删除操作未给出提示;数据库表中有过多空字段; D类—较小错误。 操作界面不规范;辅助说明描述说明不清楚;输入输出不规范;常操作(复杂操作)没有提示;提示窗口文字未采用行业术语;可输入区域与只读区域没有明显的标志; E类—测试建议。 --缺陷优先级: 最高优先级:关键性错误,必须立即修复; 高优先级:在发布或上线前必须修复; 中优先级:时间允许应该修复; 低优先级:可能修复,但也可能发布软件;

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档