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