• 1. 第 2 章 软件测试计划2.1 软件测试计划的作用 2.2 软件测试计划的内容 2.3 如何制订软件测试计划 2.4 制定测试计划时面对的问题 2.5 制定测试计划的原则 2.6 衡量一份好的测试计划书的标准1
  • 2. 软件测试计划的几个问题为什么要编写测试计划? 什么时间开始编写测试计划? 由谁来编写测试计划? 测试计划编写的依据是什么? 测试计划编写有哪些要素? 测试计划编写完后还会更改? 2
  • 3. 2.0 软件测试计划书的定义 软件测试计划书是一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排、以及任何偶发计划的风险。3
  • 4. 2.1 软件测试计划的作用 为测试过程提供指导 - 测试目标 - 测试内容 - 测试方法 - 测试时间周期 及早发现和修正SRS的问题 改善测试任务与测试过程的关系 提高测试的组织、规划和管理能力4
  • 5. 2.2 软件测试计划的内容 测试计划就是描述所有要完成的测试工作,一般均包括被测试项目的背景、目标、范围、方式、资源、进度安排、测试人员组织以及与测试有关的风险等方面。 制定测试计划时,由于各软件公司的背景不同,测试计划文档也略有差异。 5
  • 6. 6
  • 7. 1.测试计划标识符 标识符唯一,与软件版本有关。2.简要介绍 介绍被测软件的基本情况和测试范围的概括性描述。 3.测试项目 列出所有测试单项、外部条件对测试特性的影响7
  • 8. 4.测试对象 列出待测的单项功能及功能组合 5 .不需要测试的功能 列出不测试的单项功能及组合功能并说明不予测试的理由 6.测试方法(策略) 测试策略是测试计划的核心,描述测试小组用于测试整体和每个阶段的方法。8
  • 9. 7.测试项通过/失败的标准 测试要求不同,标准也不同。常见的通过/失败标准有:  通过测试用例所占的百分比;  缺陷的密度和严重程度;  测试用例覆盖;  性能标准。9
  • 10. 8.测试中断和恢复的规定 常用的测试中断标准如下:  关键路径上存在未完成任务  大量的或严重的缺陷  需求和设计发生变化  不完整的测试环境  资源短缺10
  • 11. 9.测试完成所提交的材料 10.测试任务 给出测试工作所需完成的一系列任务,还列举了所有任务之间的依赖关系和可能需要的特殊技能。 11
  • 12. 任务标识任务描述责任人优先级依赖关系IT-TASK-001测试计划写作测试经理高IT-TASK-003测试计划评审SQA中IT-TASK-001IT-TASK-005测试计划修改测试经理中IT-TASK-00312
  • 13. 11.测试所需的资源 测试所需的软硬件、文档、人力、 培训和技术资源等。做好资源分析,有助于成本的估算和后期测试环境的搭建。12.测试人员的工作职责 确定责任,哪类人员负责哪些任务 13.人员安排与培训需求 明确任务,负责测试哪些部分,有助于用例开发。13
  • 14. 14.测试进度表 列出测试过程中重要日程的安排,便于管理测试过程。14
  • 15. 15.风险及应急措施 列出测试过程中可能存在的一些风险和不利因素并给出规避方案。 示例16.审批 最后,一般要对测试计划的正确性、全面性以及可行性等进行评审,审批人要签署自己的名字和日期,还应签署是否建议通过评审的意见。详实的模板 编写指南 简化的模板15
  • 16. 风险编号风险描述风险发生可能性(高、中、低)风险对测试或项目的影响(高、中、低)责任人规避方法CSFX1需求、设计变更频繁导致测试依据失效高高需求分析人员充分了解用户需求,确保主要需求不变更CSFX2测试人员对于需求理解不充分中高测试人员学习相关的业务知识;查看访谈记录;与需求分析人员充分交流,深入了解需求分析书的每章节CSFX3测试资源不充分、不能如期到位低中测试组长合理安排,提前做好分配CSFX4开发人员是否能够按计划及时提供可以测试的版本中高项目经理按计划严格控制开发进度CSFX5BUG的生命周期过长高高项目经理及时分配修复任务,并检查监督16
  • 17. 2.3 如何制订软件测试计划软件测试计划的几个活动: 1.测试需求和测试范围的分析 2.工作量估计 3.资源分配和进度安排 4.风险分析 5.测试策略的制定 6.编写计划书 7.审查计划书17
  • 18. 1.测试需求和测试范围的分析 测试需求所确定的是测试的内容,即测试的具体对象。测试需求主要来源于需求规格说明书SRS,在SRS中每一个功能描述将派生一个或多个测试需求,性能描述、安全性描述等非功能性描述也将派生出一个或多个测试需求。 18
  • 19. 在确定测试范围时,要考虑的因素如下: 优先级最高的需求功能 新增加的功能和编码改动较大的已有功能 容易出现问题的部分功能 过去测试不够充分的地方 经常被用户使用的功能和配置(占20%)19
  • 20. 2.工作量估计 在估计工作量时,可有如下方法: 工作分解结构表WBS:项目-->阶段-->任务-->子任务 ∑(每个测试的时间*每个需求的测试的数目*测试需求的的数目)一个可操作的简单方法:根据上一阶段执行测试活动的时间进行换算,换算方法是与上一阶段活动时间比为1:1.1~1.5左右。20
  • 21. 另一个简单方法是经验评估 - 计算系统测试用例的页数   需求页数:系统测试用例页数 ≈ 1:1  - 计算编写系统测试用例时间   编写系统测试用例时间 ≈ 系统测试用例页数×1小时  - 计算执行系统测试用例时间   编写系统用例用时:执行系统测试用时 ≈ 1:2  - 计算回归测试包含的时间   系统测试用时:回归测试用时≈ 2:1 21
  • 22. 3.资源分配和进度安排 人力资源职位姓名特殊责任/说明测试经理  测试工程师 设计/开发(可以多人)  测试工程师 测试执行(可以多人)  测试系统管理员  22
  • 23. 系统资源系统名称/类型数据库服务器 网络/子网 服务器名称 数据库名称    SQA 测试存储库 网络/子网 服务器名称   客户测试机 包括专门的配置需求列表 测试开发的PC机列表23
  • 24. 进度安排任务相关工作量(天)整个SQA过程38 1测试计划12 1.1确定项目1 1.2决定测试需求  1.3估计工作量  1.4确定资源  1.5调度测试活动  1.6定义测试策略  1.7生成测试计划文档 24
  • 25. 任务相关工作量(天)2测试设计7 2.1分析测试需求  2.2指定测试过程  2.3指定测试用例  2.4查看测试需求的覆盖率 3测试开发12 3.1建立测试开发环境  3.2录制和回放原型过程  3.3开发测试过程  3.4测试和调试测试过程  3.5修改测试过程  3.6建立外部数据集合  3.7重新测试并调试测试过程 25
  • 26. 任务相关工作量(天)4测试执行6 4.1设置测试系统  4.2执行测试  4.3验证测试结果  4.4调查突发结果 (unexpected result)  4.5生成缺陷日记 5测试评估1 5.1回顾测试日记  5.2评估测试需求的覆盖率  5.3评估缺陷  5.4决定是否达到测试完成的标准 26
  • 27. 4.风险分析 风险分析技术就是一种木栅栏,能够挡住石头,但不会夹住沙子。 软件测试风险就是要将测试范围、测试过程中的风险识别出来,确定哪些是可避免的,哪些是不可避免的,对可避免的风险要尽量采取措施去避免。 风险识别的有效方法是建立风险项目检查表,按风险内容进行逐项检查、逐个确认。 风险处理的原则:回避、转移和降低27
  • 28. 5.测试策略的制定 测试策略用于说明某项特定测试工作的一般方法和目标。测试策略主要针对测试需求确定测试类型及如何实施测试的方法和技术。 一个好的测试策略应该包括下列内容: 要实施的测试类型和测试的目标 采用的技术 用于评估测试结果和测试是否完成的标准 对测试策略所述的测试工作存在影响的特殊事项 28
  • 29. 测试策略举例测试策略项内容测试阶段系统测试测试类型功能测试测试技术75%用SQA Suite自动测试,25%手工测试完成标准95%测试用例通过并且最高级缺陷全部解决特殊考虑测试必须在上午进行29
  • 30. 6.编写计划书 作为一个测试计划来讲,核心的三个要素是时间、资源、范围。除这3项之外,比较重要有策略、风险控制等项目。 测试计划是一个过程,不仅仅是“测试计划书”这样一个文档,测试计划会随着情况的变化不断进行调整,以便于优化资源和进度安排,减少风险,提高测试效率,并及时修改“测试计划书”。 30
  • 31. 7.审查计划书 测试计划的正式评审,项目中的每个人(产品经理、项目经理、开发工程师等)都应当参与。计划的审查是必不可少的,每一个参与者都可能根据其经验及专长提出问题或建议,弥补在测试范围、工作量、风险等各方面的不足,从而进一步完善测试计划。 31
  • 32. 最后,为了做好软件测试计划,需要注意以下几个方面: 认真做好测试资料的搜集整理工作 明确测试的目标,增强测试计划的实用性 坚持“5W1H”规则,明确内容与过程 采用评审和更新机制,保证测试计划满足实际需求32
  • 33. 2.4 制定测试计划时面对的问题制定测试计划时,测试人员可能面对以下问题,必须认真对待,并妥善予以处理。 1.缺乏测试工具 2.培训不够 3.缺乏用户的参与 4.测试时间不足33
  • 34. 2.5 制定测试计划的原则制定测试计划是软件测试中最有挑战性的一个工作,以下原则将有助于制定测试计划工作。 1.制定测试计划应尽早开始 2.保持测试计划的灵活性 3.保持测试计划简洁和易读 4.尽量争取多渠道评审测试计划 5.计算测试计划的投入34
  • 35. 2.6 衡量一份好的测试计划书的标准1.应能有效地引导整个软件测试工作正常运行,并配合编程部门,保证软件质量,按时将产品推出。 2.所提供的方法应能使测试高效地进行,即能在较短的时间内找出尽可能多的软件缺陷。 3.所制定的测试方案尽可能充分利用了公司现有的、可以提供给测试部门的人力/物力资源,而且是可行的。35
  • 36. 4.提供了明确的测试目标、测试的策略、具体步骤及测试标准。 5.既强调测试重点,也重视测试的基本覆盖率。 6.所列举的所有数据都必须是准确的。 7.对测试工作的安排有一定的灵活性,可以应付一些突然的变化情况。36