软件测试技术TestingANDDeveloping软件测试计划广东岭南职业技术学院本课程的主要内容如何制定软件测试计划软件测试计划的要素软件测试计划的原则软件测试计划的目的使用5W1H方法制定测试计划测试计划实战练习本章目标知道如何制定软件测试计划(重点)掌握软件测试计划包含的要素(重点)能够根据模板编写软件测试计划(重点)软件测试过程中的主要文挡什么是测试计划•《ANSI/IEEE软件测试文档标准829-1983》将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。”为什么要制定测试计划软件测试是有计划、有组织和有系统的软件质量保证活动,而不是随意地、松散地、杂乱地实施过程。为了规范软件测试内容、方法和过程,在对软件进行测试之前,必须创建测试计划。–领导能够根据测试计划做宏观调控,进行相应资源配置等–测试人员能够了解整个项目测试情况,以及项目测试不同阶段的所要进行的工作–便于其他人员了解测试人员的工作内容,进行有关配合工作如何看待测试计划•一个好的计划可以保证项目50%的成功,另50%靠有效的执行•测试计划只是一个文件•不要单纯的去编制一个测试计划,要计划测试过程,不要为了计划而计划•测试计划是指导要做什么的所有想法。•测试计划必须要起到协调所有与测试相关人员的作用,包括测试工程师、客户参与人员、项目参与人员测试计划的作用•避免测试的“事件驱动”•使测试工作和整个开发工作融合起来•资源和变更事先作为一个可控制的风险测试计划的制定过程•评估项目计划和状态•组建测试小组•了解项目风险•制定测试计划•审查测试计划测试计划的原则•尽早开始•灵活变更•合理评审•简洁易读如何编制测试计划•根据测试策略,选定测试计划包含的测试范围•划分测试阶段,明确测试方法,确定测试任务•确定测试过程监控方法•评估测试工作量•确定时间并生成进度计划•评估进度计划风险确定测试任务•根据本阶段测试需求,细化测试任务•划分任务优先级,和主要任务关联关系•确定辅助任务清单(如培训等)•确定资源情况•形成WBS(工作任务细分)图评估测试工作量•目前没有任何一种方法能准确的评估出软件测试工作的工作量,要想更有效的做出估算,必须持之以恒的统计和分析历史数据•主要的估算方法为:–分析以前的同类项目–同行专家判断–分解细化项目–经验主意预估模型(LOC、FP等)确定时间进度计划•收集与进度相关的信息:总体工作量估算、人员数量、关键资源、项目时间安排等•确定各阶段任务安排和资源分配,确定里程碑•依据项目总体时间安排,形成进度计划使用5W1H方法制定测试计划5W1H方法与三阶段的关系What•做什么类型的测试?•测试的目的是什么?•被测系统的特点是什么?•系统运行的环境是什么样的?Why•为什么要做这种类型的测试?•为什么要做性能测试?•为什么在这个时候做性能测试?Who•系统的最终用户是谁?•谁来做测试的设计?•谁来做测试的执行?When•什么时候开始做测试?•什么时候完成方案设计?•什么时候完成测试?•什么时候进行测试交流?•什么时候提交测试报告?Where•在哪里进行测试?•测试系统的哪个部分?•测试到哪里算测试完成?How•如何进行测试?•如何组织人员?•如何规避项目风险?•如何控制项目进度?•如何保证项目质量?测试计划应该包含哪些内容•软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。•借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。测试计划应该包含哪些内容•确定测试的目标、方法、环境、工具等•功能性需求–需求功能点•非功能性需求–性能指标–可靠性/稳定性指标–安全性指标•为达到测试目标采用的方法•针对测试需求采用的测试方法测试计划应该包含哪些内容•实施测试的阶段–需要经历哪些测试阶段–在特定的测试阶段应该重点注意哪些测试类型•确定时间段–为每个测试目标规定合理的测试起始/中止时间–通常情况下,功能性需求和非功能性需求的测试存在先后顺序,不能并行测试计划应该包含哪些内容•确定资源–测试人力资源–测试非人力资源(关键计算机,工具,环境等)•自动测试分析(如采用自动测试技术)–解决什么问题–花费多少成本–提高多少效率测试计划应该包含哪些内容•确定测试过程监控方法–监控内容:测试工作进展/缺陷分布/质量评估–监控间隔:每天/周/月–监控人员/报告原则•风险分析–对测试计划中所有要执行的内容进行潜在的风–险分析并给出规避措施–对测试策略所述的测试工作存在影响的特殊事项软件测试计划的输入和输出•软件测试计划工作的输入是:软件测试任务书(或合同)和被测软件的需求规格说明书。他们是开展软件测试计划的基础和依据。•软件测试工作的输出是:软件测试计划制定测试计划阶段的主要任务•软件测试计划要从技术和管理两个方面开展计划工作,这个阶段要完成的主要任务有:1.对需求规格说明书仔细研究2.确定软件测试的范围及技术要求3.确定软件测试的策略4.分析测试需求,确定被测试软件的功能和特性5.确定软件测试的资源、人员、进度要求6.确定软件测试过程中的预期风险7.制定软件测试的软件质量保证计划8.制定软件测试的配置管理计划什么时候制定测试计划•测试计划是在需求整理完成,和开发计划一起制定的一份计划书,它从属于项目计划中其中的一个计划。谁负责制定测试计划•测试计划应该由项目测试负责人或测试组长,亦或具有丰富经验的测试人员来进行编写,测试计划由测试人员来实施软件测试计划过程跟踪•软件测试计划评审•测试计划编写完成后,一般要对测试计划的正确性、全面性以及可行性等进行评审,评审人员的组成包括软件开发人员、测试人员、测试负责人以及其他有关项目负责人。•监督测试过程中计划的执行情况•在制定测试计划的同时,应该制定一个计划跟踪表或者作一个进度表,让大家明明白白这个阶段的工作重点是什么,什么时候应该提交什么样的产品出来,到时候,你只需要拿这个进度表和大家坐在一切对一下,看看我们在计划制定的进度是否合理,如果不合理,进行调整,负责,按照原来的执行。(可使用Project)•在计划执行过程中,一定要跟踪计划没有完成的原因:1:工作量分配的问题;2:公司的公事的耽误;3:自己私人事情的耽误;4:本身能力问题;5:本身工作态度问题;6:对相关工作的影响编写测试计划注意事项•测试计划不一定要尽善尽美,但一定要切合实际,要根据项目特点、公司实际情况来编制,不能脱离实际情况;•测试计划一旦制定下来,并不就是一成不变的,世界万事万物时时刻刻都在变化,软件需求、软件开发、人员流动等都在时刻发生着变化,测试计划也要根据实际情况的变化而不断进行调整,以满足实际测试要求.•测试计划要能从宏观上反映项目的测试任务、测试阶段、资源需求等,不一定要太过详细.测试计划模板介绍thend心怀感恩,路越走越宽